libzypp 17.31.23
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
24namespace 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:140
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
const RepoInfo & repoInfo() const
Definition: Downloader.h:63
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
Repository metadata verification beyond GPG.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2