/* */ #ifndef D_DOWNLOAD_HANDLER_FACTORY_H #define D_DOWNLOAD_HANDLER_FACTORY_H #include "common.h" #include "SharedHandle.h" namespace aria2 { class MemoryBufferPreDownloadHandler; #ifdef ENABLE_METALINK class MetalinkPostDownloadHandler; #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT class BtPostDownloadHandler; class UTMetadataPostDownloadHandler; #endif // ENABLE_BITTORRENT class DownloadHandlerFactory { private: #ifdef ENABLE_METALINK static SharedHandle metalinkPreDownloadHandler_; static SharedHandle metalinkPostDownloadHandler_; #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT static SharedHandle btPreDownloadHandler_; static SharedHandle btPostDownloadHandler_; static SharedHandle btMetadataPostDownloadHandler_; #endif // ENABLE_BITTORRENT public: #ifdef ENABLE_METALINK static SharedHandle getMetalinkPreDownloadHandler(); static SharedHandle getMetalinkPostDownloadHandler(); #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT static SharedHandle getBtPreDownloadHandler(); static SharedHandle getBtPostDownloadHandler(); static SharedHandle getUTMetadataPostDownloadHandler(); #endif // ENABLE_BITTORRENT }; } // namespace aria2 #endif // D_DOWNLOAD_HANDLER_FACTORY_H