libzypp  17.14.0
Fetcher.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_FETCHER_H
13 #define ZYPP_FETCHER_H
14 
15 #include <iosfwd>
16 #include <list>
17 
18 #include "zypp/base/Flags.h"
19 #include "zypp/base/PtrTypes.h"
20 #include "zypp/Pathname.h"
21 #include "zypp/Url.h"
22 #include "zypp/OnMediaLocation.h"
23 #include "zypp/Digest.h"
24 #include "zypp/MediaSetAccess.h"
25 #include "zypp/FileChecker.h"
26 #include "zypp/ProgressData.h"
27 
29 namespace zypp
30 {
31 
105  class Fetcher
106  {
107  friend std::ostream & operator<<( std::ostream & str,
108  const Fetcher & obj );
109  public:
111  class Impl;
112  public:
113 
117  enum Option
118  {
134  };
135  ZYPP_DECLARE_FLAGS(Options, Option);
136 
138  Fetcher();
140  virtual ~Fetcher();
141 
142  public:
143 
148  void setOptions( Options options );
149 
154  Options options() const;
155 
180  void addIndex( const OnMediaLocation &resource );
181 
187  void enqueue( const OnMediaLocation &resource,
188  const FileChecker &checker = FileChecker() );
189 
207  void enqueueDigested( const OnMediaLocation &resource,
208  const FileChecker &checker = FileChecker(), const Pathname &deltafile = Pathname());
209 
210 
250  void enqueueDir( const OnMediaLocation &resource,
251  bool recursive = false,
252  const FileChecker &checker = FileChecker() );
253 
294  void enqueueDigestedDir( const OnMediaLocation &resource,
295  bool recursive = false,
296  const FileChecker &checker = FileChecker() );
297 
302  void addCachePath( const Pathname &cache_dir );
303 
308  void reset();
309 
319  void start( const Pathname &dest_dir,
320  MediaSetAccess &media,
322 
323  private:
326  };
328  ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Fetcher::Options);
329 
331  std::ostream & operator<<( std::ostream & str, const Fetcher & obj );
332 
334 } // namespace zypp
336 #endif // ZYPP_FETCHER_H
Mutable option.
Definition: ZConfig.cc:234
void setOptions(Options options)
Set the Fetcher options.
Definition: Fetcher.cc:821
Describes a path on a certain media amongs as the information required to download it,...
void addIndex(const OnMediaLocation &resource)
Adds an index containing metadata (for example checksums ) that will be retrieved and read before the...
Definition: Fetcher.cc:851
Option
Various option flags to change behavior.
Definition: Fetcher.h:117
ZYPP_DECLARE_FLAGS(Options, Option)
ZYPP_DECLARE_OPERATORS_FOR_FLAGS(DiskUsageCounter::MountPoint::HintFlags)
String related utilities and Regular expression matching.
void addCachePath(const Pathname &cache_dir)
adds a directory to the list of directories where to look for cached files
Definition: Fetcher.cc:862
If a content file is found, it is downloaded and read.
Definition: Fetcher.h:123
void enqueueDigestedDir(const OnMediaLocation &resource, bool recursive=false, const FileChecker &checker=FileChecker())
Enqueue a directory and always check for checksums.
Definition: Fetcher.cc:843
function< bool(const ProgressData &)> ReceiverFnc
Most simple version of progress reporting The percentage in most cases.
Definition: ProgressData.h:139
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: Fetcher.h:325
void enqueueDigested(const OnMediaLocation &resource, const FileChecker &checker=FileChecker(), const Pathname &deltafile=Pathname())
Enqueue a object for transferal, they will not be transferred until start() is called.
Definition: Fetcher.cc:831
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Definition: Exception.cc:147
void reset()
Reset the transfer (jobs) list.
Definition: Fetcher.cc:867
friend std::ostream & operator<<(std::ostream &str, const Fetcher &obj)
Definition: Fetcher.cc:879
void start(const Pathname &dest_dir, MediaSetAccess &media, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
start the transfer to a destination directory dest_dir You have to provde a media set access media to...
Definition: Fetcher.cc:872
Fetcher()
Default ctor.
Definition: Fetcher.cc:814
void enqueueDir(const OnMediaLocation &resource, bool recursive=false, const FileChecker &checker=FileChecker())
Enqueue a directory.
Definition: Fetcher.cc:836
If a CHECKSUMS file is found, it is downloaded and read.
Definition: Fetcher.h:128
Fetcher implementation.
Definition: Fetcher.cc:126
If a content or CHECKSUMS file is found, it is downloaded and read.
Definition: Fetcher.h:133
function< void(const Pathname &file)> FileChecker
Functor signature used to check files.
Definition: FileChecker.h:28
Options options() const
Get current options.
Definition: Fetcher.cc:826
void enqueue(const OnMediaLocation &resource, const FileChecker &checker=FileChecker())
Enqueue a object for transferal, they will not be transferred until start() is called.
Definition: Fetcher.cc:857
virtual ~Fetcher()
Dtor.
Definition: Fetcher.cc:818
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
This class allows to retrieve a group of files in a confortable way, providing some smartness that do...
Definition: Fetcher.h:105