00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_DETAIL_PATCHIMPLIF_H 00013 #define ZYPP_DETAIL_PATCHIMPLIF_H 00014 00015 #include "zypp/detail/ResObjectImplIf.h" 00016 #include "zypp/ResObject.h" 00017 00018 00020 namespace zypp 00021 { 00022 00023 class Patch; 00024 00026 namespace detail 00027 { 00028 00030 // 00031 // CLASS NAME : PatchImplIf 00032 // 00035 class PatchImplIf : public ResObjectImplIf 00036 { 00037 public: 00038 typedef Patch ResType; 00039 00040 public: 00041 typedef std::list<ResObject::Ptr> AtomList; 00042 00043 public: 00045 virtual std::string id() const = 0; 00047 virtual Date timestamp() const = 0; 00049 virtual std::string category() const = 0; 00051 virtual bool reboot_needed() const = 0; 00053 virtual bool affects_pkg_manager() const = 0; 00055 virtual ByteCount size() const; 00056 00058 virtual bool interactive() const = 0; 00060 virtual AtomList all_atoms() const = 0; 00062 virtual AtomList not_installed_atoms() const = 0; 00063 00064 // TODO check necessarity of functions below 00065 virtual void mark_atoms_to_freshen(bool freshen) = 0; 00066 virtual bool any_atom_selected() const = 0; 00067 }; 00069 00071 } // namespace detail 00074 } // namespace zypp 00076 #endif // ZYPP_DETAIL_PATCHIMPLIF_H