aboutsummaryrefslogtreecommitdiff
path: root/Src/Components/wac_downloadManager/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Components/wac_downloadManager/main.cpp')
-rw-r--r--Src/Components/wac_downloadManager/main.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/Src/Components/wac_downloadManager/main.cpp b/Src/Components/wac_downloadManager/main.cpp
new file mode 100644
index 00000000..7038b540
--- /dev/null
+++ b/Src/Components/wac_downloadManager/main.cpp
@@ -0,0 +1,69 @@
+#include "main.h"
+
+//#include "wac_download_http_receiver_factory.h"
+
+#include "wac_downloadManager.h"
+
+#include "bfc/platform/export.h"
+
+static Singleton2<api_downloadManager, DownloadManager> dlMgrFactory;
+static DownloadManager dlMgr;
+
+//static wa::Components::WAC_DownloadsFactory _wac_download_factory;
+static wa::Components::WAC_DownloadManager_Component _wac_downloadManager_Component;
+
+//wa::Factory::WAC_DownloadMabager_HTTPReceiver_Factory _wac_downloadManager_http_receiver_service;
+
+api_service *WASABI_API_SVC = 0;
+api_application *WASABI_API_APP = 0;
+api_config *AGAVE_API_CONFIG = 0;
+api_threadpool *WASABI_API_THREADPOOL = 0;
+
+
+void wa::Components::WAC_DownloadManager_Component::RegisterServices( api_service *p_service )
+{
+ WASABI_API_SVC = p_service;
+
+ ServiceBuild( WASABI_API_APP, applicationApiServiceGuid );
+ ServiceBuild( AGAVE_API_CONFIG, AgaveConfigGUID );
+ ServiceBuild( WASABI_API_THREADPOOL, ThreadPoolGUID );
+
+
+ dlMgrFactory.Register( &dlMgr );
+
+ //WASABI_API_SVC->service_register( &_wac_downloadManager_http_receiver_service );
+}
+
+void wa::Components::WAC_DownloadManager_Component::DeregisterServices( api_service *p_service )
+{
+ Q_UNUSED( p_service )
+
+ ServiceRelease( WASABI_API_APP, applicationApiServiceGuid );
+ ServiceRelease( AGAVE_API_CONFIG, AgaveConfigGUID );
+
+ dlMgr.Kill();
+ dlMgrFactory.Deregister();
+
+ ServiceRelease( WASABI_API_THREADPOOL, ThreadPoolGUID );
+
+ //p_service->service_deregister( &_wac_downloadManager_http_receiver_service );
+}
+
+
+extern "C" WAC_DOWNLOAD_MANAGER_EXPORT ifc_wa5component * GetWinamp5SystemComponent()
+{
+ return &_wac_downloadManager_Component;
+}
+
+
+#ifdef CBCLASS
+#undef CBCLASS
+#endif
+
+#define CBCLASS wa::Components::WAC_DownloadManager_Component
+START_DISPATCH;
+VCB( API_WA5COMPONENT_REGISTERSERVICES, RegisterServices )
+CB( API_WA5COMPONENT_REGISTERSERVICES_SAFE_MODE, RegisterServicesSafeModeOk )
+VCB( API_WA5COMPONENT_DEREEGISTERSERVICES, DeregisterServices )
+END_DISPATCH;
+#undef CBCLASS