/* */ #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; #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; #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(); #endif // ENABLE_BITTORRENT }; } // namespace aria2 #endif // _D_DOWNLOAD_HANDLER_FACTORY_H_