SolvAttr.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                          ____ _   __ __ ___                          |
00003 |                         |__  / \ / / . \ . \                         |
00004 |                           / / \ V /|  _/  _/                         |
00005 |                          / /__ | | | | | |                           |
00006 |                         /_____||_| |_| |_|                           |
00007 |                                                                      |
00008 \---------------------------------------------------------------------*/
00012 #ifndef ZYPP_SAT_SOLVATTR_H
00013 #define ZYPP_SAT_SOLVATTR_H
00014 
00015 #include <iosfwd>
00016 #include <string>
00017 
00018 #include "zypp/base/String.h"
00019 #include "zypp/IdStringType.h"
00020 
00022 namespace zypp
00023 { 
00024 namespace sat
00025 { 
00026 
00028   //
00029   //    CLASS NAME : SolvAttr
00030   //
00040   class SolvAttr : public IdStringType<SolvAttr>
00041   {
00042     public:
00046       static const SolvAttr allAttr;
00048       static const SolvAttr noAttr;
00049 
00052       static const SolvAttr name;
00053       static const SolvAttr edition;
00054       static const SolvAttr arch;
00055       static const SolvAttr vendor;
00057 
00060       static const SolvAttr provides;
00061       static const SolvAttr obsoletes;
00062       static const SolvAttr conflicts;
00063       static const SolvAttr requires;
00064       static const SolvAttr recommends;
00065       static const SolvAttr suggests;
00066       static const SolvAttr supplements;
00067       static const SolvAttr enhances;
00068 
00071       static const SolvAttr summary;
00072       static const SolvAttr description;
00073       static const SolvAttr insnotify;
00074       static const SolvAttr delnotify;
00075       static const SolvAttr eula;
00076       static const SolvAttr installtime;
00077       static const SolvAttr buildtime;
00078       static const SolvAttr installsize;
00079       static const SolvAttr downloadsize;
00080       static const SolvAttr diskusage;
00081       static const SolvAttr cpeid;
00083 
00086       static const SolvAttr checksum;
00087       static const SolvAttr mediadir;
00088       static const SolvAttr medianr;
00089       static const SolvAttr mediafile;
00090       static const SolvAttr changelog;
00091       static const SolvAttr buildhost;
00092       static const SolvAttr distribution;
00093       static const SolvAttr license;
00094       static const SolvAttr packager;
00095       static const SolvAttr group;
00096       static const SolvAttr keywords;
00097       static const SolvAttr sourcesize;
00098       static const SolvAttr authors;
00099       static const SolvAttr filelist;
00100       static const SolvAttr sourcearch;
00101       static const SolvAttr sourcename;
00102       static const SolvAttr sourceevr;
00103       static const SolvAttr headerend;
00104       static const SolvAttr url;
00106 
00109       static const SolvAttr patchcategory;
00110       static const SolvAttr rebootSuggested;
00111       static const SolvAttr restartSuggested;
00112       static const SolvAttr reloginSuggested;
00113       static const SolvAttr message;
00114       static const SolvAttr updateCollection;           // SUB-STRUCTURE:
00115       static const SolvAttr updateCollectionName;       // name
00116       static const SolvAttr updateCollectionEvr;        // evr
00117       static const SolvAttr updateCollectionArch;       // arch
00118       static const SolvAttr updateCollectionFilename;   // filename
00119       static const SolvAttr updateCollectionFlags;      // flags
00120       static const SolvAttr updateReference;            // SUB-STRUCTURE:
00121       static const SolvAttr updateReferenceType;        // type
00122       static const SolvAttr updateReferenceHref;        // href
00123       static const SolvAttr updateReferenceId;          // id
00124       static const SolvAttr updateReferenceTitle;       // title
00126 
00129       static const SolvAttr isvisible;
00130       static const SolvAttr icon;
00131       static const SolvAttr order;
00132       static const SolvAttr isdefault;
00133       static const SolvAttr category;
00134       static const SolvAttr script;
00135       static const SolvAttr includes;
00136       static const SolvAttr extends;
00138 
00141       static const SolvAttr productReferenceFile;
00142       static const SolvAttr productProductLine;
00143       static const SolvAttr productShortlabel;
00144       static const SolvAttr productDistproduct;
00145       static const SolvAttr productDistversion;
00146       static const SolvAttr productType;
00147       static const SolvAttr productFlags;
00148       static const SolvAttr productRegisterTarget;
00149       static const SolvAttr productRegisterRelease;
00150       static const SolvAttr productUrl;
00151       static const SolvAttr productUrlType;
00152 
00154 
00157       static const SolvAttr repositoryTimestamp;
00158       static const SolvAttr repositoryExpire;
00159       static const SolvAttr repositoryKeywords;
00160       static const SolvAttr repositoryUpdates;
00161       static const SolvAttr repositoryDistros;
00162       static const SolvAttr repositoryProductLabel;
00163       static const SolvAttr repositoryProductCpeid;
00164       static const SolvAttr repositoryRevision;
00165       static const SolvAttr repositoryAddedFileProvides;
00166       static const SolvAttr repositoryRpmDbCookie;
00167       static const SolvAttr repositoryDeltaInfo;
00168       static const SolvAttr repositoryToolVersion;
00170 
00172     public:
00174       SolvAttr() {}
00175 
00177       explicit SolvAttr( sat::detail::IdType id_r )  : _str( id_r ) {}
00178       explicit SolvAttr( const IdString & idstr_r )  : _str( idstr_r ) {}
00179       explicit SolvAttr( const std::string & str_r ) : _str( str_r ) {}
00180       explicit SolvAttr( const char * cstr_r )       : _str( cstr_r ) {}
00181 
00186       SolvAttr parent() const;
00187 
00189       bool hasParent() const
00190       { return parent() != noAttr; }
00191 
00192     private:
00193       friend class IdStringType<SolvAttr>;
00194       IdString _str;
00195   };
00196 
00198 } // namespace sat
00199 } // namespace zypp
00201 #endif // ZYPP_sat_SolvAttr_H

doxygen