aboutsummaryrefslogtreecommitdiff
path: root/Src/playlist/ScriptObjectFactory.cpp
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/playlist/ScriptObjectFactory.cpp
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/playlist/ScriptObjectFactory.cpp')
-rw-r--r--Src/playlist/ScriptObjectFactory.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/Src/playlist/ScriptObjectFactory.cpp b/Src/playlist/ScriptObjectFactory.cpp
new file mode 100644
index 00000000..5e947b68
--- /dev/null
+++ b/Src/playlist/ScriptObjectFactory.cpp
@@ -0,0 +1,67 @@
+#include "ScriptObjectFactory.h"
+#include "api__playlist.h"
+#include "ScriptObjectService.h"
+
+ScriptObjectService svc;
+static const char serviceName[] = "Playlist Maki Objects";
+
+// {2406A46C-9740-4af7-A0EB-A544AAB8F00C}
+static const GUID playlist_script_object_guid =
+{ 0x2406a46c, 0x9740, 0x4af7, { 0xa0, 0xeb, 0xa5, 0x44, 0xaa, 0xb8, 0xf0, 0xc } };
+
+
+FOURCC ScriptObjectFactory::GetServiceType()
+{
+ return svc.getServiceType();
+}
+
+const char *ScriptObjectFactory::GetServiceName()
+{
+ return serviceName;
+}
+
+GUID ScriptObjectFactory::GetGUID()
+{
+ return playlist_script_object_guid;
+}
+
+void *ScriptObjectFactory::GetInterface(int global_lock)
+{
+// if (global_lock)
+// WASABI_API_SVC->service_lock(this, (void *)ifc);
+ return &svc;
+}
+
+int ScriptObjectFactory::SupportNonLockingInterface()
+{
+ return 1;
+}
+
+int ScriptObjectFactory::ReleaseInterface(void *ifc)
+{
+ //WASABI_API_SVC->service_unlock(ifc);
+ return 1;
+}
+
+const char *ScriptObjectFactory::GetTestString()
+{
+ return 0;
+}
+
+int ScriptObjectFactory::ServiceNotify(int msg, int param1, int param2)
+{
+ return 1;
+}
+
+#define CBCLASS ScriptObjectFactory
+START_DISPATCH;
+CB(WASERVICEFACTORY_GETSERVICETYPE, GetServiceType)
+CB(WASERVICEFACTORY_GETSERVICENAME, GetServiceName)
+CB(WASERVICEFACTORY_GETGUID, GetGUID)
+CB(WASERVICEFACTORY_GETINTERFACE, GetInterface)
+CB(WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE, SupportNonLockingInterface)
+CB(WASERVICEFACTORY_RELEASEINTERFACE, ReleaseInterface)
+CB(WASERVICEFACTORY_GETTESTSTRING, GetTestString)
+CB(WASERVICEFACTORY_SERVICENOTIFY, ServiceNotify)
+END_DISPATCH;
+#undef CBCLASS \ No newline at end of file