From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/service/api_servicei.cpp | 83 +++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Src/Wasabi/api/service/api_servicei.cpp (limited to 'Src/Wasabi/api/service/api_servicei.cpp') diff --git a/Src/Wasabi/api/service/api_servicei.cpp b/Src/Wasabi/api/service/api_servicei.cpp new file mode 100644 index 00000000..e5cae440 --- /dev/null +++ b/Src/Wasabi/api/service/api_servicei.cpp @@ -0,0 +1,83 @@ +#include +#ifndef NOSVCMGR +//" +#include "api_servicei.h" +//?> + +#include +#include + +api_service *serviceApi = NULL; + +api_serviceI::api_serviceI() { +} + +api_serviceI::~api_serviceI() { + ServiceManager::onShutdown(); +} + +int api_serviceI::service_register(waServiceFactory *svc) { +#ifdef WASABI_COMPILE_COMPONENTS + int r = ServiceManager::registerService(svc, WASABI_API_COMPONENT->getThisGuid()); +#else + int r = ServiceManager::registerService(svc, WASABI_API_APP->main_getGUID()); +#endif + return r; +} + +int api_serviceI::service_deregister(waServiceFactory *svc) { + int r = ServiceManager::deregisterService(svc); + return r; +} + +int api_serviceI::service_getNumServices(FOURCC svc_type) { + return ServiceManager::getNumServices(svc_type); +} + +waServiceFactory *api_serviceI::service_enumService(FOURCC svc_type, int n) { + return ServiceManager::enumService(svc_type, n); +} + +waServiceFactory *api_serviceI::service_getServiceByGuid(GUID guid) { + return ServiceManager::getServiceByGuid(guid); +} + + +int api_serviceI::service_lock(waServiceFactory *owner, void *svcptr) { + return ServiceManager::lock(owner, svcptr); +} + +int api_serviceI::service_clientLock(void *svcptr) { +#ifdef WASABI_COMPILE_COMPONENTS + return ServiceManager::clientLock(svcptr, WASABI_API_COMPONENT->getThisGuid()); +#else + return ServiceManager::clientLock(svcptr, WASABI_API_APP->main_getGUID()); +#endif +} + +int api_serviceI::service_release(void *svcptr) { + return ServiceManager::release(svcptr); +} + +const char *api_serviceI::service_getTypeName(FOURCC svc_type) { + return ServiceManager::getServiceTypeName(svc_type); +} + +#ifdef WASABI_COMPILE_COMPONENTS +GUID api_serviceI::service_getOwningComponent(void *svcptr) { + return ServiceManager::getOwningComponent(svcptr); +} + +GUID api_serviceI::service_getLockingComponent(void *svcptr) { + return ServiceManager::getLockingComponent(svcptr); +} +#endif + +int api_serviceI::service_unlock(void *svcptr) { + return ServiceManager::unlock(svcptr); +} + +int api_serviceI::service_isvalid(FOURCC svctype, waServiceFactory *service) { + return ServiceManager::isValidService(svctype, service); +} +#endif \ No newline at end of file -- cgit