1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/SolvAttr.h
12 #ifndef ZYPP_SolvAttr_H
13 #define ZYPP_SolvAttr_H
18 #include "zypp/base/String.h"
19 #include "zypp/IdStringType.h"
21 ///////////////////////////////////////////////////////////////////
23 { /////////////////////////////////////////////////////////////////
25 { /////////////////////////////////////////////////////////////////
28 ///////////////////////////////////////////////////////////////////
30 // CLASS NAME : SolvAttr
32 /** Solvable attribute keys.
34 class SolvAttr : public IdStringType<SolvAttr>
37 /** \name Some builtin SolvAttr constants. */
39 /** Value to request searching all Attributes (0). */
40 static const SolvAttr allAttr;
41 /** Value representing \c noAttr (<tt>""</tt>)*/
42 static const SolvAttr noAttr;
44 /** \name special solvable attributes which are part of the ::Solvable struct
46 * \todo can these be used in LookupAttr currently?
47 * \todo add dependencies here? Or move all this stuff elsewhere?
50 static const SolvAttr name;
51 static const SolvAttr edition;
52 static const SolvAttr arch;
57 static const SolvAttr summary;
58 static const SolvAttr description;
59 static const SolvAttr insnotify;
60 static const SolvAttr delnotify;
61 static const SolvAttr eula;
62 static const SolvAttr installtime;
63 static const SolvAttr buildtime;
64 static const SolvAttr installsize;
65 static const SolvAttr downloadsize;
66 static const SolvAttr diskusage;
67 static const SolvAttr cpename;
72 static const SolvAttr checksum;
73 static const SolvAttr mediadir;
74 static const SolvAttr medianr;
75 static const SolvAttr mediafile;
76 static const SolvAttr changelog;
77 static const SolvAttr buildhost;
78 static const SolvAttr distribution;
79 static const SolvAttr license;
80 static const SolvAttr packager;
81 static const SolvAttr group;
82 static const SolvAttr keywords;
83 static const SolvAttr sourcesize;
84 static const SolvAttr authors;
85 static const SolvAttr filenames;
86 static const SolvAttr filelist;
87 static const SolvAttr sourcearch;
88 static const SolvAttr sourcename;
89 static const SolvAttr sourceevr;
90 static const SolvAttr headerend;
91 static const SolvAttr url;
96 static const SolvAttr patchcategory;
97 static const SolvAttr rebootSuggested;
98 static const SolvAttr restartSuggested;
99 static const SolvAttr reloginSuggested;
100 static const SolvAttr message;
101 static const SolvAttr updateCollectionName;
102 static const SolvAttr updateCollectionEvr;
103 static const SolvAttr updateCollectionArch;
104 static const SolvAttr updateCollectionFilename;
105 static const SolvAttr updateCollectionFlags;
106 static const SolvAttr updateReferenceType;
107 static const SolvAttr updateReferenceHref;
108 static const SolvAttr updateReferenceId;
109 static const SolvAttr updateReferenceTitle;
114 static const SolvAttr isvisible;
115 static const SolvAttr icon;
116 static const SolvAttr order;
117 static const SolvAttr isdefault;
118 static const SolvAttr category;
119 static const SolvAttr script;
120 static const SolvAttr includes;
121 static const SolvAttr extends;
126 static const SolvAttr productShortlabel;
127 static const SolvAttr productDistproduct;
128 static const SolvAttr productDistversion;
129 static const SolvAttr productType;
130 static const SolvAttr productFlags;
131 static const SolvAttr productUpdaterepoKey;
132 static const SolvAttr productRegisterTarget;
133 static const SolvAttr productRegisterRelease;
134 static const SolvAttr productUrl;
135 static const SolvAttr productUrlType;
139 /** \name repository */
141 static const SolvAttr repositoryTimestamp;
142 static const SolvAttr repositoryExpire;
143 static const SolvAttr repositoryUpdates;
144 static const SolvAttr repositoryKeywords;
145 static const SolvAttr repositoryProducts;
151 /** Default ctor: \ref noAttr */
154 /** Ctor taking kind as string. */
155 explicit SolvAttr( sat::detail::IdType id_r ) : _str( id_r ) {}
156 explicit SolvAttr( const IdString & idstr_r ) : _str( idstr_r ) {}
157 explicit SolvAttr( const std::string & str_r ) : _str( str_r ) {}
158 explicit SolvAttr( const char * cstr_r ) : _str( cstr_r ) {}
161 friend class IdStringType<SolvAttr>;
165 /////////////////////////////////////////////////////////////////
168 ///////////////////////////////////////////////////////////////////
169 #endif // ZYPP_SolvAttr_H