00001
00002
00003
00004
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/PatchRpm.h"
00023 #include "zypp/DeltaRpm.h"
00024 #include "zypp/DiskUsage.h"
00025
00027 namespace zypp
00028 {
00029
00030 class Package;
00031
00033 namespace detail
00034 {
00035
00037
00038
00039
00042 class PackageImplIf : public ResObjectImplIf
00043 {
00044 public:
00045 typedef Package ResType;
00046
00047 #if 0
00048
00053 class FileData {
00054 public:
00055 std::string name;
00056 std::string type;
00057 FileData();
00058 FileData(const std::string &name,
00059 const std::string &type)
00060 : name(name), type(type)
00061 {}
00062 };
00063 #endif
00064
00065 public:
00068
00069 virtual CheckSum checksum() const PURE_VIRTUAL;
00071 virtual Date buildtime() const PURE_VIRTUAL;
00073 virtual std::string buildhost() const PURE_VIRTUAL;
00075 virtual Date installtime() const PURE_VIRTUAL;
00077 virtual std::string distribution() const PURE_VIRTUAL;
00079 virtual Vendor vendor() const PURE_VIRTUAL;
00081 virtual Label license() const PURE_VIRTUAL;
00083 virtual std::string packager() const PURE_VIRTUAL;
00085 virtual PackageGroup group() const PURE_VIRTUAL;
00087 virtual Changelog changelog() const PURE_VIRTUAL;
00089 virtual Pathname location() const PURE_VIRTUAL;
00092 virtual std::string url() const PURE_VIRTUAL;
00094 virtual std::string os() const PURE_VIRTUAL;
00096 virtual Text prein() const PURE_VIRTUAL;
00098 virtual Text postin() const PURE_VIRTUAL;
00100 virtual Text preun() const PURE_VIRTUAL;
00102 virtual Text postun() const PURE_VIRTUAL;
00104 virtual ByteCount sourcesize() const PURE_VIRTUAL;
00106 virtual ByteCount archivesize() const PURE_VIRTUAL;
00108 virtual DiskUsage diskusage() const PURE_VIRTUAL;
00110 virtual std::list<std::string> authors() const PURE_VIRTUAL;
00112 virtual std::list<std::string> filenames() const PURE_VIRTUAL;
00114 virtual std::list<DeltaRpm> deltaRpms() const PURE_VIRTUAL;
00116 virtual std::list<PatchRpm> patchRpms() const PURE_VIRTUAL;
00118 virtual bool installOnly() const PURE_VIRTUAL;
00120 virtual unsigned mediaId() const PURE_VIRTUAL;
00121
00123
00131 virtual License licenseToConfirm() const PURE_VIRTUAL;
00132 #if 0
00133
00134 virtual std::string sourceloc() const PURE_VIRTUAL;
00136 virtual void du( PkgDu & dudata_r ) const PURE_VIRTUAL;
00138 virtual unsigned int medianr() const PURE_VIRTUAL;
00140 virtual PackageKeywords keywords() const PURE_VIRTUAL;
00142 virtual std::string md5sum() const PURE_VIRTUAL;
00144 virtual std::string externalUrl() const PURE_VIRTUAL;
00146 virtual std::list<Edition> patchRpmBaseVersions() const PURE_VIRTUAL;
00148 virtual ByteCount patchRpmSize() const PURE_VIRTUAL;
00150 virtual bool forceInstall() const PURE_VIRTUAL;
00152 virtual std::string patchRpmMD5() const PURE_VIRTUAL;
00154 virtual bool isRemote() const PURE_VIRTUAL;
00156 virtual PMError providePkgToInstall( Pathname& path_r ) const PURE_VIRTUAL;
00158 virtual PMError provideSrcPkgToInstall( Pathname& path_r ) const PURE_VIRTUAL;
00160 virtual constInstSrcPtr source() const PURE_VIRTUAL;
00162 virtual std::list<PMPackageDelta> deltas() const PURE_VIRTUAL;
00163 #endif
00164
00165 };
00167
00169 }
00172 }
00174 #endif // ZYPP_DETAIL_PACKAGEIMPLIF_H