libzypp  16.20.4
OnMediaLocation.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_SOURCE_ONMEDIALOCATION_H
13 #define ZYPP_SOURCE_ONMEDIALOCATION_H
14 
15 #include <iosfwd>
16 
17 #include "zypp/APIConfig.h"
18 #include "zypp/Pathname.h"
19 #include "zypp/ByteCount.h"
20 #include "zypp/CheckSum.h"
21 
23 namespace zypp
24 {
25 
27  //
28  // CLASS NAME : OnMediaLocation
29  //
40  {
41  friend std::ostream & operator<<( std::ostream & str, const OnMediaLocation & obj );
42 
43  public:
46  : _medianr( 0 )
47  , _optional(false)
48  {}
49 
51  OnMediaLocation( const Pathname & filename_r, unsigned medianr_r = 1 )
52  : _medianr( medianr_r )
53  , _filename( filename_r )
54  , _optional(false) // bnc #447010
55  {}
56 
57  public:
64  unsigned medianr() const { return _medianr; }
70  const Pathname & filename() const { return _filename; }
74  const CheckSum & checksum() const { return _checksum; }
79  const ByteCount & downloadSize() const { return _downloadsize; }
86  const ByteCount & openSize() const { return _opendownloadsize; }
93  const CheckSum & openChecksum() const { return _openchecksum; }
100  const bool optional() const { return _optional; }
101 
102  public:
105  { _filename = Pathname(); _medianr = 0; return *this; }
106 
109  unsigned mediaNumber_r = 1 )
110  { _filename = val_r; _medianr = mediaNumber_r; return *this; }
111 
114  { _downloadsize = val_r; return *this; }
115 
118  { _checksum = val_r; return *this; }
119 
122  { _opendownloadsize = val_r; return *this; }
123 
126  { _openchecksum = val_r; return *this; }
127 
133  { _optional = val; return *this; }
134 
135  public:
141  OnMediaLocation & changeMedianr( unsigned val_r )
142  { _medianr = val_r; return *this; }
143 
150  { _filename = val_r; return *this; }
151 
153  OnMediaLocation & prependPath( const Pathname & prefix_r )
154  { if ( !prefix_r.emptyOrRoot() ) changeFilename( prefix_r / filename() ); return *this; }
155 
156  private:
157  unsigned _medianr;
163  bool _optional;
164  };
166 
168  std::ostream & operator<<( std::ostream & str, const OnMediaLocation & obj );
169 
171 } // namespace zypp
173 #endif // ZYPP_SOURCE_ONMEDIALOCATION_H
Provides API related macros.
Store and operate with byte count.
Definition: ByteCount.h:31
Describes a path on a certain media amongs as the information required to download it,...
const bool optional() const
whether this is an optional resource.
OnMediaLocation & prependPath(const Pathname &prefix_r)
Prepend the filename with prefix_r.
OnMediaLocation & setDownloadSize(const ByteCount &val_r)
Set the files size.
const CheckSum & openChecksum() const
The checksum of the resource once it has been uncompressed or unpacked.
OnMediaLocation & unsetLocation()
Unset filename and set medianr to 0.
friend std::ostream & operator<<(std::ostream &str, const OnMediaLocation &obj)
OnMediaLocation & setOpenChecksum(const CheckSum &val_r)
Set the files open (uncompressed) checksum.
OnMediaLocation & setOptional(bool val)
Set the whether the resource is optional or not.
OnMediaLocation & setLocation(const Pathname &val_r, unsigned mediaNumber_r=1)
Set filename and media number (defaults to 1).
const Pathname & filename() const
The path to the resource relatve to the url and path.
unsigned medianr() const
media number where the resource is located.
OnMediaLocation()
Default ctor indicating no media access.
const CheckSum & checksum() const
the checksum of the resource
OnMediaLocation(const Pathname &filename_r, unsigned medianr_r=1)
Ctor taking a filename and media number (defaults to 1).
OnMediaLocation & setChecksum(const CheckSum &val_r)
Set the files checksum.
const ByteCount & downloadSize() const
The size of the resource on the server.
OnMediaLocation & changeMedianr(unsigned val_r)
Individual manipulation of medianr (prefer setLocation).
OnMediaLocation & changeFilename(const Pathname &val_r)
Individual manipulation of filename (prefer setLocation).
const ByteCount & openSize() const
The size of the resource once it has been uncompressed or unpacked.
OnMediaLocation & setOpenSize(const ByteCount &val_r)
Set the files open (uncompressed) size.
bool emptyOrRoot() const
Test for "" or "/".
Definition: Pathname.h:120
String related utilities and Regular expression matching.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147