libzypp  17.30.2
Downloader.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
9 
10 #ifndef ZYPP_REPO_DOWNLOADER
11 #define ZYPP_REPO_DOWNLOADER
12 
13 #include <optional>
14 
15 #include <zypp/Url.h>
16 #include <zypp/Pathname.h>
17 #include <zypp-core/ui/ProgressData>
18 #include <zypp/RepoStatus.h>
19 #include <zypp/MediaSetAccess.h>
20 #include <zypp/Fetcher.h>
21 #include <zypp/RepoInfo.h>
23 
24 namespace zypp
25 {
26  namespace repo
27  {
29 
37  class Downloader : public Fetcher
38  {
39  public:
43  Downloader();
45  Downloader(const RepoInfo & info);
46  virtual ~Downloader();
47 
55  virtual void download( MediaSetAccess &media,
56  const Pathname &dest_dir,
61  virtual RepoStatus status( MediaSetAccess &media );
62 
63  const RepoInfo & repoInfo() const { return _repoinfo; }
64 
65 
66  void setPluginRepoverification( std::optional<PluginRepoverification> pluginRepoverification_r )
67  { _pluginRepoverification = std::move(pluginRepoverification_r); }
68 
70  { setPluginRepoverification( std::nullopt ); }
71 
72  protected:
74  void defaultDownloadMasterIndex( MediaSetAccess & media_r, const Pathname & destdir_r, const Pathname & masterIndex_r );
75 
76  private:
78  std::optional<PluginRepoverification> _pluginRepoverification;
79  };
80  } // ns repo
81 } // ns zypp
82 
83 #endif
This class allows to retrieve a group of files in a confortable way, providing some smartness that do...
Definition: Fetcher.h:106
Media access layer responsible for handling files distributed on a set of media with media change and...
function< bool(const ProgressData &)> ReceiverFnc
Most simple version of progress reporting The percentage in most cases.
Definition: progressdata.h:139
What is known about a repository.
Definition: RepoInfo.h:72
Track changing files or directories.
Definition: RepoStatus.h:41
Downloader base class.
Definition: Downloader.h:38
virtual void download(MediaSetAccess &media, const Pathname &dest_dir, const ProgressData::ReceiverFnc &progress=ProgressData::ReceiverFnc())
Download metadata to a local directory.
Definition: Downloader.cc:134
std::optional< PluginRepoverification > _pluginRepoverification
Definition: Downloader.h:78
void defaultDownloadMasterIndex(MediaSetAccess &media_r, const Pathname &destdir_r, const Pathname &masterIndex_r)
Common workflow downloading a (signed) master index file.
Definition: Downloader.cc:141
virtual RepoStatus status(MediaSetAccess &media)
Status of the remote repository.
Definition: Downloader.cc:128
void setPluginRepoverification(std::optional< PluginRepoverification > pluginRepoverification_r)
Definition: Downloader.h:66
void setNoPluginRepoverification()
Definition: Downloader.h:69
Downloader()
Constructor.
Definition: Downloader.cc:118
const RepoInfo & repoInfo() const
Definition: Downloader.h:63
Repository metadata verification beyond GPG.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2