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/source/OnMediaLocation.h" 00019 #include "zypp/Edition.h" 00020 #include "zypp/Date.h" 00021 //#include "zypp/Arch.h" 00022 00024 namespace zypp 00025 { 00026 00027 namespace packagedelta 00028 { 00029 00031 00032 class PatchRpm 00033 { 00034 public: 00035 typedef Edition BaseVersion; 00036 typedef std::list<BaseVersion> BaseVersions; 00037 00038 public: 00039 PatchRpm() 00040 {} 00041 00042 public: 00043 const source::OnMediaLocation & location() const { return _location; } 00044 const BaseVersions & baseversions() const { return _baseversions; } 00045 const Date & buildtime() const { return _buildtime;} 00046 00047 public: 00048 PatchRpm & location( const source::OnMediaLocation & val_r ) { _location = val_r; return *this; } 00049 PatchRpm & baseversions( const BaseVersions & val_r ) { _baseversions = val_r; return *this; } 00050 PatchRpm & baseversion( const BaseVersion & val_r ) { _baseversions.push_back( val_r ); return *this; } 00051 PatchRpm & buildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00052 00053 private: 00054 source::OnMediaLocation _location; 00055 BaseVersions _baseversions; 00056 Date _buildtime; 00057 }; 00058 00060 std::ostream & operator<<( std::ostream & str, const PatchRpm & obj ); 00061 00063 00064 class DeltaRpm 00065 { 00066 public: 00067 class BaseVersion 00068 { 00069 public: 00070 BaseVersion() 00071 {} 00072 00073 public: 00074 const Edition & edition() const { return _edition; } 00075 const Date & buildtime() const { return _buildtime; } 00076 const CheckSum & checksum() const { return _checksum; } 00077 const std::string & sequenceinfo() const { return _sequenceinfo; } 00078 00079 public: 00080 BaseVersion & edition( const Edition & val_r ) { _edition = val_r; return *this; } 00081 BaseVersion & buildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00082 BaseVersion & checksum( const CheckSum & val_r ) { _checksum = val_r; return *this; } 00083 BaseVersion & sequenceinfo( const std::string & val_r ) { _sequenceinfo = val_r; return *this; } 00084 00085 private: 00086 Edition _edition; 00087 Date _buildtime; 00088 CheckSum _checksum; 00089 std::string _sequenceinfo; 00090 }; 00091 00092 typedef std::list<BaseVersion> BaseVersions; 00093 00094 public: 00095 DeltaRpm() 00096 {} 00097 00098 public: 00099 const source::OnMediaLocation & location() const { return _location; } 00100 const BaseVersion & baseversion() const { return _baseversion; } 00101 const Date & buildtime() const { return _buildtime;} 00102 00103 public: 00104 DeltaRpm & location( const source::OnMediaLocation & val_r ) { _location = val_r; return *this; } 00105 DeltaRpm & baseversion( const BaseVersion & val_r ) { _baseversion = val_r; return *this; } 00106 DeltaRpm & buildtime( const Date & val_r ) { _buildtime = val_r; return *this; } 00107 00108 private: 00109 source::OnMediaLocation _location; 00110 BaseVersion _baseversion; 00111 Date _buildtime; 00112 }; 00113 00115 std::ostream & operator<<( std::ostream & str, const DeltaRpm & obj ); 00116 00118 00120 } // namespace packagedelta 00123 } // namespace zypp 00125 #endif // ZYPP_SOURCE_PACKAGEDELTA_H
1.5.0