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> 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 );
262 SignalProxy<void ( NetworkRequest &req )> sigStarted ();
267 SignalProxy<void ( NetworkRequest &req, zypp::ByteCount count )> sigBytesDownloaded ();
274 SignalProxy<void ( NetworkRequest &req, off_t dltotal, off_t dlnow, off_t ultotal, off_t ulnow )> sigProgress ();
282 SignalProxy<void ( NetworkRequest &req, const NetworkRequestError &err)> sigFinished ( );
285 friend class NetworkRequestDispatcher;
std::chrono::microseconds connect
std::weak_ptr< Base > WeakPtr
Store and operate with byte count.
std::chrono::microseconds pretransfer
std::chrono::microseconds appconnect
Request the standard behavior (as defined in zypp.conf or 'Job')
std::chrono::microseconds namelookup
zypp::media::AuthData AuthData
zypp::media::TransferSettings TransferSettings
zypp::UByteArray UByteArray
ZYPP_DECLARE_OPERATORS_FOR_FLAGS(zyppng::NetworkRequest::Options)
#define ZYPP_DECLARE_FLAGS(Name, Enum)
#define ZYPP_DECLARE_PRIVATE(Class)
std::chrono::microseconds total
#define LIBZYPP_NG_EXPORT
std::chrono::microseconds redirect
std::shared_ptr< zypp::Digest > DigestPtr
Easy-to use interface to the ZYPP dependency resolver.
std::shared_ptr< Base > Ptr