9 #ifndef ZYPP_NG_REPODOWNLOADER_WORKFLOW_INCLUDED 10 #define ZYPP_NG_REPODOWNLOADER_WORKFLOW_INCLUDED 14 #include <zypp/ng/repo/Downloader> 15 #include <zypp-core/zyppng/ui/ProgressObserver> 16 #include <zypp-core/zyppng/pipelines/AsyncResult> 17 #include <zypp-core/zyppng/pipelines/Expected> 18 #include <zypp-media/MediaException> 19 #include <zypp-media/ng/ProvideSpec> 25 class ProvideMediaHandle;
26 class SyncMediaHandle;
28 namespace RepoDownloaderWorkflow {
35 AsyncOpRef<expected<repo::AsyncDownloadContextRef>>
download ( repo::AsyncDownloadContextRef dl,
ProvideMediaHandle mediaHandle, ProgressObserverRef progressObserver =
nullptr );
36 expected<repo::SyncDownloadContextRef>
download ( repo::SyncDownloadContextRef dl,
SyncMediaHandle mediaHandle, ProgressObserverRef progressObserver =
nullptr );
39 template <
typename MediaHandle>
42 using ProvideType =
typename std::decay_t<MediaHandle>::ParentType;
45 constexpr
bool isAsync = std::is_same_v<std::decay_t<MediaHandle>,
ProvideMediaHandle>;
46 auto provider = mediaHandle.
parent();
51 | and_then( ProvideType::copyResultToDest( provider, destdir /
"/media.1/media" ) );
AsyncOpRef< expected< repo::AsyncDownloadContextRef > > download(repo::AsyncDownloadContextRef dl, ProvideMediaHandle mediaHandle, ProgressObserverRef progressObserver=nullptr)
Store and operate with byte count.
static const Unit MB
1000^2 Byte
#define ZYPP_EXCPT_PTR(EXCPT)
Drops a logline and returns Exception as a std::exception_ptr.
AsyncOpRef< expected< repo::AsyncDownloadContextRef > > downloadMasterIndex(repo::AsyncDownloadContextRef dl, ProvideMediaHandle mediaHandle, zypp::filesystem::Pathname masterIndex_r)
AsyncOpRef< expected< zypp::RepoStatus > > repoStatus(repo::AsyncDownloadContextRef dl, ProvideMediaHandle mediaHandle)
auto downloadMediaInfo(MediaHandle &&mediaHandle, const zypp::filesystem::Pathname &destdir)