1 #include "TestIOServiceUserNotification.h"
2 #include <IOKit/IOService.h>
3 #include <IOKit/IOUserClient.h>
4 #include <IOKit/IOKitServer.h>
5 #include <kern/ipc_kobject.h>
6
7 #if DEVELOPMENT || DEBUG
8
9 OSDefineMetaClassAndStructors(TestIOServiceUserNotification, IOService);
10
11 OSDefineMetaClassAndStructors(TestIOServiceUserNotificationUserClient, IOUserClient);
12
13 bool
start(IOService * provider)14 TestIOServiceUserNotification::start(IOService * provider)
15 {
16 OSString * str = OSString::withCStringNoCopy("TestIOServiceUserNotificationUserClient");
17 bool ret = IOService::start(provider);
18 if (ret && str != NULL) {
19 setProperty(gIOUserClientClassKey, str);
20 registerService();
21 }
22 OSSafeReleaseNULL(str);
23 return ret;
24 }
25
26
27 IOReturn
clientClose()28 TestIOServiceUserNotificationUserClient::clientClose()
29 {
30 if (!isInactive()) {
31 terminate();
32 }
33 return kIOReturnSuccess;
34 }
35
36 IOReturn
externalMethod(uint32_t selector,IOExternalMethodArguments * args,IOExternalMethodDispatch * dispatch,OSObject * target,void * reference)37 TestIOServiceUserNotificationUserClient::externalMethod(uint32_t selector, IOExternalMethodArguments * args,
38 IOExternalMethodDispatch * dispatch, OSObject * target, void * reference)
39 {
40 registerService();
41 return kIOReturnSuccess;
42 }
43
44 #endif /* DEVELOPMENT || DEBUG */
45