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

libzypp 17.36.6

providespec.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
11#ifndef ZYPP_MEDIA_PROVIDESPEC_H_INCLUDED
12#define ZYPP_MEDIA_PROVIDESPEC_H_INCLUDED
13
14#include <iosfwd>
15
16#include <zypp-core/Url.h>
17#include <zypp-core/ByteCount.h>
18#include <zypp-core/CheckSum.h>
19#include <zypp-core/TriBool.h>
20#include <zypp-core/OnMediaLocation>
21#include <zypp-media/ng/ProvideFwd>
22#include <zypp-media/ng/HeaderValueMap>
23#include <boost/iterator/iterator_adaptor.hpp>
24
25namespace zyppng
26{
27
28 class ProvideMediaSpec
29 {
30 public:
31
32 ProvideMediaSpec(std::string label="", zypp::Pathname verifyData = zypp::Pathname(), unsigned medianr = 1 );
33
37 const std::string &label() const;
38
42 ProvideMediaSpec &setLabel( const std::string &label );
43
47 unsigned medianr() const;
48
52 ProvideMediaSpec & setMedianr( unsigned medianr );
53
58 zypp::Pathname mediaFile () const;
59
63 ProvideMediaSpec &setMediaFile( const zypp::Pathname &pName );
64
69 HeaderValueMap &customHeaders();
70 const HeaderValueMap &customHeaders() const;
71
75 ProvideMediaSpec &setCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
76
80 ProvideMediaSpec &addCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
81
82 zypp::TriBool isSameMedium ( const ProvideMediaSpec &other );
83
84 public:
85 class Impl;
86 private:
87 zypp::RWCOW_pointer<Impl> _pimpl;
88 };
89
90
91 class ProvideFileSpec
92 {
93 friend std::ostream & operator<<( std::ostream &str, const ProvideFileSpec &obj );
94 friend std::ostream & dumpOn( std::ostream &str, const ProvideFileSpec &obj );
95
96 public:
97 ProvideFileSpec();
98
99 ProvideFileSpec(const zypp::OnMediaLocation &loc);
100
101 ProvideFileSpec(const ProvideFileSpec &) = default;
102 ProvideFileSpec(ProvideFileSpec &&) noexcept = default;
103
104 ProvideFileSpec &operator=(const ProvideFileSpec &) = default;
105 ProvideFileSpec &operator=(ProvideFileSpec &&) noexcept = default;
106
108 ~ProvideFileSpec();
109
110 template <typename... T>
111 static ProvideFileSpecRef create ( T... args ) {
112 return std::make_shared<ProvideFileSpec>( std::forward<T>(args)... );
113 }
114
120 const zypp::Pathname &destFilenameHint() const;
121 ProvideFileSpec &setDestFilenameHint ( const zypp::Pathname &filename );
122
123 bool checkExistsOnly () const;
124 ProvideFileSpec & setCheckExistsOnly( const bool set = true );
125
126
131 bool optional() const;
133 ProvideFileSpec & setOptional( bool val );
134
136 const zypp::ByteCount &downloadSize() const;
138 ProvideFileSpec &setDownloadSize( const zypp::ByteCount &val_r );
139
141 const zypp::CheckSum &checksum() const;
143 ProvideFileSpec &setChecksum( const zypp::CheckSum &val_r );
144
145
147 const zypp::ByteCount &openSize() const;
149 ProvideFileSpec &setOpenSize( const zypp::ByteCount &val_r );
150
152 const zypp::CheckSum &openChecksum() const;
154 ProvideFileSpec &setOpenChecksum( const zypp::CheckSum &val_r );
155
157 const zypp::ByteCount &headerSize() const;
159 ProvideFileSpec &setHeaderSize( const zypp::ByteCount &val_r );
160
162 const zypp::CheckSum &headerChecksum() const;
164 ProvideFileSpec &setHeaderChecksum( const zypp::CheckSum &val_r );
165
167 const zypp::Pathname &deltafile() const;
169 ProvideFileSpec &setDeltafile( const zypp::Pathname &path );
170
177 HeaderValueMap &customHeaders();
178 const HeaderValueMap &customHeaders() const;
179
183 ProvideFileSpec &setCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
184
188 ProvideFileSpec &addCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
189
190 zypp::OnMediaLocation asOnMediaLocation ( const zypp::Pathname &path, unsigned int mediaNr ) const;
191
192 public:
193 class Impl;
194 private:
195 zypp::RWCOW_pointer<Impl> _pimpl;
196 };
197
199 std::ostream & operator<<( std::ostream &str, const ProvideFileSpec &obj );
200
202 std::ostream & dumpOn( std::ostream &str, const ProvideFileSpec &obj );
203
204} // namespace zypp
205
206#endif // ZYPP_MEDIA_PROVIDESPEC_H_INCLUDED
Impl
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::filesystem::Pathname
Pathname.
Definition Pathname.h:47
zyppng::HeaderValueMap
Definition headervaluemap.h:67
zyppng::HeaderValueMap::Value
HeaderValue Value
Definition headervaluemap.h:69
zyppng::ProvideFileSpec
Definition providespec.h:92
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::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::operator<<
friend std::ostream & operator<<(std::ostream &str, const ProvideFileSpec &obj)
Definition providespec.cc:282
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::ProvideFileSpec
ProvideFileSpec(const ProvideFileSpec &)=default
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::create
static ProvideFileSpecRef create(T... args)
Definition providespec.h:111
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::dumpOn
friend std::ostream & dumpOn(std::ostream &str, const ProvideFileSpec &obj)
Definition providespec.cc:285
zyppng::ProvideFileSpec::addCustomHeaderValue
ProvideFileSpec & addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:263
zyppng::ProvideFileSpec::ProvideFileSpec
ProvideFileSpec(ProvideFileSpec &&) noexcept=default
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::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
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
zypp::RWCOW_pointer
RW_pointer supporting 'copy on write' functionality.
Definition PtrTypes.h:469
ByteCount.h
CheckSum.h
TriBool.h
Url.h