34#import <mach/mach_error.h>
35#import <IOKit/IOKitLib.h>
36#import <IOKit/IOCFPlugIn.h>
37#import <IOKit/hid/IOHIDKeys.h>
41- (void) setCookieMappingInDictionary: (NSMutableDictionary*) _cookieToButtonMapping {
42 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlus] forKey:@"11_18_99_10_"];
43 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMinus] forKey:@"11_18_98_10_"];
44 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu] forKey:@"11_18_58_10_"];
45 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay] forKey:@"11_18_61_10_"];
46 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight] forKey:@"11_18_96_10_"];
47 [_cookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft] forKey:@"11_18_97_10_"];
57+ (io_object_t) findRemoteDevice {
58 CFMutableDictionaryRef hidMatchDictionary =
NULL;
59 IOReturn ioReturnValue = kIOReturnSuccess;
60 io_iterator_t hidObjectIterator = 0;
61 io_object_t hidDevice = 0;
62 SInt32 idVendor = 1741;
63 SInt32 idProduct = 0x420;
67 hidMatchDictionary = IOServiceMatching(kIOHIDDeviceKey);
69 CFNumberRef numberRefVendor = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &idVendor);
70 if ( numberRefVendor )
72 CFDictionaryAddValue(hidMatchDictionary, CFSTR(kIOHIDVendorIDKey), numberRefVendor);
73 CFRelease(numberRefVendor);
76 CFNumberRef numberRefProduct = CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &idProduct);
77 if ( numberRefProduct )
79 CFDictionaryAddValue(hidMatchDictionary, CFSTR(kIOHIDProductIDKey), numberRefProduct);
80 CFRelease(numberRefProduct);
85 ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault, hidMatchDictionary, &hidObjectIterator);
88 if ((ioReturnValue == kIOReturnSuccess) && (hidObjectIterator != 0)) {
89 hidDevice = IOIteratorNext(hidObjectIterator);
93 if ( hidObjectIterator )
94 IOObjectRelease(hidObjectIterator);
#define SAL_WNODEPRECATED_DECLARATIONS_POP
#define SAL_WNODEPRECATED_DECLARATIONS_PUSH