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/waservicefactoryt.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Src/Wasabi/api/service/waservicefactoryt.h (limited to 'Src/Wasabi/api/service/waservicefactoryt.h') diff --git a/Src/Wasabi/api/service/waservicefactoryt.h b/Src/Wasabi/api/service/waservicefactoryt.h new file mode 100644 index 00000000..f2cc6e67 --- /dev/null +++ b/Src/Wasabi/api/service/waservicefactoryt.h @@ -0,0 +1,28 @@ +#ifndef __WASERVICEFACTORYT_IMPL_H +#define __WASERVICEFACTORYT_IMPL_H + +/**/ +/*?>*/ + +#include "waservicefactorybase.h" + +// this is a service factory template that will manufacture any number +// of a given class SERVICE, which is derived from service class SERVICETYPE +template +class waServiceFactoryT : public waServiceFactoryBase { +public: + waServiceFactoryT(GUID myGuid = INVALID_GUID) : + waServiceFactoryBase(myGuid) {} + virtual SERVICETYPE *newService() { + SERVICE *ret = new SERVICE; + ASSERT(ret != NULL); + return ret; + } + virtual int delService(SERVICETYPE *service) { + ASSERT(service != NULL); + delete static_cast(service); + return 1; + } +}; + +#endif // __WASERVICEFACTORYT_IMPL_H -- cgit