PackageDelta.h

Go to the documentation of this file.
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

Generated on Thu Sep 14 15:38:44 2006 for zypp by  doxygen 1.4.6