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