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/Plugins/SDK/plLoadEx/ExComponent.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Src/Plugins/SDK/plLoadEx/ExComponent.cpp (limited to 'Src/Plugins/SDK/plLoadEx/ExComponent.cpp') diff --git a/Src/Plugins/SDK/plLoadEx/ExComponent.cpp b/Src/Plugins/SDK/plLoadEx/ExComponent.cpp new file mode 100644 index 00000000..a9283fe6 --- /dev/null +++ b/Src/Plugins/SDK/plLoadEx/ExComponent.cpp @@ -0,0 +1,32 @@ +#include "ExComponent.h" +#include "api/service/api_service.h" // Service Manager is central to Wasabi +#include "SimpleHandlerFactory.h" // the Service Factory we're going to regsister + +// the service factory we're going to register +static SimpleHandlerFactory simpleHandlerFactory; + +void ExComponent::RegisterServices(api_service *service) +{ + // If we need any services, we can retrieve them here + // however, you have no guarantee that a service you want will be active yet + // so it's best to "lazy load" and get it the first time you need it + + // Register any services we provide here + service->service_register(&simpleHandlerFactory); +} + +void ExComponent::DeregisterServices(api_service *service) +{ + // Unregister our services + service->service_deregister(&simpleHandlerFactory); + + // And release any services we retrieved +} + +// Define the dispatch table +#define CBCLASS ExComponent +START_DISPATCH; +VCB(API_WA5COMPONENT_REGISTERSERVICES, RegisterServices) +VCB(API_WA5COMPONENT_DEREEGISTERSERVICES, DeregisterServices) +END_DISPATCH; +#undef CBCLASS -- cgit