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