1#ifndef ZYPP_NG_MEDIA_CURL_REQUEST_H_INCLUDED
2#define ZYPP_NG_MEDIA_CURL_REQUEST_H_INCLUDED
5#include <zypp-curl/ng/network/TransferSettings>
7#include <zypp-core/zyppng/base/Base>
8#include <zypp-core/zyppng/core/Url>
9#include <zypp-core/zyppng/core/ByteArray>
10#include <zypp-core/zyppng/base/zyppglobal.h>
11#include <zypp-core/zyppng/base/signals.h>
12#include <zypp-core/base/Flags.h>
13#include <zypp-core/ByteCount.h>
32 class NetworkRequestDispatcher;
33 class NetworkRequestPrivate;
46 using Ptr = std::shared_ptr<NetworkRequest>;
47 using WeakPtr = std::weak_ptr<NetworkRequest>;
83 std::chrono::microseconds
total;
107 void setPriority (
Priority prio,
bool triggerReschedule =
true );
119 void setOptions ( Options opt );
124 Options options ()
const;
130 void addRequestRange (
size_t start,
size_t len = 0, std::optional<zypp::Digest> &&digest = {}, CheckSumBytes expectedChkSum = CheckSumBytes(), std::any userData = std::any(), std::optional<size_t> digestCompareLen = {}, std::optional<size_t> chksumpad = {} );
132 void addRequestRange ( Range &&range );
144 void resetRequestRanges ( );
146 std::vector<Range> failedRanges ()
const;
147 const std::vector<Range> &requestedRanges ()
const;
152 const std::string &lastRedirectInfo()
const;
160 void *nativeHandle ()
const;
166 std::optional<Timings> timings ()
const;
172 std::vector<char> peekData ( off_t offset,
size_t count )
const;
183 void setUrl (
const Url & url );
199 FileMode fileOpenMode ()
const;
205 void setFileOpenMode ( FileMode mode );
211 std::string contentType ()
const;
235 State state ()
const;
240 NetworkRequestError error ()
const;
246 std::string extendedErrorString()
const;
251 bool hasError ()
const;
257 bool addRequestHeader(
const std::string &header );
285 friend class NetworkRequestDispatcher;
Store and operate with byte count.
The NetworkRequestError class Represents a error that occured in.
std::shared_ptr< zypp::Digest > DigestPtr
std::shared_ptr< NetworkRequest > Ptr
SignalProxy< void(NetworkRequest &req, const NetworkRequestError &err) sigFinished)()
Signals that the download finished.
SignalProxy< void(NetworkRequest &req, zypp::ByteCount count) sigBytesDownloaded)()
Signals that new data has been downloaded, this is only the payload and does not include control data...
SignalProxy< void(NetworkRequest &req) sigStarted)()
Signals that the dispatcher dequeued the request and actually starts downloading data.
ZYPP_DECLARE_FLAGS(Options, OptionBits)
std::weak_ptr< NetworkRequest > WeakPtr
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.
Easy-to use interface to the ZYPP dependency resolver.
zypp::media::AuthData AuthData
zypp::media::TransferSettings TransferSettings
std::chrono::microseconds appconnect
std::chrono::microseconds redirect
std::chrono::microseconds pretransfer
std::chrono::microseconds total
std::chrono::microseconds namelookup
std::chrono::microseconds connect
#define ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Name)