00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H 00013 #define ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H 00014 00015 #include "zypp/source/SourceImpl.h" 00016 #include "zypp/detail/PackageImpl.h" 00017 #include "zypp/parser/yum/YUMParserData.h" 00018 #include "zypp/Changelog.h" 00019 #include "zypp/CheckSum.h" 00020 #include "zypp/PatchRpm.h" 00021 #include "zypp/DeltaRpm.h" 00022 00024 namespace zypp 00025 { 00026 00027 namespace source 00028 { 00029 namespace yum 00030 { 00031 00033 // 00034 // CLASS NAME : YUMPackageImpl 00035 // 00038 class YUMPackageImpl : public detail::PackageImplIf 00039 { 00040 public: 00043 YUMPackageImpl( 00044 Source_Ref source_r, 00045 const zypp::parser::yum::YUMPrimaryData & parsed, 00046 const zypp::parser::yum::YUMFileListData & filelist, 00047 const zypp::parser::yum::YUMOtherData & other 00048 ); 00049 YUMPackageImpl( 00050 Source_Ref source_r, 00051 const zypp::parser::yum::YUMPatchPackage & parsed 00052 ); 00053 00055 virtual TranslatedText summary() const; 00057 virtual TranslatedText description() const; 00058 virtual ByteCount size() const; 00060 virtual Date buildtime() const; 00062 virtual std::string buildhost() const; 00064 virtual Date installtime() const; 00066 virtual std::string distribution() const; 00068 virtual Vendor vendor() const; 00070 virtual Label license() const; 00072 virtual std::string packager() const; 00074 virtual PackageGroup group() const; 00076 virtual Changelog changelog() const; 00078 virtual Pathname location() const; 00081 virtual std::string url() const; 00083 virtual std::string os() const; 00085 virtual Text prein() const; 00087 virtual Text postin() const; 00089 virtual Text preun() const; 00091 virtual Text postun() const; 00093 virtual ByteCount sourcesize() const; 00095 virtual ByteCount archivesize() const; 00097 virtual std::list<std::string> authors() const; 00099 virtual std::list<std::string> filenames() const; 00101 virtual License licenseToConfirm() const; 00103 virtual std::string type() const; 00105 virtual std::list<std::string> keywords() const; 00107 virtual bool installOnly() const; 00109 virtual unsigned mediaId() const; 00111 virtual CheckSum checksum() const; 00113 virtual std::list<DeltaRpm> deltaRpms() const; 00115 virtual std::list<PatchRpm> patchRpms() const; 00116 00117 #if 0 00118 00119 virtual unsigned packageSize() const; 00121 virtual unsigned installedSize() const; 00123 virtual unsigned archiveSize() const; 00125 virtual bool providesSources() const; 00127 virtual std::string instSrcLabel() const; 00129 virtual std::string instSrcVendor() const; 00131 virtual unsigned instSrcRank() const; 00133 virtual std::string buildhost() const; 00135 virtual std::string distribution() const; 00137 virtual std::string vendor() const; 00139 virtual std::string license() const; 00141 virtual std::list<std::string> licenseToConfirm() const; 00143 virtual std::string packager() const; 00145 virtual std::string group() const; 00147 virtual std::list<std::string> changelog() const; 00149 virtual std::string url() const; 00151 virtual std::string os() const; 00153 virtual std::list<std::string> prein() const; 00155 virtual std::list<std::string> postin() const; 00157 virtual std::list<std::string> preun() const; 00159 virtual std::list<std::string> postun() const; 00161 virtual std::string sourcepkg() const; 00163 virtual std::list<std::string> authors() const; 00165 virtual std::list<std::string> filenames() const; 00167 virtual unsigned int medianr() const; 00169 virtual std::string md5sum() const; 00171 virtual std::string externalUrl() const; 00173 virtual std::list<Edition> patchRpmBaseVersions() const; 00175 virtual unsigned patchRpmSize() const; 00177 virtual bool forceInstall() const; 00179 virtual std::string patchRpmMD5() const; 00181 virtual bool isRemote() const; 00183 virtual bool prefererCandidate() const; 00184 #endif 00185 protected: 00186 TranslatedText _summary; 00187 TranslatedText _description; 00188 Date _buildtime; 00189 std::string _buildhost; 00190 std::string _url; 00191 Vendor _vendor; 00192 Label _license; 00193 std::string _packager; 00194 PackageGroup _group; 00195 Changelog _changelog; 00196 std::string _type; 00197 License _license_to_confirm; 00198 std::list<std::string> _authors; 00199 std::list<std::string> _keywords; 00200 unsigned _mediaid; 00201 CheckSum _checksum; 00202 std::list<std::string> _filenames; 00203 Pathname _location; 00204 // std::list<PlainRpm> _plain_rpms; 00205 #warning shouldn't be a list 00206 std::list<DeltaRpm> _delta_rpms; 00207 std::list<PatchRpm> _patch_rpms; 00208 00209 bool _install_only; 00210 /* 00211 unsigned _size_package; 00212 unsigned _size_installed; 00213 unsigned _size_archive; 00214 std::string _sourcepkg; 00215 std::list<DirSize> _dir_sizes; 00216 */ 00217 /* 00218 std::list<ChangelogEntry> changelog; 00219 */ 00220 private: 00221 Source_Ref _source; 00222 public: 00223 Source_Ref source() const; 00224 00225 friend class YUMSourceImpl; 00226 00227 }; 00229 } // namespace yum 00231 } // namespace source 00234 } // namespace zypp 00236 #endif // ZYPP_SOURCE_YUM_YUMPACKAGEIMPL_H
1.4.6