mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-29 00:36:06 +00:00
30 lines
1 KiB
C++
30 lines
1 KiB
C++
#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;
|
|
}; |