Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
84
Src/devices/component.cpp
Normal file
84
Src/devices/component.cpp
Normal file
|
@ -0,0 +1,84 @@
|
|||
#include "main.h"
|
||||
#include "./component.h"
|
||||
#include "./deviceManagerFactory.h"
|
||||
|
||||
static DeviceManagerFactory deviceManagerFactory;
|
||||
|
||||
DevicesComponent::DevicesComponent()
|
||||
{
|
||||
InitializeCriticalSection(&lock);
|
||||
}
|
||||
|
||||
DevicesComponent::~DevicesComponent()
|
||||
{
|
||||
EnterCriticalSection(&lock);
|
||||
|
||||
ReleaseServices();
|
||||
|
||||
LeaveCriticalSection(&lock);
|
||||
|
||||
DeleteCriticalSection(&lock);
|
||||
}
|
||||
|
||||
size_t DevicesComponent::AddRef()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
size_t DevicesComponent::Release()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int DevicesComponent::QueryInterface(GUID interface_guid, void **object)
|
||||
{
|
||||
if (NULL == object)
|
||||
return E_POINTER;
|
||||
|
||||
*object = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
void DevicesComponent::RegisterServices(api_service *service)
|
||||
{
|
||||
EnterCriticalSection(&lock);
|
||||
|
||||
deviceManagerFactory.Register(service);
|
||||
|
||||
LeaveCriticalSection(&lock);
|
||||
|
||||
aTRACE_LINE("Devices Service Registered");
|
||||
}
|
||||
|
||||
int DevicesComponent::RegisterServicesSafeModeOk()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
void DevicesComponent::DeregisterServices(api_service *service)
|
||||
{
|
||||
EnterCriticalSection(&lock);
|
||||
|
||||
deviceManagerFactory.Unregister(service);
|
||||
|
||||
ReleaseServices();
|
||||
|
||||
LeaveCriticalSection(&lock);
|
||||
|
||||
aTRACE_LINE("Devices Service Unregistered");
|
||||
}
|
||||
|
||||
void DevicesComponent::ReleaseServices()
|
||||
{
|
||||
}
|
||||
|
||||
#define CBCLASS DevicesComponent
|
||||
START_DISPATCH;
|
||||
CB(ADDREF, AddRef)
|
||||
CB(RELEASE, Release)
|
||||
CB(QUERYINTERFACE, QueryInterface)
|
||||
VCB(API_WA5COMPONENT_REGISTERSERVICES, RegisterServices)
|
||||
CB(15, RegisterServicesSafeModeOk)
|
||||
VCB(API_WA5COMPONENT_DEREEGISTERSERVICES, DeregisterServices)
|
||||
END_DISPATCH;
|
||||
#undef CBCLASS
|
Loading…
Add table
Add a link
Reference in a new issue