libzypp 17.37.10

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
25 namespace 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 ) const;
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
172 bool mirrorsAllowed() const;
173
175 ProvideFileSpec &setMirrorsAllowed( bool set = true );
176
183 HeaderValueMap &customHeaders();
184 const HeaderValueMap &customHeaders() const;
185
189 ProvideFileSpec &setCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
190
194 ProvideFileSpec &addCustomHeaderValue ( const std::string &key, const HeaderValueMap::Value &val );
195
196 zypp::OnMediaLocation asOnMediaLocation ( const zypp::Pathname &path, unsigned int mediaNr ) const;
197
198 public:
199 class Impl;
200 private:
201 zypp::RWCOW_pointer<Impl> _pimpl;
202 };
203
205 std::ostream & operator<<( std::ostream &str, const ProvideFileSpec &obj );
206
208 std::ostream & dumpOn( std::ostream &str, const ProvideFileSpec &obj );
209
210} // namespace zypp
211
212#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:172
zyppng::ProvideFileSpec::optional
bool optional() const
Whether this is an optional resource.
Definition providespec.cc:204
zyppng::ProvideFileSpec::setHeaderChecksum
ProvideFileSpec & setHeaderChecksum(const zypp::CheckSum &val_r)
Set the headerChecksum.
Definition providespec.cc:243
zyppng::ProvideFileSpec::openChecksum
const zypp::CheckSum & openChecksum() const
The checksum of the resource once it has been uncompressed or unpacked.
Definition providespec.cc:228
zyppng::ProvideFileSpec::setCustomHeaderValue
ProvideFileSpec & setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:264
zyppng::ProvideFileSpec::setDeltafile
ProvideFileSpec & setDeltafile(const zypp::Pathname &path)
Set the deltafile.
Definition providespec.cc:249
zyppng::ProvideFileSpec::setCheckExistsOnly
ProvideFileSpec & setCheckExistsOnly(const bool set=true)
Definition providespec.cc:201
zyppng::ProvideFileSpec::customHeaders
HeaderValueMap & customHeaders()
Definition providespec.cc:258
zyppng::ProvideFileSpec::destFilenameHint
const zypp::Pathname & destFilenameHint() const
Definition providespec.cc:192
zyppng::ProvideFileSpec::setOptional
ProvideFileSpec & setOptional(bool val)
Set whether the resource is optional.
Definition providespec.cc:207
zyppng::ProvideFileSpec::operator<<
friend std::ostream & operator<<(std::ostream &str, const ProvideFileSpec &obj)
Definition providespec.cc:290
zyppng::ProvideFileSpec::downloadSize
const zypp::ByteCount & downloadSize() const
The size of the resource on the server.
Definition providespec.cc:210
zyppng::ProvideFileSpec::asOnMediaLocation
zypp::OnMediaLocation asOnMediaLocation(const zypp::Pathname &path, unsigned int mediaNr) const
Definition providespec.cc:276
zyppng::ProvideFileSpec::setOpenSize
ProvideFileSpec & setOpenSize(const zypp::ByteCount &val_r)
Set the openSize.
Definition providespec.cc:225
zyppng::ProvideFileSpec::setMirrorsAllowed
ProvideFileSpec & setMirrorsAllowed(bool set=true)
Enables or disables the use of mirrors when fetching this file.
Definition providespec.cc:255
zyppng::ProvideFileSpec::setChecksum
ProvideFileSpec & setChecksum(const zypp::CheckSum &val_r)
Set the checksum.
Definition providespec.cc:219
zyppng::ProvideFileSpec::mirrorsAllowed
bool mirrorsAllowed() const
The requested file is allowed to be fetched via mirrors ( defaults to true )
Definition providespec.cc:252
zyppng::ProvideFileSpec::openSize
const zypp::ByteCount & openSize() const
The size of the resource once it has been uncompressed or unpacked.
Definition providespec.cc:222
zyppng::ProvideFileSpec::setOpenChecksum
ProvideFileSpec & setOpenChecksum(const zypp::CheckSum &val_r)
Set the openChecksum.
Definition providespec.cc:231
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:246
zyppng::ProvideFileSpec::setDestFilenameHint
ProvideFileSpec & setDestFilenameHint(const zypp::Pathname &filename)
Definition providespec.cc:195
zyppng::ProvideFileSpec::_pimpl
zypp::RWCOW_pointer< Impl > _pimpl
Implementation class.
Definition providespec.h:201
zyppng::ProvideFileSpec::checksum
const zypp::CheckSum & checksum() const
The checksum of the resource on the server.
Definition providespec.cc:216
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:213
zyppng::ProvideFileSpec::headerChecksum
const zypp::CheckSum & headerChecksum() const
The checksum of the header prepending the resource (e.g.
Definition providespec.cc:240
zyppng::ProvideFileSpec::setHeaderSize
ProvideFileSpec & setHeaderSize(const zypp::ByteCount &val_r)
Set the headerSize.
Definition providespec.cc:237
zyppng::ProvideFileSpec::dumpOn
friend std::ostream & dumpOn(std::ostream &str, const ProvideFileSpec &obj)
Definition providespec.cc:293
zyppng::ProvideFileSpec::addCustomHeaderValue
ProvideFileSpec & addCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:270
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:234
zyppng::ProvideFileSpec::checkExistsOnly
bool checkExistsOnly() const
Definition providespec.cc:198
zyppng::ProvideMediaSpec::Impl
Definition providespec.cc:35
zyppng::ProvideMediaSpec::setMedianr
ProvideMediaSpec & setMedianr(unsigned medianr)
Definition providespec.cc:113
zyppng::ProvideMediaSpec::setLabel
ProvideMediaSpec & setLabel(const std::string &label)
Definition providespec.cc:104
zyppng::ProvideMediaSpec::ProvideMediaSpec
ProvideMediaSpec(std::string label="", zypp::Pathname verifyData=zypp::Pathname(), unsigned medianr=1)
Definition providespec.cc:95
zyppng::ProvideMediaSpec::customHeaders
HeaderValueMap & customHeaders()
Definition providespec.cc:128
zyppng::ProvideMediaSpec::isSameMedium
zypp::TriBool isSameMedium(const ProvideMediaSpec &other) const
Definition providespec.cc:146
zyppng::ProvideMediaSpec::medianr
unsigned medianr() const
Definition providespec.cc:110
zyppng::ProvideMediaSpec::setCustomHeaderValue
ProvideMediaSpec & setCustomHeaderValue(const std::string &key, const HeaderValueMap::Value &val)
Definition providespec.cc:134
zyppng::ProvideMediaSpec::mediaFile
zypp::Pathname mediaFile() const
Definition providespec.cc:119
zyppng::ProvideMediaSpec::setMediaFile
ProvideMediaSpec & setMediaFile(const zypp::Pathname &pName)
Definition providespec.cc:122
zyppng::ProvideMediaSpec::label
const std::string & label() const
Definition providespec.cc:101
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:140
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:31
zyppng
Definition MediaNetworkRequestExecutor.h:16
zypp::RWCOW_pointer
RW_pointer supporting 'copy on write' functionality.
Definition PtrTypes.h:469
ByteCount.h
CheckSum.h
TriBool.h
Url.h