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