aboutsummaryrefslogtreecommitdiff
path: root/Src/Components/wac_browser/main.cpp
blob: 1678bb7cbbf0a60eaaafa186cd3a9449bf4de918 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "main.h"

#include "wac_browser_factory.h"

#include "bfc/platform/export.h"

api_service *WASABI_API_SVC   = NULL;
api_config  *AGAVE_API_CONFIG = NULL;

static wa::Components::WAC_BrowserFactory _wacDownloadFactory;
static wa::Components::WAC_Browser       _wac_browser;


void wa::Components::WAC_Browser::RegisterServices( api_service *p_service )
{
	WASABI_API_SVC = p_service;
	ServiceBuild( AGAVE_API_CONFIG, AgaveConfigGUID );
	WASABI_API_SVC->service_register( &_wacDownloadFactory );
}

void wa::Components::WAC_Browser::DeregisterServices( api_service *p_service )
{
	p_service->service_deregister( &_wacDownloadFactory );
	ServiceRelease( AGAVE_API_CONFIG, AgaveConfigGUID );
}


extern "C" DLLEXPORT ifc_wa5component * GetWinamp5SystemComponent()
{
	return &_wac_browser;
}


#ifdef CBCLASS
#undef CBCLASS
#endif

#define CBCLASS wa::Components::WAC_Browser
START_DISPATCH;
VCB( API_WA5COMPONENT_REGISTERSERVICES,           RegisterServices )
CB(  API_WA5COMPONENT_REGISTERSERVICES_SAFE_MODE, RegisterServicesSafeModeOk )
VCB( API_WA5COMPONENT_DEREEGISTERSERVICES,        DeregisterServices )
END_DISPATCH;
#undef CBCLASS