libzypp  15.28.6
SolvAttr.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 extern "C"
13 {
14 #include <solv/knownid.h>
15 }
16 
17 #include <iostream>
18 
19 #include "zypp/base/String.h"
20 #include "zypp/sat/SolvAttr.h"
21 
22 using std::endl;
23 
25 namespace zypp
26 {
27 namespace sat
28 {
29 
30  const SolvAttr SolvAttr::allAttr( detail::noId );
31  const SolvAttr SolvAttr::noAttr;
32 
33 #warning STILL ATTRIBUTES HERE WHICH ARE NOT PROVIDED BY SOLV FILES
34 // At least the ones that do nat have a solv/knownid.
35 
36  const SolvAttr SolvAttr::name ( SOLVABLE_NAME );
37  const SolvAttr SolvAttr::edition ( SOLVABLE_EVR );
38  const SolvAttr SolvAttr::arch ( SOLVABLE_ARCH );
39  const SolvAttr SolvAttr::vendor ( SOLVABLE_VENDOR );
40 
41  const SolvAttr SolvAttr::provides ( SOLVABLE_PROVIDES );
42  const SolvAttr SolvAttr::obsoletes ( SOLVABLE_OBSOLETES );
43  const SolvAttr SolvAttr::conflicts ( SOLVABLE_CONFLICTS );
44  const SolvAttr SolvAttr::requires ( SOLVABLE_REQUIRES );
45  const SolvAttr SolvAttr::recommends ( SOLVABLE_RECOMMENDS );
46  const SolvAttr SolvAttr::suggests ( SOLVABLE_SUGGESTS );
47  const SolvAttr SolvAttr::supplements ( SOLVABLE_SUPPLEMENTS );
48  const SolvAttr SolvAttr::enhances ( SOLVABLE_ENHANCES );
49 
50  const SolvAttr SolvAttr::summary ( SOLVABLE_SUMMARY ); // translated
51  const SolvAttr SolvAttr::description ( SOLVABLE_DESCRIPTION ); // translated
52  const SolvAttr SolvAttr::insnotify ( SOLVABLE_MESSAGEINS ); // translated
53  const SolvAttr SolvAttr::delnotify ( SOLVABLE_MESSAGEDEL ); // translated
54  const SolvAttr SolvAttr::eula ( SOLVABLE_EULA ); // translated
55  const SolvAttr SolvAttr::cpeid ( SOLVABLE_CPEID );
56  const SolvAttr SolvAttr::installtime ( SOLVABLE_INSTALLTIME );
57  const SolvAttr SolvAttr::buildtime ( SOLVABLE_BUILDTIME );
58  const SolvAttr SolvAttr::installsize ( SOLVABLE_INSTALLSIZE );
59  const SolvAttr SolvAttr::downloadsize ( SOLVABLE_DOWNLOADSIZE );
60  const SolvAttr SolvAttr::diskusage ( SOLVABLE_DISKUSAGE );
61 
62  //package
63  const SolvAttr SolvAttr::checksum ( SOLVABLE_CHECKSUM );
64  const SolvAttr SolvAttr::medianr ( SOLVABLE_MEDIANR );
65  const SolvAttr SolvAttr::mediafile ( SOLVABLE_MEDIAFILE );
66  const SolvAttr SolvAttr::mediadir ( SOLVABLE_MEDIADIR );
67  const SolvAttr SolvAttr::changelog ( "changelog" );
68  const SolvAttr SolvAttr::buildhost ( SOLVABLE_BUILDHOST );
69  const SolvAttr SolvAttr::distribution ( SOLVABLE_DISTRIBUTION );
70  const SolvAttr SolvAttr::license ( SOLVABLE_LICENSE );
71  const SolvAttr SolvAttr::packager ( SOLVABLE_PACKAGER );
72  const SolvAttr SolvAttr::group ( SOLVABLE_GROUP );
73  const SolvAttr SolvAttr::keywords ( SOLVABLE_KEYWORDS );
74  const SolvAttr SolvAttr::sourcesize ( "sourcesize" );
75  const SolvAttr SolvAttr::authors ( SOLVABLE_AUTHORS );
76  const SolvAttr SolvAttr::filelist ( SOLVABLE_FILELIST );
77  const SolvAttr SolvAttr::sourcearch ( SOLVABLE_SOURCEARCH );
78  const SolvAttr SolvAttr::sourcename ( SOLVABLE_SOURCENAME );
79  const SolvAttr SolvAttr::sourceevr ( SOLVABLE_SOURCEEVR );
80  const SolvAttr SolvAttr::headerend ( SOLVABLE_HEADEREND );
81  const SolvAttr SolvAttr::url ( SOLVABLE_URL );
82 
83  // patch
84  const SolvAttr SolvAttr::patchcategory ( SOLVABLE_PATCHCATEGORY );
85  const SolvAttr SolvAttr::rebootSuggested ( UPDATE_REBOOT );
86  const SolvAttr SolvAttr::restartSuggested ( UPDATE_RESTART );
87  const SolvAttr SolvAttr::reloginSuggested ( UPDATE_RELOGIN );
88  const SolvAttr SolvAttr::message ( UPDATE_MESSAGE );
89  const SolvAttr SolvAttr::severity ( UPDATE_SEVERITY );
90  const SolvAttr SolvAttr::updateCollection ( UPDATE_COLLECTION );
91  const SolvAttr SolvAttr::updateCollectionName ( UPDATE_COLLECTION_NAME );
92  const SolvAttr SolvAttr::updateCollectionEvr ( UPDATE_COLLECTION_EVR );
93  const SolvAttr SolvAttr::updateCollectionArch ( UPDATE_COLLECTION_ARCH );
94  const SolvAttr SolvAttr::updateCollectionFilename ( UPDATE_COLLECTION_FILENAME );
95  const SolvAttr SolvAttr::updateCollectionFlags ( UPDATE_COLLECTION_FLAGS );
96  const SolvAttr SolvAttr::updateReference ( UPDATE_REFERENCE );
97  const SolvAttr SolvAttr::updateReferenceType ( UPDATE_REFERENCE_TYPE );
98  const SolvAttr SolvAttr::updateReferenceHref ( UPDATE_REFERENCE_HREF );
99  const SolvAttr SolvAttr::updateReferenceId ( UPDATE_REFERENCE_ID );
100  const SolvAttr SolvAttr::updateReferenceTitle ( UPDATE_REFERENCE_TITLE );
101 
102  //pattern
103  const SolvAttr SolvAttr::isvisible ( SOLVABLE_ISVISIBLE );
104  const SolvAttr SolvAttr::icon ( SOLVABLE_ICON );
105  const SolvAttr SolvAttr::order ( SOLVABLE_ORDER );
106  const SolvAttr SolvAttr::isdefault ( "isdefault" );
107  const SolvAttr SolvAttr::category ( SOLVABLE_CATEGORY ); // translated
108  const SolvAttr SolvAttr::script ( "script" );
109  const SolvAttr SolvAttr::includes ( SOLVABLE_INCLUDES );
110  const SolvAttr SolvAttr::extends ( SOLVABLE_EXTENDS );
111 
112  // product
113  const SolvAttr SolvAttr::productReferenceFile ( PRODUCT_REFERENCEFILE );
114  const SolvAttr SolvAttr::productProductLine ( PRODUCT_PRODUCTLINE );
115  const SolvAttr SolvAttr::productShortlabel ( PRODUCT_SHORTLABEL );
116  const SolvAttr SolvAttr::productDistproduct ( PRODUCT_DISTPRODUCT );
117  const SolvAttr SolvAttr::productDistversion ( PRODUCT_DISTVERSION );
118  const SolvAttr SolvAttr::productType ( PRODUCT_TYPE );
119  const SolvAttr SolvAttr::productFlags ( PRODUCT_FLAGS );
120  const SolvAttr SolvAttr::productEndOfLife ( PRODUCT_ENDOFLIFE );
121  const SolvAttr SolvAttr::productRegisterTarget ( PRODUCT_REGISTER_TARGET );
122  const SolvAttr SolvAttr::productRegisterRelease( PRODUCT_REGISTER_RELEASE );
123  const SolvAttr SolvAttr::productRegisterFlavor ( PRODUCT_REGISTER_FLAVOR );
124  const SolvAttr SolvAttr::productUrl ( PRODUCT_URL );
125  const SolvAttr SolvAttr::productUrlType ( PRODUCT_URL_TYPE );
127  const SolvAttr SolvAttr::productUpdates ( PRODUCT_UPDATES );
128  const SolvAttr SolvAttr::productUpdatesRepoid ( PRODUCT_UPDATES_REPOID );
129 
130  // repository
131  const SolvAttr SolvAttr::repositoryDeltaInfo ( REPOSITORY_DELTAINFO );
132  const SolvAttr SolvAttr::repositoryAddedFileProvides ( REPOSITORY_ADDEDFILEPROVIDES );
133  const SolvAttr SolvAttr::repositoryRpmDbCookie ( REPOSITORY_RPMDBCOOKIE );
134  const SolvAttr SolvAttr::repositoryTimestamp ( REPOSITORY_TIMESTAMP );
135  const SolvAttr SolvAttr::repositoryExpire ( REPOSITORY_EXPIRE );
137  const SolvAttr SolvAttr::repositoryUpdates ( REPOSITORY_UPDATES );
139  const SolvAttr SolvAttr::repositoryDistros ( REPOSITORY_DISTROS );
140  const SolvAttr SolvAttr::repositoryProductLabel ( REPOSITORY_PRODUCT_LABEL );
141  const SolvAttr SolvAttr::repositoryProductCpeid ( REPOSITORY_PRODUCT_CPEID );
142  const SolvAttr SolvAttr::repositoryRepoid ( REPOSITORY_REPOID );
143  const SolvAttr SolvAttr::repositoryKeywords ( REPOSITORY_KEYWORDS );
144  const SolvAttr SolvAttr::repositoryRevision ( REPOSITORY_REVISION );
145  const SolvAttr SolvAttr::repositoryToolVersion ( REPOSITORY_TOOLVERSION );
146 
147 
148 
150 
152  {
153  switch( id() )
154  {
155  case UPDATE_COLLECTION_NAME:
156  case UPDATE_COLLECTION_EVR:
157  case UPDATE_COLLECTION_ARCH:
158  case UPDATE_COLLECTION_FILENAME:
159  case UPDATE_COLLECTION_FLAGS:
160  return updateCollection;
161  break;
162 
163  case UPDATE_REFERENCE_TYPE:
164  case UPDATE_REFERENCE_HREF:
165  case UPDATE_REFERENCE_ID:
166  case UPDATE_REFERENCE_TITLE:
167  return updateReference;
168  break;
169  }
170  return noAttr;
171  }
172 
173 } // namespace sat
175 } // namespace zypp
static const SolvAttr productFlags
Definition: SolvAttr.h:148
static const SolvAttr productUpdates
array of repoids, hopefully label s too
Definition: SolvAttr.h:155
static const SolvAttr updateReferenceHref
Definition: SolvAttr.h:123
static const SolvAttr order
Definition: SolvAttr.h:132
static const SolvAttr conflicts
Definition: SolvAttr.h:62
static const SolvAttr repositoryExpire
Definition: SolvAttr.h:165
static const SolvAttr isvisible
Definition: SolvAttr.h:130
static const SolvAttr isdefault
Definition: SolvAttr.h:133
static const SolvAttr recommends
Definition: SolvAttr.h:64
static const SolvAttr repositoryProductLabel
Definition: SolvAttr.h:168
static const SolvAttr productDistversion
Definition: SolvAttr.h:146
static const SolvAttr allAttr
Value to request searching all Attributes (0).
Definition: SolvAttr.h:46
static const SolvAttr repositoryDeltaInfo
Definition: SolvAttr.h:161
static const SolvAttr updateReference
Definition: SolvAttr.h:121
static const SolvAttr arch
Definition: SolvAttr.h:54
static const SolvAttr installtime
Definition: SolvAttr.h:76
static const SolvAttr changelog
Definition: SolvAttr.h:90
static const SolvAttr productRegisterRelease
Definition: SolvAttr.h:151
static const SolvAttr productEndOfLife
Definition: SolvAttr.h:149
static const SolvAttr repositoryTimestamp
Definition: SolvAttr.h:164
static const SolvAttr productProductLine
Definition: SolvAttr.h:143
static const SolvAttr productUrlType
Definition: SolvAttr.h:154
static const SolvAttr packager
Definition: SolvAttr.h:94
static const SolvAttr sourcearch
Definition: SolvAttr.h:100
static const SolvAttr updateReferenceTitle
Definition: SolvAttr.h:125
static const SolvAttr insnotify
Definition: SolvAttr.h:73
SolvAttr parent() const
Return the parent of well know sub-structure attributes (SolvAttr::noAttr if none).
Definition: SolvAttr.cc:151
static const SolvAttr suggests
Definition: SolvAttr.h:65
static const SolvAttr icon
Definition: SolvAttr.h:131
static const SolvAttr repositoryAddedFileProvides
Definition: SolvAttr.h:162
static const SolvAttr repositoryRevision
Definition: SolvAttr.h:172
static const SolvAttr productRegisterTarget
Definition: SolvAttr.h:150
static const SolvAttr diskusage
Definition: SolvAttr.h:80
static const SolvAttr mediafile
Definition: SolvAttr.h:89
static const SolvAttr updateReferenceId
Definition: SolvAttr.h:124
static const SolvAttr sourceevr
Definition: SolvAttr.h:102
Solvable attribute keys.
Definition: SolvAttr.h:40
static const SolvAttr url
Definition: SolvAttr.h:104
static const SolvAttr productDistproduct
Definition: SolvAttr.h:145
static const SolvAttr updateCollection
Definition: SolvAttr.h:115
static const SolvAttr updateCollectionEvr
Definition: SolvAttr.h:117
static const SolvAttr repositoryToolVersion
Definition: SolvAttr.h:173
static const SolvAttr headerend
Definition: SolvAttr.h:103
static const SolvAttr productRegisterFlavor
Definition: SolvAttr.h:152
static const SolvAttr license
Definition: SolvAttr.h:93
static const SolvAttr vendor
Definition: SolvAttr.h:55
static const SolvAttr enhances
Definition: SolvAttr.h:67
static const SolvAttr category
Definition: SolvAttr.h:134
static const SolvAttr severity
Definition: SolvAttr.h:114
static const SolvAttr productType
Definition: SolvAttr.h:147
static const SolvAttr authors
Definition: SolvAttr.h:98
static const SolvAttr obsoletes
Definition: SolvAttr.h:61
static const SolvAttr name
Definition: SolvAttr.h:52
static const SolvAttr buildhost
Definition: SolvAttr.h:91
static const SolvAttr checksum
Definition: SolvAttr.h:86
static const SolvAttr downloadsize
Definition: SolvAttr.h:79
static const SolvAttr message
Definition: SolvAttr.h:113
static const SolvAttr productUrl
Definition: SolvAttr.h:153
static const SolvAttr updateCollectionFilename
Definition: SolvAttr.h:119
static const SolvAttr includes
Definition: SolvAttr.h:136
static const SolvAttr delnotify
Definition: SolvAttr.h:74
static const SolvAttr noAttr
Value representing noAttr ("")
Definition: SolvAttr.h:48
static const SolvAttr sourcename
Definition: SolvAttr.h:101
static const SolvAttr installsize
Definition: SolvAttr.h:78
static const SolvAttr buildtime
Definition: SolvAttr.h:77
static const SolvAttr patchcategory
Definition: SolvAttr.h:109
static const SolvAttr cpeid
Definition: SolvAttr.h:81
static const SolvAttr productUpdatesRepoid
Definition: SolvAttr.h:156
static const SolvAttr updateReferenceType
Definition: SolvAttr.h:122
static const SolvAttr repositoryRepoid
Definition: SolvAttr.h:170
static const SolvAttr provides
Definition: SolvAttr.h:60
static const SolvAttr description
Definition: SolvAttr.h:72
static const SolvAttr restartSuggested
Definition: SolvAttr.h:111
static const SolvAttr sourcesize
Definition: SolvAttr.h:97
static const IdType noId(0)
static const SolvAttr keywords
Definition: SolvAttr.h:96
static const SolvAttr reloginSuggested
Definition: SolvAttr.h:112
static const SolvAttr repositoryKeywords
Definition: SolvAttr.h:171
static const SolvAttr repositoryProductCpeid
Definition: SolvAttr.h:169
static const SolvAttr group
Definition: SolvAttr.h:95
static const SolvAttr edition
Definition: SolvAttr.h:53
static const SolvAttr filelist
Definition: SolvAttr.h:99
static const SolvAttr updateCollectionName
Definition: SolvAttr.h:116
static const SolvAttr eula
Definition: SolvAttr.h:75
static const SolvAttr summary
Definition: SolvAttr.h:71
static const SolvAttr requires
Definition: SolvAttr.h:63
static const SolvAttr repositoryRpmDbCookie
Definition: SolvAttr.h:163
static const SolvAttr repositoryDistros
array of repositoryProductLabel repositoryProductCpeid pairs
Definition: SolvAttr.h:167
static const SolvAttr distribution
Definition: SolvAttr.h:92
static const SolvAttr repositoryUpdates
array of repositoryProductLabel repositoryProductCpeid pairs
Definition: SolvAttr.h:166
static const SolvAttr updateCollectionArch
Definition: SolvAttr.h:118
static const SolvAttr extends
Definition: SolvAttr.h:137
static const SolvAttr productReferenceFile
Definition: SolvAttr.h:142
static const SolvAttr supplements
Definition: SolvAttr.h:66
static const SolvAttr script
Definition: SolvAttr.h:135
static const SolvAttr rebootSuggested
Definition: SolvAttr.h:110
static const SolvAttr productShortlabel
Definition: SolvAttr.h:144
static const SolvAttr mediadir
Definition: SolvAttr.h:87
static const SolvAttr medianr
Definition: SolvAttr.h:88
static const SolvAttr updateCollectionFlags
Definition: SolvAttr.h:120