aboutsummaryrefslogtreecommitdiff
path: root/Src/omBrowser/serviceFactory.h
blob: f01275597194bb659a2ab659feccca1a362c304b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef NULLSOFT_WINAMP_OMSERVICEOBJECT_FACTORY_HEADER
#define NULLSOFT_WINAMP_OMSERVICEOBJECT_FACTORY_HEADER

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#include <api/service/waservicefactory.h>
#include <api/service/services.h>

class OmServiceManager;

class OmServiceFactory : public waServiceFactory
{
public:
	OmServiceFactory();
	~OmServiceFactory();

	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, int param1, int param2 );

	HRESULT     Register( api_service *service );
	HRESULT     Unregister( api_service *service );

protected:
	RECVS_DISPATCH;
	OmServiceManager *object;
};

#endif //NULLSOFT_WINAMP_OMSERVICEOBJECT_FACTORY_HEADER