/* */ #ifndef D_ABSTRACT_PROXY_REQUEST_COMMAND_H #define D_ABSTRACT_PROXY_REQUEST_COMMAND_H #include "AbstractCommand.h" namespace aria2 { class HttpConnection; class SocketCore; class AbstractProxyRequestCommand : public AbstractCommand { private: std::shared_ptr proxyRequest_; std::shared_ptr httpConnection_; protected: virtual bool executeInternal() CXX11_OVERRIDE; const std::shared_ptr& getHttpConnection() const { return httpConnection_; } const std::shared_ptr& getProxyRequest() const { return proxyRequest_; } public: AbstractProxyRequestCommand(cuid_t cuid, const std::shared_ptr& req, const std::shared_ptr& fileEntry, RequestGroup* requestGroup, DownloadEngine* e, const std::shared_ptr& proxyRequest, const std::shared_ptr& s); virtual ~AbstractProxyRequestCommand(); virtual std::unique_ptr getNextCommand() = 0; }; } // namespace aria2 #endif // D_ABSTRACT_PROXY_REQUEST_COMMAND_H