/* */ #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 { protected: SharedHandle _proxyRequest; SharedHandle httpConnection; std::string _connectedHostname; std::string _connectedAddr; uint16_t _connectedPort; virtual bool executeInternal(); public: AbstractProxyRequestCommand(int 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_