/* */ #ifndef CONNECT_COMMAND_H #define CONNECT_COMMAND_H #include "AbstractCommand.h" #include "ControlChain.h" namespace aria2 { struct BackupConnectInfo; class ConnectCommand : public AbstractCommand { public: ConnectCommand(cuid_t cuid, const std::shared_ptr& req, const std::shared_ptr& proxyRequest, const std::shared_ptr& fileEntry, RequestGroup* requestGroup, DownloadEngine* e, const std::shared_ptr& s); virtual ~ConnectCommand(); void setControlChain(const std::shared_ptr>& chain); void setBackupConnectInfo(const std::shared_ptr& info); const std::shared_ptr& getProxyRequest() const; protected: virtual bool executeInternal() CXX11_OVERRIDE; virtual bool noCheck() const CXX11_OVERRIDE; private: std::shared_ptr proxyRequest_; std::shared_ptr backupConnectionInfo_; std::shared_ptr> chain_; }; } // namespace aria2 #endif // CONNECT_COMMAND_H