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/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

Generated on Tue Sep 25 19:23:05 2007 for libzypp by  doxygen 1.5.3