libzypp
10.5.0
|
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