9 #ifndef ZYPP_MEDIA_PROVIDE_H_INCLUDED 10 #define ZYPP_MEDIA_PROVIDE_H_INCLUDED 12 #include <zypp-core/ManagedFile.h> 13 #include <zypp-core/zyppng/base/zyppglobal.h> 14 #include <zypp-core/zyppng/base/Base> 15 #include <zypp-core/zyppng/async/AsyncOp> 16 #include <zypp-core/zyppng/pipelines/expected.h> 17 #include <zypp-core/ByteCount.h> 18 #include <zypp-media/ng/ProvideFwd> 19 #include <zypp-media/ng/ProvideRes> 20 #include <zypp-media/auth/AuthData> 21 #include <boost/any.hpp> 26 struct CredManagerOptions;
41 using AnyMap = std::unordered_map<std::string, boost::any>;
51 std::shared_ptr<Provide>
parent()
const;
53 std::string
handle()
const;
56 std::shared_ptr<Data>
_ref;
91 virtual void pulse ( );
93 const Stats &
stats()
const;
116 AsyncOpRef<expected<ProvideRes>>
provide(
const std::vector<zypp::Url> &urls,
const ProvideFileSpec &request );
157 SignalProxy<MediaChangeAction( const std::string &queueRef, const std::string &label, const int32_t mediaNr, const std::vector<std::string> &devices,
const std::optional<std::string> &desc )>
sigMediaChangeRequested( );
163 SignalProxy< std::optional<zypp::media::AuthData> (
const zypp::Url &reqUrl,
const std::string &triedUsername,
const std::map<std::string, std::string> &extraValues ) >
sigAuthRequired();
SignalProxy< void()> sigIdle()
const zypp::Pathname & providerWorkdir() const
constexpr std::string_view Url("url")
zypp::ByteCount _finishedBytes
AsyncOpRef< expected< ProvideRes > > provide(const std::vector< zypp::Url > &urls, const ProvideFileSpec &request)
const zypp::media::CredManagerOptions & credManangerOptions() const
ProvideStatus(ProvideRef parent)
virtual void requestDone(ProvideItem &item, uint32_t reqId, const AnyMap &extraData={})
Store and operate with byte count.
virtual void itemStart(ProvideItem &item)
virtual void requestFailed(ProvideItem &item, uint32_t reqId, const std::exception_ptr err, const AnyMap &requestData={})
ZYPP_DECLARE_PRIVATE(Provide)
virtual void itemFailed(ProvideItem &item)
AsyncOpRef< expected< std::string > > checksumForFile(const zypp::Pathname &p, const std::string &algorithm)
virtual void provideDone()
static ProvideRef create(const zypp::Pathname &workDir="")
zypp::ByteCount _perSecond
std::chrono::steady_clock::time_point _lastPulseTime
void setCredManagerOptions(const zypp::media::CredManagerOptions &opt)
SignalProxy< MediaChangeAction(const std::string &queueRef, const std::string &label, const int32_t mediaNr, const std::vector< std::string > &devices, const std::optional< std::string > &desc)> sigMediaChangeRequested()
virtual void requestRedirect(ProvideItem &item, uint32_t reqId, const zypp::Url &toUrl, const AnyMap &extraData={})
zypp::ByteCount _expectedBytes
virtual void itemDone(ProvideItem &item)
bool ejectDevice(const std::string &queueRef, const std::string &device)
void setWorkerPath(const zypp::Pathname &path)
std::optional< Action > MediaChangeAction
friend class ProvideMediaHandle
virtual void provideStart()
zypp::ByteCount _partialBytes
Provide(const zypp::Pathname &workDir)
AsyncOpRef< expected< MediaHandle > > attachMedia(const std::vector< zypp::Url > &urls, const ProvideMediaSpec &request)
zypp::ByteCount _perSecondSinceLastPulse
void setStatusTracker(ProvideStatusRef tracker)
std::chrono::steady_clock::time_point _startTime
const Stats & stats() const
AsyncOpRef< expected< zypp::ManagedFile > > copyFile(const zypp::Pathname &source, const zypp::Pathname &target)
constexpr std::string_view device("device")
std::unordered_map< std::string, boost::any > AnyMap
void releaseMedia(const std::string &mediaRef)
Easy-to use interface to the ZYPP dependency resolver.
virtual void requestStart(ProvideItem &item, uint32_t reqId, const zypp::Url &url, const AnyMap &extraData={})
SignalProxy< std::optional< zypp::media::AuthData > const zypp::Url &reqUrl, const std::string &triedUsername, const std::map< std::string, std::string > &extraValues) > sigAuthRequired()