/* */ #ifndef D_REQUEST_GROUP_H #define D_REQUEST_GROUP_H #include "common.h" #include #include #include #include "SharedHandle.h" #include "TransferStat.h" #include "TimeA2.h" #include "Request.h" #include "error_code.h" #include "MetadataInfo.h" namespace aria2 { class DownloadEngine; class SegmentMan; class Command; class DownloadCommand; class DownloadContext; class PieceStorage; class BtProgressInfoFile; class Dependency; class PreDownloadHandler; class PostDownloadHandler; class DiskWriterFactory; class Option; class RequestGroup; class CheckIntegrityEntry; struct DownloadResult; class URISelector; class URIResult; class RequestGroupMan; #ifdef ENABLE_BITTORRENT class BtRuntime; class PeerStorage; #endif // ENABLE_BITTORRENT // To make %lld happy, we use long long int instead of int64_t. typedef long long int a2_gid_t; class RequestGroup { public: enum HaltReason { NONE, SHUTDOWN_SIGNAL, USER_REQUEST }; private: static a2_gid_t gidCounter_; a2_gid_t gid_; SharedHandle