libzypp  17.31.31
SolvAttr.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_SAT_SOLVATTR_H
13 #define ZYPP_SAT_SOLVATTR_H
14 
15 #include <iosfwd>
16 #include <string>
17 
18 #include <zypp/base/String.h>
19 #include <zypp/IdStringType.h>
20 
22 namespace zypp
23 {
24 namespace sat
25 {
26 
28  //
29  // CLASS NAME : SolvAttr
30  //
40  class SolvAttr : public IdStringType<SolvAttr>
41  {
42  public:
46  static const SolvAttr allAttr;
48  static const SolvAttr noAttr;
49 
52  static const SolvAttr name;
53  static const SolvAttr edition;
54  static const SolvAttr arch;
55  static const SolvAttr vendor;
57 
60  static const SolvAttr provides;
61  static const SolvAttr obsoletes;
62  static const SolvAttr conflicts;
63 #if __GNUC__ >= 10
64 #pragma GCC diagnostic push
65 #pragma GCC diagnostic ignored "-Wc++20-compat"
66 #endif
67  static const SolvAttr requires;
68 #if __GNUC__ >= 10
69 #pragma GCC diagnostic pop
70 #endif
71  static const SolvAttr recommends;
72  static const SolvAttr suggests;
73  static const SolvAttr supplements;
74  static const SolvAttr enhances;
75 
78  static const SolvAttr summary;
79  static const SolvAttr description;
80  static const SolvAttr insnotify;
81  static const SolvAttr delnotify;
82  static const SolvAttr eula;
83  static const SolvAttr installtime;
84  static const SolvAttr buildtime;
85  static const SolvAttr installsize;
86  static const SolvAttr downloadsize;
87  static const SolvAttr diskusage;
88  static const SolvAttr cpeid;
90 
93  static const SolvAttr checksum;
94  static const SolvAttr mediadir;
95  static const SolvAttr medianr;
96  static const SolvAttr mediafile;
97  static const SolvAttr changelog;
98  static const SolvAttr buildhost;
99  static const SolvAttr distribution;
100  static const SolvAttr license;
101  static const SolvAttr packager;
102  static const SolvAttr group;
103  static const SolvAttr keywords;
104  static const SolvAttr sourcesize;
105  static const SolvAttr authors;
106  static const SolvAttr filelist;
107  static const SolvAttr sourcearch;
108  static const SolvAttr sourcename;
109  static const SolvAttr sourceevr;
110  static const SolvAttr headerend;
111  static const SolvAttr url;
113 
116  static const SolvAttr patchcategory;
117  static const SolvAttr rebootSuggested;
120  static const SolvAttr message;
121  static const SolvAttr severity;
122  static const SolvAttr updateStatus; // "retracted", "stable",...
123  static const SolvAttr updateCollection; // SUB-STRUCTURE:
124  static const SolvAttr updateCollectionName; // name
125  static const SolvAttr updateCollectionEvr; // evr
126  static const SolvAttr updateCollectionArch; // arch
127  static const SolvAttr updateCollectionFilename; // filename
128  static const SolvAttr updateCollectionFlags; // flags
129  static const SolvAttr updateReference; // SUB-STRUCTURE:
130  static const SolvAttr updateReferenceType; // type
131  static const SolvAttr updateReferenceHref; // href
132  static const SolvAttr updateReferenceId; // id
133  static const SolvAttr updateReferenceTitle; // title
135 
138  static const SolvAttr isvisible;
139  static const SolvAttr icon;
140  static const SolvAttr order;
141  static const SolvAttr isdefault;
142  static const SolvAttr category;
143  static const SolvAttr script;
144  static const SolvAttr includes;
145  static const SolvAttr extends;
147 
155  static const SolvAttr productType;
156  static const SolvAttr productFlags;
161  static const SolvAttr productUrl;
162  static const SolvAttr productUrlType;
163  static const SolvAttr productUpdates; // SUB-STRUCTURE:
164  static const SolvAttr productUpdatesRepoid; // repoid
166 
183 
185  public:
187  SolvAttr() {}
188 
190  explicit SolvAttr( sat::detail::IdType id_r ) : _str( id_r ) {}
191  explicit SolvAttr( const IdString & idstr_r ) : _str( idstr_r ) {}
192  explicit SolvAttr( const std::string & str_r ) : _str( str_r ) {}
193  explicit SolvAttr( const char * cstr_r ) : _str( cstr_r ) {}
194 
199  SolvAttr parent() const;
200 
202  bool hasParent() const
203  { return parent() != noAttr; }
204 
205  private:
206  friend class IdStringType<SolvAttr>;
208  };
209 
211 } // namespace sat
212 } // namespace zypp
214 #endif // ZYPP_sat_SolvAttr_H
static const SolvAttr productFlags
Definition: SolvAttr.h:156
static const SolvAttr productUpdates
array of repoids, hopefully label s too
Definition: SolvAttr.h:163
SolvAttr(const std::string &str_r)
Definition: SolvAttr.h:192
int IdType
Generic Id type.
Definition: PoolMember.h:104
SolvAttr parent() const
Return the parent of well know sub-structure attributes (SolvAttr::noAttr if none).
Definition: SolvAttr.cc:152
static const SolvAttr updateReferenceHref
Definition: SolvAttr.h:131
static const SolvAttr order
Definition: SolvAttr.h:140
static const SolvAttr conflicts
Definition: SolvAttr.h:62
static const SolvAttr repositoryExpire
Definition: SolvAttr.h:173
static const SolvAttr isvisible
Definition: SolvAttr.h:138
static const SolvAttr isdefault
Definition: SolvAttr.h:141
static const SolvAttr recommends
Definition: SolvAttr.h:71
static const SolvAttr repositoryProductLabel
Definition: SolvAttr.h:176
static const SolvAttr productDistversion
Definition: SolvAttr.h:154
static const SolvAttr allAttr
Value to request searching all Attributes (0).
Definition: SolvAttr.h:46
static const SolvAttr repositoryDeltaInfo
Definition: SolvAttr.h:169
static const SolvAttr updateReference
Definition: SolvAttr.h:129
static const SolvAttr arch
Definition: SolvAttr.h:54
static const SolvAttr installtime
Definition: SolvAttr.h:83
static const SolvAttr changelog
Definition: SolvAttr.h:97
static const SolvAttr productRegisterRelease
Definition: SolvAttr.h:159
static const SolvAttr productEndOfLife
Definition: SolvAttr.h:157
static const SolvAttr repositoryTimestamp
Definition: SolvAttr.h:172
static const SolvAttr productProductLine
Definition: SolvAttr.h:151
static const SolvAttr productUrlType
Definition: SolvAttr.h:162
static const SolvAttr packager
Definition: SolvAttr.h:101
Access to the sat-pools string space.
Definition: IdString.h:42
static const SolvAttr sourcearch
Definition: SolvAttr.h:107
static const SolvAttr updateReferenceTitle
Definition: SolvAttr.h:133
Base class for creating IdString based types.
Definition: IdStringType.h:86
static const SolvAttr insnotify
Definition: SolvAttr.h:80
SolvAttr(sat::detail::IdType id_r)
Ctor taking kind as string.
Definition: SolvAttr.h:190
static const SolvAttr suggests
Definition: SolvAttr.h:72
static const SolvAttr icon
Definition: SolvAttr.h:139
static const SolvAttr repositoryAddedFileProvides
Definition: SolvAttr.h:170
static const SolvAttr repositoryRevision
Definition: SolvAttr.h:180
static const SolvAttr productRegisterTarget
Definition: SolvAttr.h:158
static const SolvAttr diskusage
Definition: SolvAttr.h:87
static const SolvAttr mediafile
Definition: SolvAttr.h:96
static const SolvAttr updateReferenceId
Definition: SolvAttr.h:132
static const SolvAttr sourceevr
Definition: SolvAttr.h:109
Solvable attribute keys.
Definition: SolvAttr.h:40
static const SolvAttr url
Definition: SolvAttr.h:111
static const SolvAttr productDistproduct
Definition: SolvAttr.h:153
static const SolvAttr updateCollection
Definition: SolvAttr.h:123
static const SolvAttr updateCollectionEvr
Definition: SolvAttr.h:125
SolvAttr()
Default ctor: noAttr.
Definition: SolvAttr.h:187
static const SolvAttr repositoryToolVersion
Definition: SolvAttr.h:181
static const SolvAttr headerend
Definition: SolvAttr.h:110
static const SolvAttr productRegisterFlavor
Definition: SolvAttr.h:160
static const SolvAttr license
Definition: SolvAttr.h:100
static const SolvAttr vendor
Definition: SolvAttr.h:55
static const SolvAttr enhances
Definition: SolvAttr.h:74
static const SolvAttr category
Definition: SolvAttr.h:142
static const SolvAttr severity
Definition: SolvAttr.h:121
static const SolvAttr productType
Definition: SolvAttr.h:155
static const SolvAttr authors
Definition: SolvAttr.h:105
static const SolvAttr obsoletes
Definition: SolvAttr.h:61
static const SolvAttr name
Definition: SolvAttr.h:52
static const SolvAttr updateStatus
Definition: SolvAttr.h:122
static const SolvAttr buildhost
Definition: SolvAttr.h:98
static const SolvAttr checksum
Definition: SolvAttr.h:93
static const SolvAttr downloadsize
Definition: SolvAttr.h:86
static const SolvAttr message
Definition: SolvAttr.h:120
static const SolvAttr productUrl
Definition: SolvAttr.h:161
static const SolvAttr updateCollectionFilename
Definition: SolvAttr.h:127
static const SolvAttr includes
Definition: SolvAttr.h:144
static const SolvAttr delnotify
Definition: SolvAttr.h:81
static const SolvAttr noAttr
Value representing noAttr ("")
Definition: SolvAttr.h:48
static const SolvAttr sourcename
Definition: SolvAttr.h:108
static const SolvAttr installsize
Definition: SolvAttr.h:85
static const SolvAttr buildtime
Definition: SolvAttr.h:84
static const SolvAttr patchcategory
Definition: SolvAttr.h:116
static const SolvAttr cpeid
Definition: SolvAttr.h:88
static const SolvAttr productUpdatesRepoid
Definition: SolvAttr.h:164
static const SolvAttr updateReferenceType
Definition: SolvAttr.h:130
SolvAttr(const char *cstr_r)
Definition: SolvAttr.h:193
static const SolvAttr repositoryRepoid
Definition: SolvAttr.h:178
static const SolvAttr provides
Definition: SolvAttr.h:60
static const SolvAttr description
Definition: SolvAttr.h:79
static const SolvAttr restartSuggested
Definition: SolvAttr.h:118
static const SolvAttr sourcesize
Definition: SolvAttr.h:104
SolvAttr(const IdString &idstr_r)
Definition: SolvAttr.h:191
static const SolvAttr keywords
Definition: SolvAttr.h:103
static const SolvAttr reloginSuggested
Definition: SolvAttr.h:119
static const SolvAttr repositoryKeywords
Definition: SolvAttr.h:179
static const SolvAttr repositoryProductCpeid
Definition: SolvAttr.h:177
static const SolvAttr group
Definition: SolvAttr.h:102
static const SolvAttr edition
Definition: SolvAttr.h:53
static const SolvAttr filelist
Definition: SolvAttr.h:106
static const SolvAttr updateCollectionName
Definition: SolvAttr.h:124
static const SolvAttr eula
Definition: SolvAttr.h:82
static const SolvAttr summary
Definition: SolvAttr.h:78
static const SolvAttr requires
Definition: SolvAttr.h:67
static const SolvAttr repositoryRpmDbCookie
Definition: SolvAttr.h:171
static const SolvAttr repositoryDistros
array of repositoryProductLabel repositoryProductCpeid pairs
Definition: SolvAttr.h:175
static const SolvAttr distribution
Definition: SolvAttr.h:99
static const SolvAttr repositoryUpdates
array of repositoryProductLabel repositoryProductCpeid pairs
Definition: SolvAttr.h:174
static const SolvAttr updateCollectionArch
Definition: SolvAttr.h:126
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
static const SolvAttr extends
Definition: SolvAttr.h:145
static const SolvAttr productReferenceFile
Definition: SolvAttr.h:150
static const SolvAttr supplements
Definition: SolvAttr.h:73
bool hasParent() const
Whether this is a well know sub-structure attribute.
Definition: SolvAttr.h:202
static const SolvAttr script
Definition: SolvAttr.h:143
static const SolvAttr rebootSuggested
Definition: SolvAttr.h:117
static const SolvAttr productShortlabel
Definition: SolvAttr.h:152
static const SolvAttr mediadir
Definition: SolvAttr.h:94
static const SolvAttr medianr
Definition: SolvAttr.h:95
static const SolvAttr updateCollectionFlags
Definition: SolvAttr.h:128