libzypp  11.13.5
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  static const SolvAttr requires;
64  static const SolvAttr recommends;
65  static const SolvAttr suggests;
66  static const SolvAttr supplements;
67  static const SolvAttr enhances;
68 
71  static const SolvAttr summary;
72  static const SolvAttr description;
73  static const SolvAttr insnotify;
74  static const SolvAttr delnotify;
75  static const SolvAttr eula;
76  static const SolvAttr installtime;
77  static const SolvAttr buildtime;
78  static const SolvAttr installsize;
79  static const SolvAttr downloadsize;
80  static const SolvAttr diskusage;
81  static const SolvAttr cpeid;
83 
86  static const SolvAttr checksum;
87  static const SolvAttr mediadir;
88  static const SolvAttr medianr;
89  static const SolvAttr mediafile;
90  static const SolvAttr changelog;
91  static const SolvAttr buildhost;
92  static const SolvAttr distribution;
93  static const SolvAttr license;
94  static const SolvAttr packager;
95  static const SolvAttr group;
96  static const SolvAttr keywords;
97  static const SolvAttr sourcesize;
98  static const SolvAttr authors;
99  static const SolvAttr filelist;
100  static const SolvAttr sourcearch;
101  static const SolvAttr sourcename;
102  static const SolvAttr sourceevr;
103  static const SolvAttr headerend;
104  static const SolvAttr url;
106 
109  static const SolvAttr patchcategory;
110  static const SolvAttr rebootSuggested;
113  static const SolvAttr message;
114  static const SolvAttr severity;
115  static const SolvAttr updateCollection; // SUB-STRUCTURE:
116  static const SolvAttr updateCollectionName; // name
117  static const SolvAttr updateCollectionEvr; // evr
118  static const SolvAttr updateCollectionArch; // arch
119  static const SolvAttr updateCollectionFilename; // filename
120  static const SolvAttr updateCollectionFlags; // flags
121  static const SolvAttr updateReference; // SUB-STRUCTURE:
122  static const SolvAttr updateReferenceType; // type
123  static const SolvAttr updateReferenceHref; // href
124  static const SolvAttr updateReferenceId; // id
125  static const SolvAttr updateReferenceTitle; // title
127 
130  static const SolvAttr isvisible;
131  static const SolvAttr icon;
132  static const SolvAttr order;
133  static const SolvAttr isdefault;
134  static const SolvAttr category;
135  static const SolvAttr script;
136  static const SolvAttr includes;
137  static const SolvAttr extends;
139 
147  static const SolvAttr productType;
148  static const SolvAttr productFlags;
151  static const SolvAttr productUrl;
152  static const SolvAttr productUrlType;
153 
155 
171 
173  public:
175  SolvAttr() {}
176 
178  explicit SolvAttr( sat::detail::IdType id_r ) : _str( id_r ) {}
179  explicit SolvAttr( const IdString & idstr_r ) : _str( idstr_r ) {}
180  explicit SolvAttr( const std::string & str_r ) : _str( str_r ) {}
181  explicit SolvAttr( const char * cstr_r ) : _str( cstr_r ) {}
182 
187  SolvAttr parent() const;
188 
190  bool hasParent() const
191  { return parent() != noAttr; }
192 
193  private:
194  friend class IdStringType<SolvAttr>;
196  };
197 
199 } // namespace sat
200 } // namespace zypp
202 #endif // ZYPP_sat_SolvAttr_H