/* */ #ifndef _D_TRACKER_WATCHER_COMMAND_H_ #define _D_TRACKER_WATCHER_COMMAND_H_ #include "Command.h" #include "SharedHandle.h" namespace aria2 { class DownloadEngine; class RequestGroup; class BtContext; class PeerStorage; class PieceStorage; class BtRuntime; class BtAnnounce; class Option; class TrackerWatcherCommand : public Command { private: RequestGroup* _requestGroup; DownloadEngine* e; SharedHandle _btContext; SharedHandle _peerStorage; SharedHandle _pieceStorage; SharedHandle _btRuntime; SharedHandle _btAnnounce; SharedHandle _trackerRequestGroup; /** * Returns a command for announce request. Returns 0 if no announce request * is needed. */ SharedHandle createRequestGroup(const std::string& url); std::string getTrackerResponse(const SharedHandle& requestGroup); void processTrackerResponse(const std::string& response); const SharedHandle