/* */ #ifndef _D_DOWNLOAD_HANDLER_FACTORY_H_ #define _D_DOWNLOAD_HANDLER_FACTORY_H_ #include "common.h" class MemoryBufferPreDownloadHandler; typedef SharedHandle MemoryBufferPreDownloadHandlerHandle; #ifdef ENABLE_METALINK class MetalinkPostDownloadHandler; typedef SharedHandle MetalinkPostDownloadHandlerHandle; #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT class BtPostDownloadHandler; typedef SharedHandle BtPostDownloadHandlerHandle; #endif // ENABLE_BITTORRENT class DownloadHandlerFactory { private: #ifdef ENABLE_METALINK static MemoryBufferPreDownloadHandlerHandle _metalinkPreDownloadHandler; static MetalinkPostDownloadHandlerHandle _metalinkPostDownloadHandler; #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT static MemoryBufferPreDownloadHandlerHandle _btPreDownloadHandler; static BtPostDownloadHandlerHandle _btPostDownloadHandler; #endif // ENABLE_BITTORRENT public: #ifdef ENABLE_METALINK static MemoryBufferPreDownloadHandlerHandle getMetalinkPreDownloadHandler(); static MetalinkPostDownloadHandlerHandle getMetalinkPostDownloadHandler(); #endif // ENABLE_METALINK #ifdef ENABLE_BITTORRENT static MemoryBufferPreDownloadHandlerHandle getBtPreDownloadHandler(); static BtPostDownloadHandlerHandle getBtPostDownloadHandler(); #endif // ENABLE_BITTORRENT }; #endif // _D_DOWNLOAD_HANDLER_FACTORY_H_