#pragma once #ifndef NULLSOFT_UTILITY_SERVICE_BUILDER_H #define NULLSOFT_UTILITY_SERVICE_BUILDER_H #include #include #ifndef WASABI_API_SVC #define WASABI_API_SVC serviceManager #endif template static void ServiceBuild(api_service *service, api_T *&api_t, GUID factoryGUID_t) { if (service) { waServiceFactory *factory = service->service_getServiceByGuid(factoryGUID_t); if (factory) { api_t = reinterpret_cast( factory->getInterface() ); } } } template static void ServiceRelease(api_service *service, api_T *&api_t, GUID factoryGUID_t) { if (service && api_t) { waServiceFactory *factory = service->service_getServiceByGuid(factoryGUID_t); if (factory) { factory->releaseInterface(api_t); } } api_t = NULL; } #endif