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