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>
41 using namespace zyppng::operators;
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" ) );