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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
#ifndef NULLSOFT_WINAMP_WASABI_HELPER_INTERFACE_HEADER
#define NULLSOFT_WINAMP_WASABI_HELPER_INTERFACE_HEADER
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
class api_service;
#include <bfc/dispatch.h>
#include <api/application/api_application.h>
#include "../Agave/Config/api_config.h"
#include "../Agave/Language/api_language.h"
#include <api/memmgr/api_memmgr.h>
#include <api/service/svcs/svc_imgload.h>
#include "../Winamp/JSAPI2_api_security.h"
#include "../Components/wac_downloadManager/wac_downloadManager_api.h"
#include "../nu/threadpool/api_threadpool.h"
// {CA8954C8-C15F-4a62-A592-86A9464DE9A5}
static const GUID IFC_WasabiHelper =
{ 0xca8954c8, 0xc15f, 0x4a62, { 0xa5, 0x92, 0x86, 0xa9, 0x46, 0x4d, 0xe9, 0xa5 } };
class __declspec(novtable) ifc_wasabihelper : public Dispatchable
{
protected:
ifc_wasabihelper() {}
~ifc_wasabihelper() {}
public:
HRESULT QueryWasabiInterface(const GUID *iid, void **ppi);
HRESULT ReleaseWasabiInterface(const GUID *iid, void *pi);
HRESULT GetServiceManager(api_service **serviceManager);
HRESULT GetApplicationApi(api_application **application);
HRESULT GetConfigApi(api_config ** config);
HRESULT GetMemoryManager(api_memmgr **memoryManager);
HRESULT GetPngLoader(svc_imageLoader **pngLoader);
HRESULT GetLanguageManager(api_language **languageManager);
HRESULT GetLanguageModule(HINSTANCE *module);
HRESULT GetSecurityApi(JSAPI2::api_security **security);
HRESULT GetDownloadManager(api_downloadManager **downloadManager);
HRESULT GetThreadpoolApi(api_threadpool **threadpool);
public:
DISPATCH_CODES
{
API_QUERYWASABIINTERFACE = 10,
API_RELEASEWASABIINTERFACE = 20,
API_GETSERVICEMANAGER = 30,
API_GETAPPLICATION = 40,
API_GETCONFIG = 50,
API_GETMEMORYMANAGER = 60,
API_GETPNGLOADER = 70,
API_GETLANGUAGEMANAGER = 80,
API_GETLANGUAGEMODULE = 90,
API_GETSECURITY = 100,
API_GETDOWNLOADMANAGER = 110,
API_GETTHREADPOOL = 120,
};
};
inline HRESULT ifc_wasabihelper::QueryWasabiInterface(const GUID *iid, void **ppi)
{
return _call(API_QUERYWASABIINTERFACE, (HRESULT)E_NOTIMPL, iid, ppi);
}
inline HRESULT ifc_wasabihelper::ReleaseWasabiInterface(const GUID *iid, void *pi)
{
return _call(API_RELEASEWASABIINTERFACE, (HRESULT)E_NOTIMPL, iid, pi);
}
inline HRESULT ifc_wasabihelper::GetServiceManager(api_service **serviceManager)
{
return _call(API_GETSERVICEMANAGER, (HRESULT)E_NOTIMPL, serviceManager);
}
inline HRESULT ifc_wasabihelper::GetApplicationApi(api_application **application)
{
return _call(API_GETAPPLICATION, (HRESULT)E_NOTIMPL, application);
}
inline HRESULT ifc_wasabihelper::GetConfigApi(api_config ** config)
{
return _call(API_GETCONFIG, (HRESULT)E_NOTIMPL, config);
}
inline HRESULT ifc_wasabihelper::GetMemoryManager(api_memmgr **memoryManager)
{
return _call(API_GETMEMORYMANAGER, (HRESULT)E_NOTIMPL, memoryManager);
}
inline HRESULT ifc_wasabihelper::GetPngLoader(svc_imageLoader **pngLoader)
{
return _call(API_GETPNGLOADER, (HRESULT)E_NOTIMPL, pngLoader);
}
inline HRESULT ifc_wasabihelper::GetLanguageManager(api_language **languageManager)
{
return _call(API_GETLANGUAGEMANAGER, (HRESULT)E_NOTIMPL, languageManager);
}
inline HRESULT ifc_wasabihelper::GetLanguageModule(HINSTANCE *module)
{
return _call(API_GETLANGUAGEMODULE, (HRESULT)E_NOTIMPL, module);
}
inline HRESULT ifc_wasabihelper::GetSecurityApi(JSAPI2::api_security **security)
{
return _call(API_GETSECURITY, (HRESULT)E_NOTIMPL, security);
}
inline HRESULT ifc_wasabihelper::GetDownloadManager(api_downloadManager **downloadManager)
{
return _call(API_GETDOWNLOADMANAGER, (HRESULT)E_NOTIMPL, downloadManager);
}
inline HRESULT ifc_wasabihelper::GetThreadpoolApi(api_threadpool **threadpool)
{
return _call(API_GETTHREADPOOL, (HRESULT)E_NOTIMPL, threadpool);
}
#endif // NULLSOFT_WINAMP_WASABI_HELPER_INTERFACE_HEADER
|