/* */ #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_