00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_PACKAGE_H 00013 #define ZYPP_PACKAGE_H 00014 00015 #include "zypp/ResObject.h" 00016 #include "zypp/PackageKeyword.h" 00017 #include "zypp/Changelog.h" 00018 #include "zypp/VendorSupportOptions.h" 00019 00021 namespace zypp 00022 { 00023 00024 DEFINE_PTR_TYPE(Package); 00025 00027 // 00028 // CLASS NAME : Package 00029 // 00032 class Package : public ResObject 00033 { 00034 public: 00035 typedef Package Self; 00036 typedef ResTraits<Self> TraitsType; 00037 typedef TraitsType::PtrType Ptr; 00038 typedef TraitsType::constPtrType constPtr; 00039 00040 public: 00041 typedef sat::ArrayAttr<PackageKeyword,IdString> Keywords; 00042 typedef sat::ArrayAttr<std::string,std::string> FileList; 00043 00044 public: 00045 00056 VendorSupportOption vendorSupport() const; 00057 00062 bool maybeUnsupported() const; 00063 00065 Changelog changelog() const; 00067 std::string buildhost() const; 00069 std::string distribution() const; 00071 std::string license() const; 00073 std::string packager() const; 00075 std::string group() const; 00077 Keywords keywords() const; 00080 std::string url() const; 00082 ByteCount sourcesize() const; 00084 std::list<std::string> authors() const; 00085 00091 FileList filelist() const; 00092 00098 std::string sourcePkgName() const; 00099 00102 Edition sourcePkgEdition() const; 00103 00106 std::string sourcePkgType() const; 00107 00110 std::string sourcePkgLongName() const; 00112 00117 CheckSum checksum() const; 00118 00123 OnMediaLocation location() const; 00124 00125 protected: 00126 friend Ptr make<Self>( const sat::Solvable & solvable_r ); 00128 Package( const sat::Solvable & solvable_r ); 00130 virtual ~Package(); 00131 }; 00132 00134 00136 } // namespace zypp 00138 #endif // ZYPP_PACKAGE_H