00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SOURCE_PACKAGEDELTA_H 00013 #define ZYPP_SOURCE_PACKAGEDELTA_H 00014 00015 #include <iosfwd> 00016 #include <list> 00017 00018 #include "zypp/OnMediaLocation.h" 00019 #include "zypp/Edition.h" 00020 #include "zypp/Arch.h" 00021 #include "zypp/Date.h" 00022 00024 namespace zypp 00025 { 00026 00027 namespace packagedelta 00028 { 00029 00031 00033 class PatchRpm 00034 { 00035 public: 00036 typedef Edition BaseVersion; 00037 typedef std::list<BaseVersion> BaseVersions; 00038 00039 public: 00040 PatchRpm() 00041 {} 00042 00043 public: 00046 const std::string & name() const { return _name; } 00047 const Edition & edition() const { return _edition; } 00048 const Arch & arch() const { return _arch; } 00050 const OnMediaLocation & location() const { return _location; } 00051 const BaseVersions & baseversions() const { return _baseversions; } 00052 const Date & buildtime() const { return _buildtime;} 00053 00054 public: 00055 PatchRpm & setName( const std::string & val_r ) { _name = val_r; return *this; } 00056 PatchRpm & setEdition( const Edition & val_r ) { _edition = val_r; return *this; } 00057 PatchRpm & setArch( const Arch & val_r ) { _arch = val_r; return *this; } 00058 PatchRpm & setLocation( const OnMediaLocation & val_r ) { _location = val_r; return *this; } 00059 PatchRpm & setBaseversions( const BaseVersions & val_r ){ _baseversions = val_r; return *this; } 00060 PatchRpm & addBaseversion( const BaseVersion & val_r ) { _baseversions.push_back( val_r ); return *this; } 00061 PatchRpm & setBuildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00062 00063 private: 00064 std::string _name; 00065 Edition _edition; 00066 Arch _arch; 00067 OnMediaLocation _location; 00068 BaseVersions _baseversions; 00069 Date _buildtime; 00070 }; 00071 00073 std::ostream & operator<<( std::ostream & str, const PatchRpm & obj ); 00074 00076 00078 class DeltaRpm 00079 { 00080 public: 00081 class BaseVersion 00082 { 00083 public: 00084 BaseVersion() 00085 {} 00086 00087 public: 00088 const Edition & edition() const { return _edition; } 00089 const Date & buildtime() const { return _buildtime; } 00090 const CheckSum & checksum() const { return _checksum; } 00091 const std::string & sequenceinfo() const { return _sequenceinfo; } 00092 00093 public: 00094 BaseVersion & setEdition( const Edition & val_r ) { _edition = val_r; return *this; } 00095 BaseVersion & setBuildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00096 BaseVersion & setChecksum( const CheckSum & val_r ) { _checksum = val_r; return *this; } 00097 BaseVersion & setSequenceinfo( const std::string & val_r ) { _sequenceinfo = val_r; return *this; } 00098 00099 private: 00100 Edition _edition; 00101 Date _buildtime; 00102 CheckSum _checksum; 00103 std::string _sequenceinfo; 00104 }; 00105 00106 typedef std::list<BaseVersion> BaseVersions; 00107 00108 public: 00109 DeltaRpm() 00110 {} 00111 00112 public: 00115 const std::string & name() const { return _name; } 00116 const Edition & edition() const { return _edition; } 00117 const Arch & arch() const { return _arch; } 00119 const OnMediaLocation & location() const { return _location; } 00120 const BaseVersion & baseversion() const { return _baseversion; } 00121 const Date & buildtime() const { return _buildtime;} 00122 00123 public: 00124 DeltaRpm & setName( const std::string & val_r ) { _name = val_r; return *this; } 00125 DeltaRpm & setEdition( const Edition & val_r ) { _edition = val_r; return *this; } 00126 DeltaRpm & setArch( const Arch & val_r ) { _arch = val_r; return *this; } 00127 DeltaRpm & setLocation( const OnMediaLocation & val_r ) { _location = val_r; return *this; } 00128 DeltaRpm & setBaseversion( const BaseVersion & val_r ) { _baseversion = val_r; return *this; } 00129 DeltaRpm & setBuildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00130 00131 private: 00132 std::string _name; 00133 Edition _edition; 00134 Arch _arch; 00135 OnMediaLocation _location; 00136 BaseVersion _baseversion; 00137 Date _buildtime; 00138 }; 00139 00141 std::ostream & operator<<( std::ostream & str, const DeltaRpm & obj ); 00142 00144 00146 } // namespace packagedelta 00149 } // namespace zypp 00151 #endif // ZYPP_SOURCE_PACKAGEDELTA_H
1.5.3