1/* 2 * 3 * @APPLE_LICENSE_HEADER_START@ 4 * 5 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved. 6 * 7 * This file contains Original Code and/or Modifications of Original Code 8 * as defined in and that are subject to the Apple Public Source License 9 * Version 2.0 (the 'License'). You may not use this file except in 10 * compliance with the License. Please obtain a copy of the License at 11 * http://www.opensource.apple.com/apsl/ and read it before using this 12 * file. 13 * 14 * The Original Code and all software distributed under the License are 15 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 16 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 17 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 19 * Please see the License for the specific language governing rights and 20 * limitations under the License. 21 * 22 * @APPLE_LICENSE_HEADER_END@ 23 */ 24 25#ifndef _IOKIT_HID_IOHIDDEVICESHIM_H 26#define _IOKIT_HID_IOHIDDEVICESHIM_H 27 28#include "IOHIDDevice.h" 29#include "IOHIDevice.h" 30 31#define kIOHIDAppleVendorID 1452 32typedef enum IOHIDTransport { 33 kIOHIDTransportNone = 0, 34 kIOHIDTransportUSB, 35 kIOHIDTransportADB, 36 kIOHIDTransportPS2 37} IOHIDTransport; 38 39class IOHIDDeviceShim : public IOHIDDevice 40{ 41 OSDeclareDefaultStructors( IOHIDDeviceShim ) 42 43private: 44 IOService * _device; 45 IOHIDevice * _hiDevice; 46 IOHIDTransport _transport; 47 UInt32 _location; 48 49protected: 50 51 virtual bool handleStart( IOService * provider ); 52 53public: 54 virtual IOReturn newReportDescriptor( 55 IOMemoryDescriptor ** descriptor ) const = 0; 56 virtual bool initWithLocation(UInt32 location = 0); 57 58 virtual IOHIDTransport transport() {return _transport;}; 59 60 virtual OSString * newTransportString() const; 61 virtual OSString * newProductString() const; 62 virtual OSString * newManufacturerString() const; 63 virtual OSNumber * newVendorIDNumber() const; 64 virtual OSNumber * newProductIDNumber() const; 65 virtual OSNumber * newLocationIDNumber() const; 66 virtual OSString * newSerialNumberString() const; 67 68 virtual bool isSeized(); 69}; 70 71#endif /* !_IOKIT_HID_IOHIDDEVICESHIM_H */ 72