IOHIDEventServiceFastPathClass.h [plain text]
#ifndef IOHIDEventServiceFastPathClass_h
#define IOHIDEventServiceFastPathClass_h
#include <IOKit/hid/IOHIDServicePlugIn.h>
#include <IOKit/IODataQueueClient.h>
#include "IOHIDIUnknown.h"
class IOHIDEventServiceFastPathClass : public IOHIDIUnknown
{
private:
IOHIDEventServiceFastPathClass(IOHIDEventServiceFastPathClass &src);
void operator =(IOHIDEventServiceFastPathClass &src);
protected:
IOHIDEventServiceFastPathClass();
virtual ~IOHIDEventServiceFastPathClass();
static IOCFPlugInInterface sIOCFPlugInInterfaceV1;
static IOHIDServiceFastPathInterface sIOHIDServiceFastPathInterface;
struct InterfaceMap _hidService;
io_service_t _service;
io_connect_t _connect;
io_service_t _client;
IODataQueueMemory * _queueMappedMemory;
vm_size_t _queueMappedMemorySize;
static inline IOHIDEventServiceFastPathClass *getThis(void *self) { return (IOHIDEventServiceFastPathClass *)((InterfaceMap *) self)->obj; };
static IOReturn _probe(void *self, CFDictionaryRef propertyTable, io_service_t service, SInt32 *order);
static IOReturn _start(void *self, CFDictionaryRef propertyTable, io_service_t service);
static IOReturn _stop(void *self);
static boolean_t _open(void *self, IOOptionBits options, CFDictionaryRef property);
static void _close(void *self, IOOptionBits options);
static CFTypeRef _copyProperty(void *self, CFStringRef key);
static boolean_t _setProperty(void *self, CFStringRef key, CFTypeRef property);
static IOHIDEventRef _copyEvent(void *self, CFTypeRef copySpec, IOOptionBits options);
public:
static IOCFPlugInInterface **alloc();
HRESULT queryInterface(REFIID iid, void **ppv);
IOReturn probe(CFDictionaryRef propertyTable, io_service_t service, SInt32 * order);
IOReturn start(CFDictionaryRef propertyTable, io_service_t service);
IOReturn stop();
boolean_t open(IOOptionBits options, CFDictionaryRef property);
void close(IOOptionBits options);
CFTypeRef copyProperty(CFStringRef key);
boolean_t setProperty(CFStringRef key, CFTypeRef property);
IOHIDEventRef copyEvent(CFTypeRef copySpec, IOOptionBits options);
};
#endif