/* */ #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: SharedHandle _proxyRequest; SharedHandle _httpConnection; std::string _connectedHostname; std::string _connectedAddr; uint16_t _connectedPort; protected: virtual bool executeInternal(); const SharedHandle& getHttpConnection() const { return _httpConnection; } public: AbstractProxyRequestCommand(cuid_t cuid, const SharedHandle& req, const SharedHandle& fileEntry, RequestGroup* requestGroup, DownloadEngine* e, const SharedHandle& proxyRequest, const SharedHandle& s); virtual ~AbstractProxyRequestCommand(); virtual Command* getNextCommand() = 0; void setConnectedAddr (const std::string& hostname, const std::string& addr, uint16_t port) { _connectedHostname = hostname; _connectedAddr = addr; _connectedPort = port; } }; } // namespace aria2 #endif // _D_ABSTRACT_PROXY_REQUEST_COMMAND_H_