libzypp  10.5.0
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 
00023 #include "zypp/sat/detail/PoolMember.h"
00024 #include "zypp/Repository.h"
00025 
00027 namespace zypp
00028 { 
00029 
00030   namespace packagedelta
00031   { 
00032 
00033 
00035     class DeltaRpm
00036     {
00037       public:
00038         class BaseVersion
00039         {
00040           public:
00041             BaseVersion()
00042             {}
00043 
00044           public:
00045             const Edition &     edition()      const { return _edition; }
00046             const std::string & sequenceinfo() const { return _sequenceinfo; }
00047 
00048           public:
00049             BaseVersion & setEdition( const Edition & val_r )          { _edition = val_r; return *this; }
00050             BaseVersion & setSequenceinfo( const std::string & val_r ) { _sequenceinfo = val_r; return *this; }
00051 
00052           private:
00053             Edition     _edition;
00054             std::string _sequenceinfo;
00055         };
00056 
00057       public:
00058         DeltaRpm() {}
00059         DeltaRpm( sat::LookupAttr::iterator deltaInfo_r );
00060 
00061       public:
00064         const std::string &     name()         const { return _name; }
00065         const Edition &         edition()      const { return _edition; }
00066         const Arch &            arch()         const { return _arch; }
00068         const OnMediaLocation & location()     const { return _location; }
00069         const BaseVersion &     baseversion()  const { return _baseversion; }
00070         const Repository &      repository()   const { return _repo; }
00071 
00072       public:
00073         DeltaRpm & setName( const std::string & val_r )         { _name = val_r; return *this; }
00074         DeltaRpm & setEdition( const Edition & val_r )          { _edition = val_r; return *this; }
00075         DeltaRpm & setArch( const Arch & val_r )                { _arch = val_r; return *this; }
00076         DeltaRpm & setLocation( const OnMediaLocation & val_r ) { _location = val_r; return *this; }
00077         DeltaRpm & setBaseversion( const BaseVersion & val_r )  { _baseversion = val_r; return *this; }
00078 
00079       private:
00080         std::string     _name;
00081         Edition         _edition;
00082         Arch            _arch;
00083         OnMediaLocation _location;
00084         BaseVersion     _baseversion;
00085         Repository      _repo;
00086     };
00087 
00089     std::ostream & operator<<( std::ostream & str, const DeltaRpm & obj );
00090 
00092 
00094   } // namespace packagedelta
00097 } // namespace zypp
00099 #endif // ZYPP_SOURCE_PACKAGEDELTA_H