libzypp: zypp-media/ng/providespec.cc Source File

libzypp 17.36.6

providespec.cc
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12
13#include <iostream>
14#include <utility>
15#include "providespec.h"
16
17using std::endl;
18
19namespace zyppng
20{
21 class ProvideSpecBasePrivate
22 {
23 public:
24 ProvideSpecBasePrivate() {}
25 ProvideSpecBasePrivate(const ProvideSpecBasePrivate &) = default;
26 ProvideSpecBasePrivate(ProvideSpecBasePrivate &&) = delete;
27 ProvideSpecBasePrivate &operator=(const ProvideSpecBasePrivate &) = delete;
28 ProvideSpecBasePrivate &operator=(ProvideSpecBasePrivate &&) = delete;
29 virtual ~ProvideSpecBasePrivate() {}
30 HeaderValueMap _customHeaders;
31 };
32
33
34 class ProvideMediaSpec::Impl : public ProvideSpecBasePrivate
35 {
36 public:
37 Impl()
38 {}
39
40 Impl( std::string &&label, zypp::Pathname &&vPath, unsigned medianr )
41 : _label(std::move( label ))
42 , _medianr( medianr )
43 , _verifyDataPath(std::move(vPath))
44 {}
45
46 std::string _label;
47 unsigned _medianr = 0U;
48 zypp::Pathname _verifyDataPath;
49
50 public:
52 static zypp::shared_ptr<Impl> nullimpl()
53 { static zypp::shared_ptr<Impl> _nullimpl( new Impl ); return _nullimpl; }
54
55 private:
56 friend ProvideMediaSpec::Impl * zypp::rwcowClone<ProvideMediaSpec::Impl>( const ProvideMediaSpec::Impl * rhs );
57 Impl * clone() const { return new Impl( *this ); }
58 };
59
60 class ProvideFileSpec::Impl : public ProvideSpecBasePrivate
61 {
62 public:
63 Impl()
64 {}
65
66 zypp::Pathname _destFilenameHint;
67 zypp::Pathname _mediaSpecFile;
68 bool _checkExistsOnly = false;
69
70 bool _optional = false;
71 zypp::ByteCount _downloadSize;
72 zypp::CheckSum _checksum;
73
74 zypp::ByteCount _openSize;
75 zypp::CheckSum _openChecksum;
76
77 zypp::ByteCount _headerSize;
78 zypp::CheckSum _headerChecksum;
79
80 zypp::Pathname _deltafile;
81
82
83 public:
85 static zypp::shared_ptr<Impl> nullimpl()
86 { static zypp::shared_ptr<Impl> _nullimpl( new Impl ); return _nullimpl; }
87
88 private:
89 friend ProvideFileSpec::Impl * zypp::rwcowClone<ProvideFileSpec::Impl>( const ProvideFileSpec::Impl * rhs );
90 Impl * clone() const { return new Impl( *this ); }
91 };
92
93
94 ProvideMediaSpec::ProvideMediaSpec( std::string label, zypp::filesystem::Pathname verifyData, unsigned medianr )
95 : _pimpl( new Impl( std::move(label), std::move(verifyData), medianr ) )
96 {
97
98 }
99
100 const std::string &ProvideMediaSpec::label() const
101 { return _pimpl->_label; }
102
103 ProvideMediaSpec &ProvideMediaSpec::setLabel(const std::string &label)
104 {
105 _pimpl->_label = label;
106 return *this;
107 }
108
109 unsigned ProvideMediaSpec::medianr() const
110 { return _pimpl->_medianr; }
111
112 ProvideMediaSpec &ProvideMediaSpec::setMedianr(unsigned medianr)
113 {
114 _pimpl->_medianr = medianr;
115 return *this;
116 }
117
118 zypp::filesystem::Pathname ProvideMediaSpec::mediaFile() const
119 { return _pimpl->_verifyDataPath; }
120
121 ProvideMediaSpec &ProvideMediaSpec::setMediaFile(const zypp::filesystem::Pathname &pName)
122 {
123 _pimpl->_verifyDataPath = pName;
124 return *this;
125 }
126
127 HeaderValueMap &ProvideMediaSpec::customHeaders()
128 { return _pimpl->_customHeaders; }
129
130 const HeaderValueMap &ProvideMediaSpec::customHeaders() const
131 { return _pimpl->_customHeaders; }
132
133 ProvideMediaSpec &ProvideMediaSpec::setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
134 {
135 _pimpl->_customHeaders.set( key,val );
136 return *this;
137 }
138
139 ProvideMediaSpec &ProvideMediaSpec::addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
140 {
141 _pimpl->_customHeaders.add( key,val );
142 return *this;
143 }
144
145 zypp::TriBool ProvideMediaSpec::isSameMedium( const ProvideMediaSpec &other )
146 {
147 // first check if we have the same media data
148 if ( _pimpl->_verifyDataPath != other._pimpl->_verifyDataPath )
149 return false;
150
151 // if the verify file is not empty check the medianr
152 if ( !_pimpl->_verifyDataPath.empty() ) {
153 return _pimpl->_medianr == other._pimpl->_medianr;
154 }
155
156 // can't tell without the URL
157 return zypp::indeterminate;
158 }
159
161 inline std::ostream & operator<<( std::ostream & str, const ProvideFileSpec::Impl & obj )
162 {
163 return str << "{" << obj._destFilenameHint << "{" << obj._downloadSize << "|" << obj._checksum << "|" << obj._deltafile << "}" << "}";
164 }
165
167 inline std::ostream & dumpOn( std::ostream & str, const ProvideFileSpec::Impl & obj )
168 { return str << obj; }
169
170
171 ProvideFileSpec::ProvideFileSpec()
172 : _pimpl( new Impl() )
173 {}
174
175 ProvideFileSpec::ProvideFileSpec( const zypp::OnMediaLocation &loc )
176 : _pimpl( new Impl() )
177 {
178 setDownloadSize( loc.downloadSize() );
179 setOptional( loc.optional() );
180 setChecksum( loc.checksum() );
181 setOpenSize( loc.openSize() );
182 setOpenChecksum( loc.openChecksum() );
183 setHeaderSize( loc.headerSize() );
184 setHeaderChecksum( loc.headerChecksum() );
185 setDeltafile( loc.deltafile() );
186 }
187
188 ProvideFileSpec::~ProvideFileSpec()
189 {}
190
191 const zypp::filesystem::Pathname &ProvideFileSpec::destFilenameHint() const
192 { return _pimpl->_destFilenameHint; }
193
194 ProvideFileSpec &ProvideFileSpec::setDestFilenameHint(const zypp::filesystem::Pathname &filename)
195 { _pimpl->_destFilenameHint = filename; return *this; }
196
197 bool ProvideFileSpec::checkExistsOnly() const
198 { return _pimpl->_checkExistsOnly; }
199
200 ProvideFileSpec &ProvideFileSpec::setCheckExistsOnly(const bool set)
201 { _pimpl->_checkExistsOnly = set; return *this; }
202
203 bool ProvideFileSpec::optional() const
204 { return _pimpl->_optional; }
205
206 ProvideFileSpec & ProvideFileSpec::setOptional( bool val_r )
207 { _pimpl->_optional = (val_r); return *this; }
208
209 const zypp::ByteCount & ProvideFileSpec::downloadSize() const
210 { return _pimpl->_downloadSize; }
211
212 ProvideFileSpec & ProvideFileSpec::setDownloadSize( const zypp::ByteCount &val_r )
213 { _pimpl->_downloadSize = (val_r); return *this; }
214
215 const zypp::CheckSum & ProvideFileSpec::checksum() const
216 { return _pimpl->_checksum; }
217
218 ProvideFileSpec & ProvideFileSpec::setChecksum( const zypp::CheckSum &val_r )
219 { _pimpl->_checksum = (val_r); return *this; }
220
221 const zypp::ByteCount & ProvideFileSpec::openSize() const
222 { return _pimpl->_openSize; }
223
224 ProvideFileSpec & ProvideFileSpec::setOpenSize( const zypp::ByteCount &val_r )
225 { _pimpl->_openSize = (val_r); return *this; }
226
227 const zypp::CheckSum & ProvideFileSpec::openChecksum() const
228 { return _pimpl->_openChecksum; }
229
230 ProvideFileSpec & ProvideFileSpec::setOpenChecksum( const zypp::CheckSum &val_r )
231 { _pimpl->_openChecksum = (val_r); return *this; }
232
233 const zypp::ByteCount & ProvideFileSpec::headerSize() const
234 { return _pimpl->_headerSize; }
235
236 ProvideFileSpec & ProvideFileSpec::setHeaderSize( const zypp::ByteCount &val_r )
237 { _pimpl->_headerSize = (val_r); return *this; }
238
239 const zypp::CheckSum & ProvideFileSpec::headerChecksum() const
240 { return _pimpl->_headerChecksum; }
241
242 ProvideFileSpec & ProvideFileSpec::setHeaderChecksum( const zypp::CheckSum &val_r )
243 { _pimpl->_headerChecksum = (val_r); return *this; }
244
245 const zypp::Pathname &ProvideFileSpec::deltafile() const
246 { return _pimpl->_deltafile; }
247
248 ProvideFileSpec &ProvideFileSpec::setDeltafile( const zypp::Pathname &path )
249 { _pimpl->_deltafile = (path); return *this; }
250
251 HeaderValueMap &ProvideFileSpec::customHeaders()
252 { return _pimpl->_customHeaders; }
253
254 const HeaderValueMap &ProvideFileSpec::customHeaders() const
255 { return _pimpl->_customHeaders; }
256
257 ProvideFileSpec &ProvideFileSpec::setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
258 {
259 _pimpl->_customHeaders.set( key,val );
260 return *this;
261 }
262
263 ProvideFileSpec &ProvideFileSpec::addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
264 {
265 _pimpl->_customHeaders.add( key,val );
266 return *this;
267 }
268
269 zypp::OnMediaLocation ProvideFileSpec::asOnMediaLocation( const zypp::Pathname &path, unsigned int mediaNr ) const
270 {
271 return zypp::OnMediaLocation( path, mediaNr )
272 .setDownloadSize( downloadSize() )
273 .setOptional( optional() )
274 .setChecksum( checksum() )
275 .setOpenSize( openSize() )
276 .setOpenChecksum( openChecksum() )
277 .setHeaderSize( headerSize() )
278 .setHeaderChecksum( headerChecksum() )
279 .setDeltafile( deltafile() );
280 }
281
282 std::ostream & operator<<( std::ostream & str, const ProvideFileSpec & obj )
283 { return str << *obj._pimpl; }
284
285 std::ostream & dumpOn( std::ostream & str, const ProvideFileSpec & obj )
286 { return dumpOn( str, *obj._pimpl ); }
287
288} // namespace zypp
zypp::ByteCount
Store and operate with byte count.
Definition ByteCount.h:32
zypp::CheckSum
Definition CheckSum.h:34
zypp::OnMediaLocation
Describes a resource file located on a medium.
Definition onmedialocation.h:37
zypp::OnMediaLocation::optional
bool optional() const
Whether this is an optional resource.
Definition onmedialocation.cc:109
zypp::OnMediaLocation::downloadSize
const ByteCount & downloadSize() const
The size of the resource on the server.
Definition onmedialocation.cc:115
zypp::OnMediaLocation::setDownloadSize
OnMediaLocation & setDownloadSize(ByteCount val_r)
Set the downloadSize.
Definition onmedialocation.cc:118
zypp::OnMediaLocation::setOpenSize
OnMediaLocation & setOpenSize(ByteCount val_r)
Set the openSize.
Definition onmedialocation.cc:130
zypp::OnMediaLocation::openSize
const ByteCount & openSize() const
The size of the resource once it has been uncompressed or unpacked.
Definition onmedialocation.cc:127
zypp::OnMediaLocation::deltafile
const Pathname & deltafile() const
The existing deltafile that can be used to reduce download size ( zchunk or metalink )
Definition onmedialocation.cc:151
zypp::OnMediaLocation::headerSize
const ByteCount & headerSize() const
The size of the header prepending the resource (e.g.
Definition onmedialocation.cc:139
zypp::OnMediaLocation::setChecksum
OnMediaLocation & setChecksum(CheckSum val_r)
Set the checksum.
Definition onmedialocation.cc:124
zypp::OnMediaLocation::headerChecksum
const CheckSum & headerChecksum() const
The checksum of the header prepending the resource (e.g.
Definition onmedialocation.cc:145
zypp::OnMediaLocation::setHeaderSize
OnMediaLocation & setHeaderSize(ByteCount val_r)
Set the headerSize.
Definition onmedialocation.cc:142
zypp::OnMediaLocation::checksum
const CheckSum & checksum() const
The checksum of the resource on the server.
Definition onmedialocation.cc:121
zypp::OnMediaLocation::openChecksum
const CheckSum & openChecksum() const
The checksum of the resource once it has been uncompressed or unpacked.
Definition onmedialocation.cc:133
zypp::OnMediaLocation::setOpenChecksum
OnMediaLocation & setOpenChecksum(CheckSum val_r)
Set the openChecksum.
Definition onmedialocation.cc:136
zypp::OnMediaLocation::setHeaderChecksum
OnMediaLocation & setHeaderChecksum(CheckSum val_r)
Set the headerChecksum.
Definition onmedialocation.cc:148
zypp::OnMediaLocation::setOptional
OnMediaLocation & setOptional(bool val)
Set whether the resource is optional.
Definition onmedialocation.cc:112
zypp::OnMediaLocation::setDeltafile
OnMediaLocation & setDeltafile(Pathname path)
Set the deltafile.
Definition onmedialocation.cc:154
zypp::filesystem::Pathname
Pathname.
Definition Pathname.h:47
zyppng::HeaderValueMap
Definition headervaluemap.h:67
zyppng::HeaderValueMap::Value
HeaderValue Value
Definition headervaluemap.h:69
zyppng::ProvideFileSpec::Impl
Definition providespec.cc:61
zyppng::ProvideFileSpec::Impl::clone
Impl * clone() const
Definition providespec.cc:90
zyppng::ProvideFileSpec::Impl::_checksum
zypp::CheckSum _checksum
Definition providespec.cc:72
zyppng::ProvideFileSpec::Impl::Impl
Impl()
Definition providespec.cc:63
zyppng::ProvideFileSpec::Impl::_downloadSize
zypp::ByteCount _downloadSize
Definition providespec.cc:71
zyppng::ProvideFileSpec::Impl::_checkExistsOnly
bool _checkExistsOnly
Definition providespec.cc:68
zyppng::ProvideFileSpec::Impl::_openSize
zypp::ByteCount _openSize
Definition providespec.cc:74
zyppng::ProvideFileSpec::Impl::_openChecksum
zypp::CheckSum _openChecksum
Definition providespec.cc:75
zyppng::ProvideFileSpec::Impl::_headerChecksum
zypp::CheckSum _headerChecksum
Definition providespec.cc:78
zyppng::ProvideFileSpec::Impl::nullimpl
static zypp::shared_ptr< Impl > nullimpl()
Offer default Impl.
Definition providespec.cc:85
zyppng::ProvideFileSpec::Impl::_optional
bool _optional
Definition providespec.cc:70
zyppng::ProvideFileSpec::Impl::_mediaSpecFile
zypp::Pathname _mediaSpecFile
Definition providespec.cc:67
zyppng::ProvideFileSpec::Impl::_deltafile
zypp::Pathname _deltafile
Definition providespec.cc:80
zyppng::ProvideFileSpec::Impl::_headerSize
zypp::ByteCount _headerSize
Definition providespec.cc:77
zyppng::ProvideFileSpec::Impl::_destFilenameHint
zypp::Pathname _destFilenameHint
Definition providespec.cc:66
zyppng::ProvideFileSpec::ProvideFileSpec
ProvideFileSpec()
Definition providespec.cc:171
zyppng::ProvideFileSpec::optional
bool optional() const
Whether this is an optional resource.
Definition providespec.cc:203
zyppng::ProvideFileSpec::setHeaderChecksum
ProvideFileSpec & setHeaderChecksum(const zypp::CheckSum &val_r)
Set the headerChecksum.
Definition providespec.cc:242
zyppng::ProvideFileSpec::openChecksum
const zypp::CheckSum & openChecksum() const
The checksum of the resource once it has been uncompressed or unpacked.
Definition providespec.cc:227
zyppng::ProvideFileSpec::setCustomHeaderValue
ProvideFileSpec & setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:257
zyppng::ProvideFileSpec::setDeltafile
ProvideFileSpec & setDeltafile(const zypp::Pathname &path)
Set the deltafile.
Definition providespec.cc:248
zyppng::ProvideFileSpec::setCheckExistsOnly
ProvideFileSpec & setCheckExistsOnly(const bool set=true)
Definition providespec.cc:200
zyppng::ProvideFileSpec::~ProvideFileSpec
~ProvideFileSpec()
Dtor.
Definition providespec.cc:188
zyppng::ProvideFileSpec::customHeaders
HeaderValueMap & customHeaders()
Definition providespec.cc:251
zyppng::ProvideFileSpec::destFilenameHint
const zypp::Pathname & destFilenameHint() const
Definition providespec.cc:191
zyppng::ProvideFileSpec::setOptional
ProvideFileSpec & setOptional(bool val)
Set whether the resource is optional.
Definition providespec.cc:206
zyppng::ProvideFileSpec::downloadSize
const zypp::ByteCount & downloadSize() const
The size of the resource on the server.
Definition providespec.cc:209
zyppng::ProvideFileSpec::asOnMediaLocation
zypp::OnMediaLocation asOnMediaLocation(const zypp::Pathname &path, unsigned int mediaNr) const
Definition providespec.cc:269
zyppng::ProvideFileSpec::setOpenSize
ProvideFileSpec & setOpenSize(const zypp::ByteCount &val_r)
Set the openSize.
Definition providespec.cc:224
zyppng::ProvideFileSpec::setChecksum
ProvideFileSpec & setChecksum(const zypp::CheckSum &val_r)
Set the checksum.
Definition providespec.cc:218
zyppng::ProvideFileSpec::openSize
const zypp::ByteCount & openSize() const
The size of the resource once it has been uncompressed or unpacked.
Definition providespec.cc:221
zyppng::ProvideFileSpec::setOpenChecksum
ProvideFileSpec & setOpenChecksum(const zypp::CheckSum &val_r)
Set the openChecksum.
Definition providespec.cc:230
zyppng::ProvideFileSpec::deltafile
const zypp::Pathname & deltafile() const
The existing deltafile that can be used to reduce download size ( zchunk or metalink )
Definition providespec.cc:245
zyppng::ProvideFileSpec::setDestFilenameHint
ProvideFileSpec & setDestFilenameHint(const zypp::Pathname &filename)
Definition providespec.cc:194
zyppng::ProvideFileSpec::_pimpl
zypp::RWCOW_pointer< Impl > _pimpl
Implementation class.
Definition providespec.h:195
zyppng::ProvideFileSpec::checksum
const zypp::CheckSum & checksum() const
The checksum of the resource on the server.
Definition providespec.cc:215
zyppng::ProvideFileSpec::setDownloadSize
ProvideFileSpec & setDownloadSize(const zypp::ByteCount &val_r)
Set the downloadSize.
Definition providespec.cc:212
zyppng::ProvideFileSpec::headerChecksum
const zypp::CheckSum & headerChecksum() const
The checksum of the header prepending the resource (e.g.
Definition providespec.cc:239
zyppng::ProvideFileSpec::setHeaderSize
ProvideFileSpec & setHeaderSize(const zypp::ByteCount &val_r)
Set the headerSize.
Definition providespec.cc:236
zyppng::ProvideFileSpec::addCustomHeaderValue
ProvideFileSpec & addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:263
zyppng::ProvideFileSpec::headerSize
const zypp::ByteCount & headerSize() const
The size of the header prepending the resource (e.g.
Definition providespec.cc:233
zyppng::ProvideFileSpec::checkExistsOnly
bool checkExistsOnly() const
Definition providespec.cc:197
zyppng::ProvideMediaSpec::Impl
Definition providespec.cc:35
zyppng::ProvideMediaSpec::Impl::_label
std::string _label
Definition providespec.cc:46
zyppng::ProvideMediaSpec::Impl::nullimpl
static zypp::shared_ptr< Impl > nullimpl()
Offer default Impl.
Definition providespec.cc:52
zyppng::ProvideMediaSpec::Impl::_medianr
unsigned _medianr
Definition providespec.cc:47
zyppng::ProvideMediaSpec::Impl::Impl
Impl()
Definition providespec.cc:37
zyppng::ProvideMediaSpec::Impl::clone
Impl * clone() const
Definition providespec.cc:57
zyppng::ProvideMediaSpec::Impl::Impl
Impl(std::string &&label, zypp::Pathname &&vPath, unsigned medianr)
Definition providespec.cc:40
zyppng::ProvideMediaSpec::Impl::_verifyDataPath
zypp::Pathname _verifyDataPath
Definition providespec.cc:48
zyppng::ProvideMediaSpec::setMedianr
ProvideMediaSpec & setMedianr(unsigned medianr)
Definition providespec.cc:112
zyppng::ProvideMediaSpec::isSameMedium
zypp::TriBool isSameMedium(const ProvideMediaSpec &other)
Definition providespec.cc:145
zyppng::ProvideMediaSpec::setLabel
ProvideMediaSpec & setLabel(const std::string &label)
Definition providespec.cc:103
zyppng::ProvideMediaSpec::ProvideMediaSpec
ProvideMediaSpec(std::string label="", zypp::Pathname verifyData=zypp::Pathname(), unsigned medianr=1)
Definition providespec.cc:94
zyppng::ProvideMediaSpec::customHeaders
HeaderValueMap & customHeaders()
Definition providespec.cc:127
zyppng::ProvideMediaSpec::medianr
unsigned medianr() const
Definition providespec.cc:109
zyppng::ProvideMediaSpec::setCustomHeaderValue
ProvideMediaSpec & setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:133
zyppng::ProvideMediaSpec::mediaFile
zypp::Pathname mediaFile() const
Definition providespec.cc:118
zyppng::ProvideMediaSpec::setMediaFile
ProvideMediaSpec & setMediaFile(const zypp::Pathname &pName)
Definition providespec.cc:121
zyppng::ProvideMediaSpec::label
const std::string & label() const
Definition providespec.cc:100
zyppng::ProvideMediaSpec::_pimpl
zypp::RWCOW_pointer< Impl > _pimpl
Implementation class.
Definition providespec.h:87
zyppng::ProvideMediaSpec::addCustomHeaderValue
ProvideMediaSpec & addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:139
zyppng::ProvideSpecBasePrivate::ProvideSpecBasePrivate
ProvideSpecBasePrivate()
Definition providespec.cc:24
zyppng::ProvideSpecBasePrivate::_customHeaders
HeaderValueMap _customHeaders
Definition providespec.cc:30
zyppng::ProvideSpecBasePrivate::operator=
ProvideSpecBasePrivate & operator=(const ProvideSpecBasePrivate &)=delete
zyppng::ProvideSpecBasePrivate::~ProvideSpecBasePrivate
virtual ~ProvideSpecBasePrivate()
Definition providespec.cc:29
zyppng::ProvideSpecBasePrivate::ProvideSpecBasePrivate
ProvideSpecBasePrivate(const ProvideSpecBasePrivate &)=default
zyppng::ProvideSpecBasePrivate::ProvideSpecBasePrivate
ProvideSpecBasePrivate(ProvideSpecBasePrivate &&)=delete
zyppng::ProvideSpecBasePrivate::operator=
ProvideSpecBasePrivate & operator=(ProvideSpecBasePrivate &&)=delete
std
Definition Arch.h:364
str
String related utilities and Regular expression matching.
zypp::dumpOn
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
Definition Capability.cc:580
zypp::operator<<
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Definition SerialNumber.cc:52
zypp::TriBool
boost::logic::tribool TriBool
3-state boolean logic (true, false and indeterminate).
Definition String.h:30
zyppng
Definition MediaCurl2.h:22
providespec.h
zypp::RWCOW_pointer::rwcowClone
D * rwcowClone(const D *rhs)
Clone the underlying object.
Definition PtrTypes.h:453