00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_DETAIL_PACKAGEIMPLIF_H 00013 #define ZYPP_DETAIL_PACKAGEIMPLIF_H 00014 00015 #include <set> 00016 00017 #include "zypp/detail/ResObjectImplIf.h" 00018 #include "zypp/CheckSum.h" 00019 #include "zypp/Edition.h" 00020 #include "zypp/Arch.h" 00021 #include "zypp/Changelog.h" 00022 #include "zypp/DiskUsage.h" 00023 #include "zypp/source/PackageDelta.h" 00024 00026 namespace zypp 00027 { 00028 00029 class Package; 00030 00032 namespace detail 00033 { 00034 00036 // 00037 // CLASS NAME : PackageImplIf 00038 // 00041 class PackageImplIf : public ResObjectImplIf 00042 { 00043 public: 00044 typedef Package ResType; 00045 00046 public: 00047 typedef packagedelta::BaseVersion BaseVersion; 00048 typedef packagedelta::DeltaRpm DeltaRpm; 00049 typedef packagedelta::PatchRpm PatchRpm; 00050 00051 public: 00054 00055 virtual CheckSum checksum() const PURE_VIRTUAL; 00057 virtual std::string buildhost() const PURE_VIRTUAL; 00059 virtual std::string distribution() const PURE_VIRTUAL; 00061 virtual Label license() const PURE_VIRTUAL; 00063 virtual std::string packager() const PURE_VIRTUAL; 00065 virtual PackageGroup group() const PURE_VIRTUAL; 00067 virtual Changelog changelog() const PURE_VIRTUAL; 00069 virtual Pathname location() const PURE_VIRTUAL; 00072 virtual std::string url() const PURE_VIRTUAL; 00074 virtual std::string os() const PURE_VIRTUAL; 00076 virtual Text prein() const PURE_VIRTUAL; 00078 virtual Text postin() const PURE_VIRTUAL; 00080 virtual Text preun() const PURE_VIRTUAL; 00082 virtual Text postun() const PURE_VIRTUAL; 00084 virtual ByteCount sourcesize() const PURE_VIRTUAL; 00086 virtual DiskUsage diskusage() const PURE_VIRTUAL; 00088 virtual std::list<std::string> authors() const PURE_VIRTUAL; 00090 virtual std::list<std::string> filenames() const PURE_VIRTUAL; 00092 virtual std::list<DeltaRpm> deltaRpms() const PURE_VIRTUAL; 00094 virtual std::list<PatchRpm> patchRpms() const PURE_VIRTUAL; 00095 00097 00098 }; 00100 00102 } // namespace detail 00105 } // namespace zypp 00107 #endif // ZYPP_DETAIL_PACKAGEIMPLIF_H