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 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 28 TestIOServiceUserNotificationUserClient::clientClose() 29 { 30 if (!isInactive()) { 31 terminate(); 32 } 33 return kIOReturnSuccess; 34 } 35 36 IOReturn 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