8da170f91a2bfc3d42f92da282a754fc51f70d8e
[platform/upstream/libzypp.git] / zypp / Patch.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/Patch.h
10  *
11 */
12 #ifndef ZYPP_PATCH_H
13 #define ZYPP_PATCH_H
14
15 #include <iosfwd>
16
17 #include "zypp/Resolvable.h"
18
19 ///////////////////////////////////////////////////////////////////
20 namespace zypp
21 { /////////////////////////////////////////////////////////////////
22
23   ///////////////////////////////////////////////////////////////////
24   namespace detail
25   { /////////////////////////////////////////////////////////////////
26     DEFINE_PTR_TYPE(PatchImpl)
27     /////////////////////////////////////////////////////////////////
28   } // namespace detail
29   ///////////////////////////////////////////////////////////////////
30   DEFINE_PTR_TYPE(Patch)
31
32   ///////////////////////////////////////////////////////////////////
33   //
34   //    CLASS NAME : Patch
35   //
36   /** */
37   class Patch : public Resolvable
38   {
39   public:
40     /** Default ctor */
41     Patch( detail::PatchImplPtr impl_r );
42     /** Dtor */
43     ~Patch();
44   public:
45     bool interactive ();
46     std::string do_script ();
47     std::string undo_script ();
48     bool undo_available ();
49     std::string category ();
50     std::string description ();
51     std::string summary ();
52     void mark_atoms_to_freshen (bool freshen);
53     bool any_atom_selected ();
54     void select (); // TODO parameter to specify select/unselect or another function
55   private:
56     /** Pointer to implementation */
57     detail::PatchImplPtr _pimpl;
58   };
59
60   /////////////////////////////////////////////////////////////////
61 } // namespace zypp
62 ///////////////////////////////////////////////////////////////////
63 #endif // ZYPP_PATCH_H