libzypp  17.22.0
networkrequestdispatcher.h
Go to the documentation of this file.
1 #ifndef ZYPP_NG_MEDIA_CURL_CURL_H_INCLUDED
2 #define ZYPP_NG_MEDIA_CURL_CURL_H_INCLUDED
3 
5 #include <zypp/zyppng/base/Base>
7 #include <zypp/zyppng/core/Url>
8 #include <vector>
9 
11 
12 namespace zyppng {
13 
14  class NetworkRequestDispatcherPrivate;
15  class NetworkRequest;
16 
76  class LIBZYPP_NG_EXPORT NetworkRequestDispatcher : public Base
77  {
78  ZYPP_DECLARE_PRIVATE(NetworkRequestDispatcher)
79  public:
80 
81  using Ptr = std::shared_ptr<NetworkRequestDispatcher>;
82  using WeakPtr = std::weak_ptr<NetworkRequestDispatcher>;
83 
84  NetworkRequestDispatcher ( );
85 
90  static bool supportsProtocol ( const Url &url );
91 
95  void setMaximumConcurrentConnections (size_t maxConn );
96 
101  void enqueue ( const std::shared_ptr<NetworkRequest> &req );
102 
106  void cancel ( NetworkRequest &req , std::string reason = std::string() );
107 
111  void cancel ( NetworkRequest &req , const NetworkRequestError &err );
112 
116  void run ( );
117 
121  const NetworkRequestError &lastError() const;
122 
126  SignalProxy<void ( NetworkRequestDispatcher &, NetworkRequest & )> sigDownloadStarted();
127 
131  SignalProxy<void ( NetworkRequestDispatcher &, NetworkRequest & )> sigDownloadFinished();
132 
136  SignalProxy<void ( NetworkRequestDispatcher & )> sigQueueFinished ();
137 
142  SignalProxy<void ( NetworkRequestDispatcher & )> sigError ();
143  };
144 }
145 
146 
147 #endif
Url url
Definition: MediaCurl.cc:65
zypp::Url Url
Definition: url.h:15
#define ZYPP_DECLARE_PRIVATE(Class)
Definition: zyppglobal.h:21
#define LIBZYPP_NG_EXPORT
Definition: zyppglobal.h:7