aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/ServiceFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Winamp/ServiceFactory.cpp')
-rw-r--r--Src/Winamp/ServiceFactory.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/Src/Winamp/ServiceFactory.cpp b/Src/Winamp/ServiceFactory.cpp
new file mode 100644
index 00000000..3eecd90e
--- /dev/null
+++ b/Src/Winamp/ServiceFactory.cpp
@@ -0,0 +1,25 @@
+#include "main.h"
+#include "api.h"
+#include <api/service/waservicefactorybase.h>
+
+#ifdef CBCLASS
+#undef CBCLASS
+#endif
+
+#define CBCLASS waServiceFactoryX
+START_DISPATCH;
+ CB(WASERVICEFACTORY_GETSERVICETYPE, x_getServiceType);
+ CB(WASERVICEFACTORY_GETSERVICENAME, x_getServiceName);
+ CB(WASERVICEFACTORY_GETGUID, getGuid);
+ case WASERVICEFACTORY_GETINTERFACE:
+ switch (nparam) {
+ default: cb<CBCLASS>(&CBCLASS::getInterface, retval, params); break;
+ case 0: cb<CBCLASS>(&CBCLASS::_RETIRED_getInterface, retval, params); break;
+ }
+ break;
+ CB(WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE, supportNonLockingGetInterface);
+ CB(WASERVICEFACTORY_RELEASEINTERFACE, releaseInterface);
+ CB(WASERVICEFACTORY_GETTESTSTRING, getTestString);
+ CB(WASERVICEFACTORY_SERVICENOTIFY, serviceNotify);
+END_DISPATCH;
+#undef CBCLASS \ No newline at end of file