14#ifndef ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_BASE_P_H_INCLUDED
15#define ZYPP_CURL_NG_NETWORK_PRIVATE_DOWNLOADERSTATES_BASE_P_H_INCLUDED
17#include <zypp-core/zyppng/base/private/base_p.h>
18#include <zypp-core/zyppng/base/signals.h>
19#include <zypp-core/TriBool.h>
20#include <zypp-curl/ng/network/Downloader>
21#include <zypp-curl/ng/network/DownloadSpec>
22#include <zypp-core/zyppng/core/ByteArray>
24#include <zypp-curl/ng/network/TransferSettings>
27#include <zypp-media/auth/CredentialManager>
31 class NetworkRequestDispatcher;
32 class DownloadPrivate;
63 using Ptr = std::shared_ptr<Request>;
66 template <
typename Receiver>
89#if ENABLE_ZCHUNK_COMPRESSION
90 bool hasZckInfo ()
const;
time_t _lastTriedAuthTime
std::shared_ptr< MirrorControl > _mirrorControl
NetworkRequestError safeFillSettingsFromURL(const Url &url, TransferSettings &set)
Signal< void(Download &req, off_t dlnow) _sigAlive)
Signal< void(Download &req) _sigStarted)
~DownloadPrivateBase() override
Signal< void(Download &req) _sigFinished)
zypp::media::CredentialManager::CredentialSet _credCache
bool handleRequestAuthError(const std::shared_ptr< Request > &req, const zyppng::NetworkRequestError &err)
Signal< void(Download &req, off_t dltotal, off_t dlnow) _sigProgress)
zypp::TriBool _specHasZckInfo
Signal< void(zyppng::Download &req, zyppng::NetworkAuthData &auth, const std::string &availAuth) _sigAuthRequired)
std::shared_ptr< NetworkRequestDispatcher > _requestDispatcher
Signal< void(Download &req, Download::State state) _sigStateChanged)
DownloadPrivateBase(Downloader &parent, std::shared_ptr< NetworkRequestDispatcher > requestDispatcher, std::shared_ptr< MirrorControl > mirrors, DownloadSpec &&spec, Download &p)
NetworkRequest::Priority _defaultSubRequestPriority
std::shared_ptr< Mirror > MirrorHandle
The NetworkRequestError class Represents a error that occured in.
NetworkRequest(Url url, zypp::Pathname targetFile, FileMode fMode=WriteExclusive)
SignalProxy< void(NetworkRequest &req, const NetworkRequestError &err) sigFinished)()
Signals that the download finished.
SignalProxy< void(NetworkRequest &req) sigStarted)()
Signals that the dispatcher dequeued the request and actually starts downloading data.
SignalProxy< void(NetworkRequest &req, off_t dltotal, off_t dlnow, off_t ultotal, off_t ulnow) sigProgress)()
Signals if there was data read from the download.
boost::logic::tribool TriBool
3-state boolean logic (true, false and indeterminate).
std::optional< size_t > chksumCompareLen
std::optional< size_t > chksumPad
std::optional< UByteArray > chksumVec
NetworkRequestError _failedWithErr
std::shared_ptr< Request > WeakPtr
connection _sigStartedConn
MirrorControl::MirrorHandle _myMirror
connection _sigFinishedConn
connection _sigProgressConn
std::shared_ptr< Request > Ptr
void connectSignals(Receiver &dl)