14#ifndef ZYPP_MEDIA_PRIVATE_PROVIDE_ITEM_P_H_INCLUDED
15#define ZYPP_MEDIA_PRIVATE_PROVIDE_ITEM_P_H_INCLUDED
21#include <zypp-media/ng/Provide>
22#include <zypp-media/ng/ProvideItem>
23#include <zypp-media/ng/ProvideRes>
24#include <zypp-media/ng/ProvideSpec>
58 const std::optional<zypp::Url>
activeUrl()
const;
70 return _origin.authority().url();
112 template<
typename T >
Store and operate with byte count.
Manages a data source characterized by an authoritative URL and a list of mirror URLs.
expected< zypp::media::AuthData > authenticationRequired(ProvideQueue &queue, ProvideRequestRef req, const zypp::Url &effectiveUrl, int64_t lastTimestamp, const std::map< std::string, std::string > &extraFields) override
ProvideFileItem(zypp::MirroredOrigin origin, const ProvideFileSpec &request, ProvidePrivate &parent)
zypp::Pathname _stagingFile
void cancelWithError(std::exception_ptr error) override
zypp::ByteCount bytesExpected() const override
void setMediaRef(Provide::MediaHandle &&hdl)
Provide::MediaHandle & mediaRef()
void finishReq(ProvideQueue &queue, ProvideRequestRef finishedReq, const ProvideMessage &msg) override
Provide::MediaHandle _handleRef
void initialize() override
zypp::MirroredOrigin _origin
ProvideFileSpec _initialSpec
static ProvideFileItemRef create(zypp::MirroredOrigin origin, const ProvideFileSpec &request, ProvidePrivate &parent)
ProvidePromiseRef< ProvideRes > promise()
zypp::ByteCount _expectedBytes
zypp::Pathname _targetFile
ItemStats makeStats() override
void informalMessage(ProvideQueue &, ProvideRequestRef req, const ProvideMessage &msg) override
ProvidePromiseWeakRef< ProvideRes > _promise
Signal< void(ProvideItem &item, ProvideItem::State oldState, ProvideItem::State newState)> _sigStateChanged
std::chrono::steady_clock::time_point _itemFinished
std::optional< ProvideItem::ItemStats > _currStats
ProvideItemPrivate(ProvidePrivate &parent, ProvideItem &pub)
ProvideItem::State _itemState
std::chrono::steady_clock::time_point _itemStarted
std::optional< ProvideItem::ItemStats > _prevStats
ProvideItem(ProvidePrivate &parent)
friend class ProvidePrivate
virtual void finishReq(ProvideQueue &queue, ProvideRequestRef finishedReq, const ProvideMessage &msg)
friend class ProvideQueue
ProvideItemWeakRef _myProvide
ProvidePromise(ProvideItemRef provideItem)
std::vector< zypp::Url > _pastRedirects
void setActiveUrl(const zypp::Url &urlToUse)
void setOrigin(zypp::MirroredOrigin origin)
ProvideQueueWeakRef _myQueue
std::optional< zypp::Url > _activeUrl
static expected< ProvideRequestRef > createDetach(const zypp::Url &url)
ProvideMessage & provideMessage()
const ProvideMessage & provideMessage() const
void setCurrentQueue(ProvideQueueRef ref)
ProvideQueueRef currentQueue()
const zypp::MirroredOrigin & origin() const
const std::optional< zypp::Url > activeUrl() const
Returns the currenty active URL as set by the scheduler.
void setUrl(const zypp::Url &url)
zypp::MirroredOrigin _origin
static expected< ProvideRequestRef > create(ProvideItem &owner, const zypp::MirroredOrigin &origin, const std::string &id, ProvideMediaSpec &spec)
ProvideRequest(ProvideItem *owner, zypp::MirroredOrigin origin, ProvideMessage &&msg)
ProvideMediaHandle MediaHandle
std::shared_ptr< ProvidePromise< T > > ProvidePromiseRef
sigc::connection connection
std::weak_ptr< ProvidePromise< T > > ProvidePromiseWeakRef