Initial community commit
This commit is contained in:
30
Src/Winamp/LazyServiceFactory.h
Normal file
30
Src/Winamp/LazyServiceFactory.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#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;
|
||||
};
|
||||
Reference in New Issue
Block a user