IOHIDEventSystem.h [plain text]
#ifndef _IOKIT_HID_IOHIDEVENTSYSTEM_H
#define _IOKIT_HID_IOHIDEVENTSYSTEM_H
#include <IOKit/IOMessage.h>
#include <IOKit/IOWorkLoop.h>
#include <IOKit/IOCommandGate.h>
#include <IOKit/IOTimerEventSource.h>
#include "IOHIDEventService.h"
#include "IOHIDEventTypes.h"
class IOHIDEventSystem: public IOService
{
OSDeclareAbstractStructors( IOHIDEventSystem )
IOWorkLoop * _workLoop;
IOCommandGate * _commandGate;
IONotifier * _publishNotify;
IONotifier * _terminateNotify;
OSArray * _eventServiceInfoArray;
bool _eventsOpen;
struct ExpansionData {
};
ExpansionData * _reserved;
bool notificationHandler(
void * refCon,
IOService * service );
void handleHIDEvent(
void * refCon,
AbsoluteTime timeStamp,
UInt32 eventCount,
IOHIDEvent * events,
IOOptionBits options);
void handleServicePublicationGated(IOService * service);
void handleServiceTerminationGated(IOService * service);
void handleHIDEventGated(void * args);
void registerEventSource(IOHIDEventService * service);
public:
virtual bool init(OSDictionary * properties = 0);
virtual bool start(IOService * provider);
virtual void free();
virtual IOReturn message(UInt32 type, IOService * provider, void * argument);
virtual IOReturn setProperties( OSObject * properties );
};
#endif