123456789101112131415161718192021222324252627282930 |
- #pragma once
- #include <api/service/waservicefactory.h>
- #include <bfc/multipatch.h>
- #include <api/syscb/callbacks/svccb.h>
- enum {ServiceFactoryPatch, SysCallbackPatch };
- class LazyServiceFactory : public MultiPatch<ServiceFactoryPatch, waServiceFactory>, public MultiPatch<SysCallbackPatch, SysCallback>
- {
- public:
- LazyServiceFactory(FOURCC _service_type, GUID _service_guid, char *_service_name, char *_service_test_string, const wchar_t *_service_filename);
- ~LazyServiceFactory();
- FOURCC GetServiceType();
- const char *GetServiceName();
- GUID GetGUID();
- void *GetInterface(int global_lock);
- int SupportNonLockingInterface();
- int ReleaseInterface(void *ifc);
- const char *GetTestString();
- int ServiceNotify(int msg, intptr_t param1, intptr_t param2);
- FOURCC GetEventType() { return SysCallback::SERVICE; }
- int Notify(int msg, intptr_t param1, intptr_t param2);
- protected:
- RECVS_MULTIPATCH;
- FOURCC service_type;
- char *service_name;
- GUID service_guid;
- wchar_t service_filename[MAX_PATH];
- char *service_test_string;
- };
|