aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/browserFactory.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/omBrowser/browserFactory.cpp
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/omBrowser/browserFactory.cpp')
-rw-r--r--Src/omBrowser/browserFactory.cpp90
1 files changed, 90 insertions, 0 deletions
diff --git a/Src/omBrowser/browserFactory.cpp b/Src/omBrowser/browserFactory.cpp
new file mode 100644
index 00000000..90ec7c9f
--- /dev/null
+++ b/Src/omBrowser/browserFactory.cpp
@@ -0,0 +1,90 @@
+#include "./browserFactory.h"
+#include "./browserObject.h"
+
+
+FOURCC OmBrowserFactory::GetServiceType()
+{
+ return WaSvc::UNIQUE;
+}
+
+const char *OmBrowserFactory::GetServiceName()
+{
+ return "OmBrowser Object";
+}
+
+const char *OmBrowserFactory::GetTestString()
+{
+ return NULL;
+}
+
+GUID OmBrowserFactory::GetGUID()
+{
+ return OBJ_OmBrowser;
+}
+
+
+void *OmBrowserFactory::GetInterface( int global_lock )
+{
+ OmBrowserObject *browserObject = NULL;
+
+ HRESULT hr = OmBrowserObject::CreateInstance( &browserObject );
+ if ( FAILED( hr ) )
+ browserObject = NULL;
+
+ return browserObject;
+}
+
+int OmBrowserFactory::ReleaseInterface( void *ifc )
+{
+ obj_ombrowser *object = (obj_ombrowser *)ifc;
+ if ( object != NULL )
+ object->Release();
+
+ return 1;
+}
+
+
+int OmBrowserFactory::SupportNonLockingInterface()
+{
+ return 1;
+}
+
+int OmBrowserFactory::ServiceNotify(int msg, int param1, int param2)
+{
+ return 1;
+}
+
+
+HRESULT OmBrowserFactory::Register( api_service *service )
+{
+ if ( service == NULL )
+ return E_INVALIDARG;
+
+ service->service_register( this );
+
+ return S_OK;
+}
+
+HRESULT OmBrowserFactory::Unregister( api_service *service )
+{
+ if ( service == NULL )
+ return E_INVALIDARG;
+
+ service->service_deregister( this );
+
+ return S_OK;
+}
+
+
+#define CBCLASS OmBrowserFactory
+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