libzypp  17.14.0
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
OnMediaLocation & unsetLocation()
Unset filename and set medianr to 0.
Describes a path on a certain media amongs as the information required to download it,...
Store and operate with byte count.
Definition: ByteCount.h:30
const ByteCount & downloadSize() const
The size of the resource on the server.
OnMediaLocation & setOptional(bool val)
Set the whether the resource is optional or not.
String related utilities and Regular expression matching.
OnMediaLocation & setOpenChecksum(const CheckSum &val_r)
Set the files open (uncompressed) checksum.
const bool optional() const
whether this is an optional resource.
unsigned medianr() const
media number where the resource is located.
bool emptyOrRoot() const
Test for "" or "/".
Definition: Pathname.h:120
OnMediaLocation & setDownloadSize(const ByteCount &val_r)
Set the files size.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147
Provides API related macros.
OnMediaLocation & setChecksum(const CheckSum &val_r)
Set the files checksum.
OnMediaLocation & setOpenSize(const ByteCount &val_r)
Set the files open (uncompressed) size.
const CheckSum & openChecksum() const
The checksum of the resource once it has been uncompressed or unpacked.
OnMediaLocation()
Default ctor indicating no media access.
const Pathname & filename() const
The path to the resource relatve to the url and path.
const ByteCount & openSize() const
The size of the resource once it has been uncompressed or unpacked.
friend std::ostream & operator<<(std::ostream &str, const OnMediaLocation &obj)
OnMediaLocation & changeFilename(const Pathname &val_r)
Individual manipulation of filename (prefer setLocation).
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
OnMediaLocation & prependPath(const Pathname &prefix_r)
Prepend the filename with prefix_r.
OnMediaLocation(const Pathname &filename_r, unsigned medianr_r=1)
Ctor taking a filename and media number (defaults to 1).
OnMediaLocation & setLocation(const Pathname &val_r, unsigned mediaNumber_r=1)
Set filename and media number (defaults to 1).
const CheckSum & checksum() const
the checksum of the resource
OnMediaLocation & changeMedianr(unsigned val_r)
Individual manipulation of medianr (prefer setLocation).