diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-01-28 18:29:49 -0600 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2012-01-28 18:29:49 -0600 |
commit | bec18a80f59085c034e5adb1bb61d8365c1406c3 (patch) | |
tree | b46a92a2d46f1df92f3ba41b4f3bc127864bff7a | |
parent | 3d75a28274b2fb299c5a2ff5b017984054cac873 (diff) |
Revert "gbuildify apple_remote" need to have soenv2 merged before
This reverts commit 3d75a28274b2fb299c5a2ff5b017984054cac873.
This will be pused again _after_ feature/soenv2 is merged
-rw-r--r-- | RepositoryExternal.mk | 7 | ||||
-rw-r--r-- | apple_remote/AppleRemote.m (renamed from apple_remote/source/AppleRemote.m) | 0 | ||||
-rw-r--r-- | apple_remote/GlobalKeyboardDevice.m (renamed from apple_remote/source/GlobalKeyboardDevice.m) | 88 | ||||
-rw-r--r-- | apple_remote/HIDRemoteControlDevice.m (renamed from apple_remote/source/HIDRemoteControlDevice.m) | 225 | ||||
-rw-r--r-- | apple_remote/KeyspanFrontRowControl.m (renamed from apple_remote/source/KeyspanFrontRowControl.m) | 0 | ||||
-rw-r--r-- | apple_remote/Library_AppleRemote.mk | 58 | ||||
-rw-r--r-- | apple_remote/Makefile | 7 | ||||
-rw-r--r-- | apple_remote/Module_apple_remote.mk | 39 | ||||
-rw-r--r-- | apple_remote/MultiClickRemoteBehavior.m (renamed from apple_remote/source/MultiClickRemoteBehavior.m) | 0 | ||||
-rw-r--r-- | apple_remote/Package_inc.mk | 33 | ||||
-rw-r--r-- | apple_remote/RemoteControl.m (renamed from apple_remote/source/RemoteControl.m) | 45 | ||||
-rw-r--r-- | apple_remote/RemoteControlContainer.m (renamed from apple_remote/source/RemoteControlContainer.m) | 104 | ||||
-rw-r--r-- | apple_remote/RemoteMainController.m (renamed from apple_remote/source/RemoteMainController.m) | 29 | ||||
-rw-r--r-- | apple_remote/inc/AppleRemote.h (renamed from apple_remote/source/AppleRemote.h) | 0 | ||||
-rw-r--r-- | apple_remote/inc/GlobalKeyboardDevice.h (renamed from apple_remote/source/GlobalKeyboardDevice.h) | 2 | ||||
-rw-r--r-- | apple_remote/inc/HIDRemoteControlDevice.h (renamed from apple_remote/source/HIDRemoteControlDevice.h) | 2 | ||||
-rw-r--r-- | apple_remote/inc/KeyspanFrontRowControl.h (renamed from apple_remote/source/KeyspanFrontRowControl.h) | 0 | ||||
-rw-r--r-- | apple_remote/inc/MultiClickRemoteBehavior.h (renamed from apple_remote/source/MultiClickRemoteBehavior.h) | 2 | ||||
-rw-r--r-- | apple_remote/inc/RemoteControl.h (renamed from apple_remote/inc/apple_remote/RemoteControl.h) | 0 | ||||
-rw-r--r-- | apple_remote/inc/RemoteControlContainer.h (renamed from apple_remote/source/RemoteControlContainer.h) | 2 | ||||
-rw-r--r-- | apple_remote/inc/RemoteMainController.h (renamed from apple_remote/inc/apple_remote/RemoteMainController.h) | 0 | ||||
-rw-r--r-- | apple_remote/makefile.mk | 82 | ||||
-rw-r--r-- | apple_remote/prj/build.lst | 3 | ||||
-rw-r--r-- | apple_remote/prj/d.lst | 4 | ||||
-rw-r--r-- | apple_remote/prj/makefile.mk | 1 |
25 files changed, 326 insertions, 407 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index b607ac8700b6..91ff7a38c24f 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -1023,13 +1023,6 @@ $(call gb_LinkTarget_add_libs,$(1), \ endef -define gb_LinkTarget__use_iokit -$(call gb_LinkTarget_add_libs,$(1), \ - -framework IOKit \ -) - -endef - define gb_LinkTarget__use_qtkit $(call gb_LinkTarget_add_libs,$(1), \ -framework QTKit \ diff --git a/apple_remote/source/AppleRemote.m b/apple_remote/AppleRemote.m index 95d8835f046b..95d8835f046b 100644 --- a/apple_remote/source/AppleRemote.m +++ b/apple_remote/AppleRemote.m diff --git a/apple_remote/source/GlobalKeyboardDevice.m b/apple_remote/GlobalKeyboardDevice.m index 2fd6156c23f6..14bf558a0511 100644 --- a/apple_remote/source/GlobalKeyboardDevice.m +++ b/apple_remote/GlobalKeyboardDevice.m @@ -2,13 +2,13 @@ * GlobalKeyboardDevice.m * RemoteControlWrapper * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. + * Created by Martin Kahr on 11.03.06 under a MIT-style license. * Copyright (c) 2006 martinkahr.com. All rights reserved. * - * Code modified and adapted to OpenOffice.org + * Code modified and adapted to OpenOffice.org * by Eric Bachard on 11.08.2008 under the same license * - * Permission is hereby granted, free of charge, to any person obtaining a + * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, @@ -20,7 +20,7 @@ * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN @@ -41,7 +41,7 @@ /* the following default keys are read and shall be used to change the keyboard mapping - + mac.remotecontrols.GlobalKeyboardDevice.plus_modifiers mac.remotecontrols.GlobalKeyboardDevice.plus_keycode mac.remotecontrols.GlobalKeyboardDevice.minus_modifiers @@ -62,19 +62,19 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef, EventRef, void*); @implementation GlobalKeyboardDevice -- (id) initWithDelegate: (id) _remoteControlDelegate { +- (id) initWithDelegate: (id) _remoteControlDelegate { if ( (self = [super initWithDelegate: _remoteControlDelegate]) ) { hotKeyRemoteEventMapping = [[NSMutableDictionary alloc] init]; - + unsigned int modifiers = cmdKey + shiftKey /*+ optionKey*/ + controlKey; - + [self mapRemoteButton:kRemoteButtonPlus defaultKeycode:F1 defaultModifiers:modifiers]; [self mapRemoteButton:kRemoteButtonMinus defaultKeycode:F2 defaultModifiers:modifiers]; [self mapRemoteButton:kRemoteButtonPlay defaultKeycode:F3 defaultModifiers:modifiers]; [self mapRemoteButton:kRemoteButtonLeft defaultKeycode:F4 defaultModifiers:modifiers]; [self mapRemoteButton:kRemoteButtonRight defaultKeycode:F5 defaultModifiers:modifiers]; [self mapRemoteButton:kRemoteButtonMenu defaultKeycode:F6 defaultModifiers:modifiers]; - [self mapRemoteButton:kRemoteButtonPlay_Hold defaultKeycode:F7 defaultModifiers:modifiers]; + [self mapRemoteButton:kRemoteButtonPlay_Hold defaultKeycode:F7 defaultModifiers:modifiers]; } return self; } @@ -85,48 +85,48 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef, EventRef, void*); } - (void) mapRemoteButton: (RemoteControlEventIdentifier) remoteButtonIdentifier defaultKeycode: (unsigned int) defaultKeycode defaultModifiers: (unsigned int) defaultModifiers { - NSString* defaultsKey = NULL; - + NSString* defaultsKey = NULL; + switch(remoteButtonIdentifier) { case kRemoteButtonPlus: defaultsKey = @"plus"; break; case kRemoteButtonMinus: defaultsKey = @"minus"; - break; + break; case kRemoteButtonMenu: defaultsKey = @"menu"; - break; + break; case kRemoteButtonPlay: defaultsKey = @"play"; break; case kRemoteButtonRight: defaultsKey = @"right"; - break; - case kRemoteButtonLeft: + break; + case kRemoteButtonLeft: defaultsKey = @"left"; break; case kRemoteButtonPlay_Hold: defaultsKey = @"playhold"; - break; - default: + break; + default: #ifdef DEBUG NSLog(@"Unknown global keyboard defaults key for remote button identifier %d", remoteButtonIdentifier); #endif break; } - + NSNumber* modifiersCfg = [[NSUserDefaults standardUserDefaults] objectForKey: [NSString stringWithFormat: @"mac.remotecontrols.GlobalKeyboardDevice.%@_modifiers", defaultsKey]]; NSNumber* keycodeCfg = [[NSUserDefaults standardUserDefaults] objectForKey: [NSString stringWithFormat: @"mac.remotecontrols.GlobalKeyboardDevice.%@_keycode", defaultsKey]]; - + unsigned int modifiers = defaultModifiers; if (modifiersCfg) modifiers = [modifiersCfg unsignedIntValue]; - + unsigned int keycode = defaultKeycode; if (keycodeCfg) keycode = [keycodeCfg unsignedIntValue]; - + [self registerHotKeyCode: keycode modifiers: modifiers remoteEventIdentifier: remoteButtonIdentifier]; -} +} - (void) setListeningToRemote: (BOOL) value { if (value == [self isListeningToRemote]) return; @@ -136,29 +136,26 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef, EventRef, void*); [self stopListening: self]; } } -- (BOOL) isListeningToRemote { +- (BOOL) isListeningToRemote { return (eventHandlerRef!=NULL); } - (void) startListening: (id) sender { - + if (eventHandlerRef) return; - + EventTypeSpec eventSpec[2] = { { kEventClassKeyboard, kEventHotKeyPressed }, { kEventClassKeyboard, kEventHotKeyReleased } - }; - + }; + InstallEventHandler( GetEventDispatcherTarget(), - (EventHandlerProcPtr)hotKeyEventHandler, - 2, eventSpec, self, &eventHandlerRef); - (void)sender; + (EventHandlerProcPtr)hotKeyEventHandler, + 2, eventSpec, self, &eventHandlerRef); } - - (void) stopListening: (id) sender { RemoveEventHandler(eventHandlerRef); eventHandlerRef = NULL; - (void)sender; } - (BOOL) sendsEventForButtonIdentifier: (RemoteControlEventIdentifier) identifier { @@ -174,21 +171,21 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef, EventRef, void*); return "Keyboard"; } -- (BOOL)registerHotKeyCode: (unsigned int) keycode modifiers: (unsigned int) modifiers remoteEventIdentifier: (RemoteControlEventIdentifier) identifier { +- (BOOL)registerHotKeyCode: (unsigned int) keycode modifiers: (unsigned int) modifiers remoteEventIdentifier: (RemoteControlEventIdentifier) identifier { OSStatus err; EventHotKeyID hotKeyID; EventHotKeyRef carbonHotKey; hotKeyID.signature = 'PTHk'; hotKeyID.id = (long)keycode; - + err = RegisterEventHotKey(keycode, modifiers, hotKeyID, GetEventDispatcherTarget(), 0, &carbonHotKey ); - + if( err ) return NO; - + [hotKeyRemoteEventMapping setObject: [NSNumber numberWithInt:identifier] forKey: [NSNumber numberWithUnsignedInt: hotKeyID.id]]; - + return YES; } /* @@ -197,21 +194,21 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef, EventRef, void*); OSStatus err; EventHotKeyRef carbonHotKey; NSValue* key; - + if( [[self allHotKeys] containsObject: hotKey] == NO ) return; - + carbonHotKey = [self _carbonHotKeyForHotKey: hotKey]; NSAssert( carbonHotKey != nil, @"" ); - + err = UnregisterEventHotKey( carbonHotKey ); //Watch as we ignore 'err': - + key = [NSValue valueWithPointer: carbonHotKey]; [mHotKeys removeObjectForKey: key]; - + [self _updateEventHandler]; - + //See that? Completely ignored } */ @@ -230,14 +227,13 @@ static RemoteControlEventIdentifier lastEvent; static OSStatus hotKeyEventHandler(EventHandlerCallRef inHandlerRef, EventRef inEvent, void* userData ) { - (void)inHandlerRef; GlobalKeyboardDevice* keyboardDevice = (GlobalKeyboardDevice*) userData; EventHotKeyID hkCom; GetEventParameter(inEvent,kEventParamDirectObject,typeEventHotKeyID,NULL,sizeof(hkCom),NULL,&hkCom); RemoteControlEventIdentifier identifier = [keyboardDevice remoteControlEventIdentifierForID:hkCom.id]; if (identifier == 0) return noErr; - + BOOL pressedDown = YES; if (identifier != lastEvent) { lastEvent = identifier; @@ -246,7 +242,7 @@ static OSStatus hotKeyEventHandler(EventHandlerCallRef inHandlerRef, EventRef in pressedDown = NO; } [keyboardDevice sendRemoteButtonEvent: identifier pressedDown: pressedDown]; - + return noErr; } diff --git a/apple_remote/source/HIDRemoteControlDevice.m b/apple_remote/HIDRemoteControlDevice.m index a42a91419754..2cd7506e60d3 100644 --- a/apple_remote/source/HIDRemoteControlDevice.m +++ b/apple_remote/HIDRemoteControlDevice.m @@ -2,13 +2,13 @@ * HIDRemoteControlDevice.m * RemoteControlWrapper * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. + * Created by Martin Kahr on 11.03.06 under a MIT-style license. * Copyright (c) 2006 martinkahr.com. All rights reserved. * - * Code modified and adapted to OpenOffice.org + * Code modified and adapted to OpenOffice.org * by Eric Bachard on 11.08.2008 under the same license * - * Permission is hereby granted, free of charge, to any person obtaining a + * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, @@ -20,7 +20,7 @@ * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN @@ -37,17 +37,17 @@ #import <IOKit/hid/IOHIDKeys.h> #import <Carbon/Carbon.h> -@interface HIDRemoteControlDevice (PrivateMethods) +@interface HIDRemoteControlDevice (PrivateMethods) - (NSDictionary*) cookieToButtonMapping; // Creates the dictionary using the magics, depending on the remote - (IOHIDQueueInterface**) queue; - (IOHIDDeviceInterface**) hidDeviceInterface; -- (void) handleEventWithCookieString: (NSString*) cookieString sumOfValues: (SInt32) sumOfValues; +- (void) handleEventWithCookieString: (NSString*) cookieString sumOfValues: (SInt32) sumOfValues; - (void) removeNotifcationObserver; - (void) remoteControlAvailable:(NSNotification *)notification; @end -@interface HIDRemoteControlDevice (IOKitMethods) +@interface HIDRemoteControlDevice (IOKitMethods) + (io_object_t) findRemoteDevice; - (IOHIDDeviceInterface**) createInterfaceForDevice: (io_object_t) hidDevice; - (BOOL) initializeCookies; @@ -60,25 +60,25 @@ return ""; } -+ (BOOL) isRemoteAvailable { ++ (BOOL) isRemoteAvailable { io_object_t hidDevice = [self findRemoteDevice]; if (hidDevice != 0) { IOObjectRelease(hidDevice); return YES; } else { - return NO; + return NO; } } -- (id) initWithDelegate: (id) _remoteControlDelegate { +- (id) initWithDelegate: (id) _remoteControlDelegate { if ([[self class] isRemoteAvailable] == NO) return nil; - + if ( (self = [super initWithDelegate: _remoteControlDelegate]) ) { openInExclusiveMode = YES; queue = NULL; hidDeviceInterface = NULL; cookieToButtonMapping = [[NSMutableDictionary alloc] init]; - + [self setCookieMappingInDictionary: cookieToButtonMapping]; NSEnumerator* enumerator = [cookieToButtonMapping objectEnumerator]; @@ -87,10 +87,10 @@ while( (identifier = [enumerator nextObject]) ) { supportedButtonEvents |= [identifier intValue]; } - + fixSecureEventInputBug = [[NSUserDefaults standardUserDefaults] boolForKey: @"remoteControlWrapperFixSecureEventInputBug"]; } - + return self; } @@ -105,10 +105,8 @@ [delegate sendRemoteButtonEvent: event pressedDown: pressedDown remoteControl:self]; } -- (void) setCookieMappingInDictionary: (NSMutableDictionary*) cookieToButtonMap { - (void)cookieToButtonMap; +- (void) setCookieMappingInDictionary: (NSMutableDictionary*) cookieToButtonMapping { } - - (int) remoteIdSwitchCookie { return 0; } @@ -116,9 +114,9 @@ - (BOOL) sendsEventForButtonIdentifier: (RemoteControlEventIdentifier) identifier { return (supportedButtonEvents & identifier) == identifier; } - + - (BOOL) isListeningToRemote { - return (hidDeviceInterface != NULL && allCookies != NULL && queue != NULL); + return (hidDeviceInterface != NULL && allCookies != NULL && queue != NULL); } - (void) setListeningToRemote: (BOOL) value { @@ -143,39 +141,38 @@ processesBacklog = value; } -- (void) startListening: (id) sender { - (void)sender; +- (void) startListening: (id) sender { if ([self isListeningToRemote]) return; - + // 4th July 2007 - // + // // A security update in february of 2007 introduced an odd behavior. // Whenever SecureEventInput is activated or deactivated the exclusive access // to the remote control device is lost. This leads to very strange behavior where // a press on the Menu button activates FrontRow while your app still gets the event. - // A great number of people have complained about this. - // + // A great number of people have complained about this. + // // Enabling the SecureEventInput and keeping it enabled does the trick. // // I'm pretty sure this is a kind of bug at Apple and I'm in contact with the responsible - // Apple Engineer. This solution is not a perfect one - I know. + // Apple Engineer. This solution is not a perfect one - I know. // One of the side effects is that applications that listen for special global keyboard shortcuts (like Quicksilver) // may get into problems as they no longer get the events. // As there is no official Apple Remote API from Apple I also failed to open a technical incident on this. - // + // // Note that there is a corresponding DisableSecureEventInput in the stopListening method below. - // - if ([self isOpenInExclusiveMode] && fixSecureEventInputBug) EnableSecureEventInput(); - + // + if ([self isOpenInExclusiveMode] && fixSecureEventInputBug) EnableSecureEventInput(); + [self removeNotifcationObserver]; - + io_object_t hidDevice = [[self class] findRemoteDevice]; if (hidDevice == 0) return; - + if ([self createInterfaceForDevice:hidDevice] == NULL) { goto error; } - + if ([self initializeCookies]==NO) { goto error; } @@ -187,68 +184,67 @@ [self willChangeValueForKey:@"listeningToRemote"]; [self didChangeValueForKey:@"listeningToRemote"]; goto cleanup; - + error: [self stopListening:self]; DisableSecureEventInput(); - -cleanup: - IOObjectRelease(hidDevice); + +cleanup: + IOObjectRelease(hidDevice); } - (void) stopListening: (id) sender { - (void)sender; if ([self isListeningToRemote]==NO) return; - + BOOL sendNotification = NO; - + if (eventSource != NULL) { CFRunLoopRemoveSource(CFRunLoopGetCurrent(), eventSource, kCFRunLoopDefaultMode); CFRelease(eventSource); eventSource = NULL; } if (queue != NULL) { - (*queue)->stop(queue); - + (*queue)->stop(queue); + //dispose of queue - (*queue)->dispose(queue); - + (*queue)->dispose(queue); + //release the queue we allocated - (*queue)->Release(queue); - + (*queue)->Release(queue); + queue = NULL; - + sendNotification = YES; } - + if (allCookies != nil) { [allCookies autorelease]; allCookies = nil; } - + if (hidDeviceInterface != NULL) { //close the device (*hidDeviceInterface)->close(hidDeviceInterface); - - //release the interface + + //release the interface (*hidDeviceInterface)->Release(hidDeviceInterface); - + hidDeviceInterface = NULL; } - + if ([self isOpenInExclusiveMode] && fixSecureEventInputBug) DisableSecureEventInput(); - + if ([self isOpenInExclusiveMode] && sendNotification) { - [[self class] sendFinishedNotifcationForAppIdentifier: nil]; + [[self class] sendFinishedNotifcationForAppIdentifier: nil]; } // be KVO friendly [self willChangeValueForKey:@"listeningToRemote"]; - [self didChangeValueForKey:@"listeningToRemote"]; + [self didChangeValueForKey:@"listeningToRemote"]; } @end -@implementation HIDRemoteControlDevice (PrivateMethods) +@implementation HIDRemoteControlDevice (PrivateMethods) - (IOHIDQueueInterface**) queue { return queue; @@ -269,7 +265,7 @@ cleanup: NSString* key; while( (key = [keyEnum nextObject]) ) { NSRange range = [cookieString rangeOfString:key]; - if (range.location == 0) return key; + if (range.location == 0) return key; } return nil; } @@ -279,10 +275,10 @@ cleanup: if (previousRemainingCookieString) { cookieString = [previousRemainingCookieString stringByAppendingString: cookieString]; NSLog(@"New cookie string is %@", cookieString); - [previousRemainingCookieString release], previousRemainingCookieString=nil; + [previousRemainingCookieString release], previousRemainingCookieString=nil; }*/ if (cookieString == nil || [cookieString length] == 0) return; - + NSNumber* buttonId = [[self cookieToButtonMapping] objectForKey: cookieString]; if (buttonId != nil) { switch ( (int)buttonId ) @@ -308,14 +304,14 @@ cleanup: } if (processesBacklog == NO && lastSubCookieString != nil) { // process the last event of the backlog and assume that the button is not pressed down any longer. - // The events in the backlog do not seem to be in order and therefore (in rare cases) the last event might be - // a button pressed down event while in reality the user has released it. + // The events in the backlog do not seem to be in order and therefore (in rare cases) the last event might be + // a button pressed down event while in reality the user has released it. // NSLog(@"processing last event of backlog"); [self handleEventWithCookieString: lastSubCookieString sumOfValues:0]; } if ([cookieString length] > 0) { NSLog(@"Unknown button for cookiestring %@", cookieString); - } + } } } @@ -324,7 +320,6 @@ cleanup: } - (void) remoteControlAvailable:(NSNotification *)notification { - (void)notification; [self removeNotifcationObserver]; [self startListening: self]; } @@ -334,35 +329,33 @@ cleanup: /* Callback method for the device queue Will be called for any event of any type (cookie) to which we subscribe */ -static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, void* sender) { - (void)refcon; - (void)sender; - if ((intptr_t)target < 0) { +static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, void* sender) { + if (target < 0) { NSLog(@"QueueCallbackFunction called with invalid target!"); return; } NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; - - HIDRemoteControlDevice* remote = (HIDRemoteControlDevice*)target; - IOHIDEventStruct event; + + HIDRemoteControlDevice* remote = (HIDRemoteControlDevice*)target; + IOHIDEventStruct event; AbsoluteTime zeroTime = {0,0}; NSMutableString* cookieString = [NSMutableString string]; SInt32 sumOfValues = 0; while (result == kIOReturnSuccess) { - result = (*[remote queue])->getNextEvent([remote queue], &event, zeroTime, 0); + result = (*[remote queue])->getNextEvent([remote queue], &event, zeroTime, 0); if ( result != kIOReturnSuccess ) continue; - - //printf("%d %d %d\n", event.elementCookie, event.value, event.longValue); - + + //printf("%d %d %d\n", event.elementCookie, event.value, event.longValue); + if (((int)event.elementCookie)!=5) { sumOfValues+=event.value; [cookieString appendString:[NSString stringWithFormat:@"%d_", event.elementCookie]]; } } [remote handleEventWithCookieString: cookieString sumOfValues: sumOfValues]; - + [pool release]; } @@ -374,16 +367,16 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, HRESULT plugInResult = S_OK; SInt32 score = 0; IOReturn ioReturnValue = kIOReturnSuccess; - + hidDeviceInterface = NULL; - + ioReturnValue = IOObjectGetClass(hidDevice, className); - + if (ioReturnValue != kIOReturnSuccess) { NSLog(@"Error: Failed to get class name."); return NULL; } - + ioReturnValue = IOCreatePlugInInterfaceForService(hidDevice, kIOHIDDeviceUserClientTypeID, kIOCFPlugInInterfaceID, @@ -393,7 +386,7 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, { //Call a method of the intermediate plug-in to create the device interface plugInResult = (*plugInInterface)->QueryInterface(plugInInterface, CFUUIDGetUUIDBytes(kIOHIDDeviceInterfaceID), (LPVOID) &hidDeviceInterface); - + if (plugInResult != S_OK) { NSLog(@"Error: Couldn't create HID class device interface"); } @@ -412,41 +405,41 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, NSArray* elements = nil; NSDictionary* element; IOReturn success; - + if (!handle || !(*handle)) return NO; - + // Copy all elements, since we're grabbing most of the elements // for this device anyway, and thus, it's faster to iterate them // ourselves. When grabbing only one or two elements, a matching // dictionary should be passed in here instead of NULL. success = (*handle)->copyMatchingElements(handle, NULL, (CFArrayRef*)&elements); - + if (success == kIOReturnSuccess) { - - [elements autorelease]; + + [elements autorelease]; /* - cookies = calloc(NUMBER_OF_APPLE_REMOTE_ACTIONS, sizeof(IOHIDElementCookie)); + cookies = calloc(NUMBER_OF_APPLE_REMOTE_ACTIONS, sizeof(IOHIDElementCookie)); memset(cookies, 0, sizeof(IOHIDElementCookie) * NUMBER_OF_APPLE_REMOTE_ACTIONS); */ allCookies = [[NSMutableArray alloc] init]; - + NSEnumerator *elementsEnumerator = [elements objectEnumerator]; - - while ( (element = [elementsEnumerator nextObject]) ) { + + while ( (element = [elementsEnumerator nextObject]) ) { //Get cookie object = [element valueForKey: (NSString*)CFSTR(kIOHIDElementCookieKey) ]; if (object == nil || ![object isKindOfClass:[NSNumber class]]) continue; if (object == 0 || CFGetTypeID(object) != CFNumberGetTypeID()) continue; cookie = (IOHIDElementCookie) [object longValue]; - + //Get usage object = [element valueForKey: (NSString*)CFSTR(kIOHIDElementUsageKey) ]; - if (object == nil || ![object isKindOfClass:[NSNumber class]]) continue; + if (object == nil || ![object isKindOfClass:[NSNumber class]]) continue; usage = [object longValue]; - + //Get usage page object = [element valueForKey: (NSString*)CFSTR(kIOHIDElementUsagePageKey) ]; - if (object == nil || ![object isKindOfClass:[NSNumber class]]) continue; + if (object == nil || ![object isKindOfClass:[NSNumber class]]) continue; usagePage = [object longValue]; [allCookies addObject: [NSNumber numberWithInt:(int)cookie]]; @@ -454,38 +447,38 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, } else { return NO; } - + return YES; } - (BOOL) openDevice { HRESULT result; - + IOHIDOptionsType openMode = kIOHIDOptionsTypeNone; - if ([self isOpenInExclusiveMode]) openMode = kIOHIDOptionsTypeSeizeDevice; - IOReturn ioReturnValue = (*hidDeviceInterface)->open(hidDeviceInterface, openMode); - - if (ioReturnValue == KERN_SUCCESS) { + if ([self isOpenInExclusiveMode]) openMode = kIOHIDOptionsTypeSeizeDevice; + IOReturn ioReturnValue = (*hidDeviceInterface)->open(hidDeviceInterface, openMode); + + if (ioReturnValue == KERN_SUCCESS) { queue = (*hidDeviceInterface)->allocQueue(hidDeviceInterface); if (queue) { result = (*queue)->create(queue, 0, 12); //depth: maximum number of elements in queue before oldest elements in queue begin to be lost. IOHIDElementCookie cookie; NSEnumerator *allCookiesEnumerator = [allCookies objectEnumerator]; - + while ( (cookie = (IOHIDElementCookie)[[allCookiesEnumerator nextObject] intValue]) ) { (*queue)->addElement(queue, cookie, 0); } - - // add callback for async events - ioReturnValue = (*queue)->createAsyncEventSource(queue, &eventSource); + + // add callback for async events + ioReturnValue = (*queue)->createAsyncEventSource(queue, &eventSource); if (ioReturnValue == KERN_SUCCESS) { ioReturnValue = (*queue)->setEventCallout(queue,QueueCallbackFunction, self, NULL); if (ioReturnValue == KERN_SUCCESS) { CFRunLoopAddSource(CFRunLoopGetCurrent(), eventSource, kCFRunLoopDefaultMode); - + //start data delivery to queue - (*queue)->start(queue); + (*queue)->start(queue); return YES; } else { NSLog(@"Error when setting event callback"); @@ -498,36 +491,36 @@ static void QueueCallbackFunction(void* target, IOReturn result, void* refcon, } } else if (ioReturnValue == kIOReturnExclusiveAccess) { // the device is used exclusive by another application - + // 1. we register for the FINISHED_USING_REMOTE_CONTROL_NOTIFICATION notification [[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(remoteControlAvailable:) name:FINISHED_USING_REMOTE_CONTROL_NOTIFICATION object:nil]; - - // 2. send a distributed notification that we wanted to use the remote control + + // 2. send a distributed notification that we wanted to use the remote control [[self class] sendRequestForRemoteControlNotification]; } - return NO; + return NO; } + (io_object_t) findRemoteDevice { CFMutableDictionaryRef hidMatchDictionary = NULL; - IOReturn ioReturnValue = kIOReturnSuccess; + IOReturn ioReturnValue = kIOReturnSuccess; io_iterator_t hidObjectIterator = 0; io_object_t hidDevice = 0; - + // Set up a matching dictionary to search the I/O Registry by class // name for all HID class devices hidMatchDictionary = IOServiceMatching([self remoteControlDeviceName]); - + // Now search I/O Registry for matching devices. ioReturnValue = IOServiceGetMatchingServices(kIOMasterPortDefault, hidMatchDictionary, &hidObjectIterator); - + if ((ioReturnValue == kIOReturnSuccess) && (hidObjectIterator != 0)) { hidDevice = IOIteratorNext(hidObjectIterator); } - + // release the iterator IOObjectRelease(hidObjectIterator); - + return hidDevice; } diff --git a/apple_remote/source/KeyspanFrontRowControl.m b/apple_remote/KeyspanFrontRowControl.m index dd86475b12b1..dd86475b12b1 100644 --- a/apple_remote/source/KeyspanFrontRowControl.m +++ b/apple_remote/KeyspanFrontRowControl.m diff --git a/apple_remote/Library_AppleRemote.mk b/apple_remote/Library_AppleRemote.mk deleted file mode 100644 index 308725c32683..000000000000 --- a/apple_remote/Library_AppleRemote.mk +++ /dev/null @@ -1,58 +0,0 @@ - -# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- -# -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Initial Developer of the Original Code is -# Norbert Thiebaud <nthiebaud@gmail.com> -# Portions created by the Initial Developer are Copyright (C) 2012 the -# Initial Developer. All Rights Reserved. -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. -# - -$(eval $(call gb_Library_Library,AppleRemote)) - -$(eval $(call gb_Library_set_include,AppleRemote,\ - -I$(SRCDIR)/apple_remote/inc \ - $$(INCLUDE) \ -)) - -$(eval $(call gb_Library_use_externals,AppleRemote,\ - cocoa \ - carbon \ - iokit \ -)) - -$(eval $(call gb_Library_add_libs,AppleRemote,\ - -framework Cocoa \ - -framework Carbon \ - -framework IOKit \ -)) - -$(eval $(call gb_Library_add_objcobjects,AppleRemote,\ - apple_remote/source/KeyspanFrontRowControl \ - apple_remote/source/AppleRemote \ - apple_remote/source/RemoteControl \ - apple_remote/source/RemoteControlContainer \ - apple_remote/source/GlobalKeyboardDevice \ - apple_remote/source/HIDRemoteControlDevice \ - apple_remote/source/MultiClickRemoteBehavior \ - apple_remote/source/RemoteMainController \ -)) diff --git a/apple_remote/Makefile b/apple_remote/Makefile deleted file mode 100644 index ccb1c85a04da..000000000000 --- a/apple_remote/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- - -module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) - -include $(module_directory)/../solenv/gbuild/partial_build.mk - -# vim: set noet sw=4 ts=4: diff --git a/apple_remote/Module_apple_remote.mk b/apple_remote/Module_apple_remote.mk deleted file mode 100644 index 4b0a691f6754..000000000000 --- a/apple_remote/Module_apple_remote.mk +++ /dev/null @@ -1,39 +0,0 @@ -# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*- -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Initial Developer of the Original Code is -# Norbert Thiebaud <nthiebaud@gmail.com> -# Portions created by the Initial Developer are Copyright (C) 2012 the -# Initial Developer. All Rights Reserved. -# -# Major Contributor(s): -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Module_Module,apple_remote)) - -ifeq ($(GUIBASE),aqua) -$(eval $(call gb_Module_add_targets,apple_remote,\ - Library_AppleRemote \ - Package_inc \ -)) -endif - - -# vim: set noet sw=4 ts=4: diff --git a/apple_remote/source/MultiClickRemoteBehavior.m b/apple_remote/MultiClickRemoteBehavior.m index d0fd34c89c73..d0fd34c89c73 100644 --- a/apple_remote/source/MultiClickRemoteBehavior.m +++ b/apple_remote/MultiClickRemoteBehavior.m diff --git a/apple_remote/Package_inc.mk b/apple_remote/Package_inc.mk deleted file mode 100644 index f6e61efb8e2d..000000000000 --- a/apple_remote/Package_inc.mk +++ /dev/null @@ -1,33 +0,0 @@ -# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- -# Version: MPL 1.1 / GPLv3+ / LGPLv3+ -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License or as specified alternatively below. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Initial Developer of the Original Code is -# Norbert Thiebaud <nthiebaud@gmail.com> -# Portions created by the Initial Developer are Copyright (C) 2012 the -# Initial Developer. All Rights Reserved. -# -# Major Contributor(s): -# -# For minor contributions see the git repository. -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 3 or later (the "GPLv3+"), or -# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), -# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable -# instead of those above. - -$(eval $(call gb_Package_Package,apple_remote_inc,$(SRCDIR)/apple_remote/inc)) - -$(eval $(call gb_Package_add_file,apple_remote_inc,inc/apple_remote/RemoteControl.h,apple_remote/RemoteControl.h)) -$(eval $(call gb_Package_add_file,apple_remote_inc,inc/apple_remote/RemoteMainController.h,apple_remote/RemoteMainController.h)) - diff --git a/apple_remote/source/RemoteControl.m b/apple_remote/RemoteControl.m index f82a7e76e76b..d0812d384b3e 100644 --- a/apple_remote/source/RemoteControl.m +++ b/apple_remote/RemoteControl.m @@ -2,13 +2,13 @@ * RemoteControl.m * RemoteControlWrapper * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. + * Created by Martin Kahr on 11.03.06 under a MIT-style license. * Copyright (c) 2006 martinkahr.com. All rights reserved. * - * Code modified and adapted to OpenOffice.org + * Code modified and adapted to OpenOffice.org * by Eric Bachard on 11.08.2008 under the same License * - * Permission is hereby granted, free of charge, to any person obtaining a + * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, @@ -20,17 +20,17 @@ * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. * *****************************************************************************/ + +#import "RemoteControl.h" -#import <apple_remote/RemoteControl.h> - -// notifaction names that are being used to signal that an application wants to +// notifaction names that are being used to signal that an application wants to // have access to the remote control device or if the application has finished // using the remote control device NSString* REQUEST_FOR_REMOTE_CONTROL_NOTIFCATION = @"mac.remotecontrols.RequestForRemoteControl"; @@ -47,14 +47,14 @@ NSString* kTargetApplicationIdentifier = @"TargetBundleIdentifier"; @implementation RemoteControl // returns nil if the remote control device is not available -- (id) initWithDelegate: (id) _remoteControlDelegate { +- (id) initWithDelegate: (id) _remoteControlDelegate { if ( (self = [super init]) ) { - delegate = [_remoteControlDelegate retain]; + delegate = [_remoteControlDelegate retain]; #ifdef DEBUG NSLog(@"RemoteControl initWithDelegate ok"); #endif } - return self; + return self; } - (void) dealloc { @@ -66,38 +66,33 @@ NSString* kTargetApplicationIdentifier = @"TargetBundleIdentifier"; #ifdef DEBUG NSLog(@"setListeningToRemote ok"); #endif - (void)value; } - (BOOL) isListeningToRemote { - return NO; + return NO; } - (void) startListening: (id) sender { #ifdef DEBUG NSLog(@"startListening ok"); #endif - (void)sender; } - (void) stopListening: (id) sender { #ifdef DEBUG NSLog(@"stopListening ok"); #endif - (void)sender; } - (BOOL) isOpenInExclusiveMode { - return YES; + return YES; } - (void) setOpenInExclusiveMode: (BOOL) value { - (void)value; } - (BOOL) sendsEventForButtonIdentifier: (RemoteControlEventIdentifier) identifier { #ifdef DEBUG - NSLog(@"sending event for button identifier \n"); + NSLog(@"sending event for button identifier \n"); #endif - (void)identifier; - return YES; + return YES; } + (void) sendDistributedNotification: (NSString*) notificationName targetBundleIdentifier: (NSString*) targetIdentifier @@ -111,7 +106,7 @@ NSString* kTargetApplicationIdentifier = @"TargetBundleIdentifier"; kTargetApplicationIdentifier /*targetBundleIdentifier -> does not appear, since the peer is nil*/, nil]; #ifdef DEBUG - // Debug purpose: returns all the existing dictionary keys. + // Debug purpose: returns all the existing dictionary keys. NSString *s; NSEnumerator *e = [userInfo keyEnumerator]; while ( (s = [e nextObject]) ) { @@ -124,10 +119,10 @@ NSString* kTargetApplicationIdentifier = @"TargetBundleIdentifier"; NSLog(@"sendDistributedNotification ..."); #endif - [[NSDistributedNotificationCenter defaultCenter] postNotificationName:notificationName - object:nil - userInfo:userInfo - deliverImmediately:YES]; + [[NSDistributedNotificationCenter defaultCenter] postNotificationName:notificationName + object:nil + userInfo:userInfo + deliverImmediately:YES]; } } @@ -145,7 +140,7 @@ NSString* kTargetApplicationIdentifier = @"TargetBundleIdentifier"; } + (const char*) remoteControlDeviceName { - return NULL; + return NULL; } @end diff --git a/apple_remote/source/RemoteControlContainer.m b/apple_remote/RemoteControlContainer.m index 04a4c6c1cfe1..40a222f2d829 100644 --- a/apple_remote/source/RemoteControlContainer.m +++ b/apple_remote/RemoteControlContainer.m @@ -2,13 +2,13 @@ * RemoteControlContainer.m * RemoteControlWrapper * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. + * Created by Martin Kahr on 11.03.06 under a MIT-style license. * Copyright (c) 2006 martinkahr.com. All rights reserved. * - * Code modified and adapted to OpenOffice.org + * Code modified and adapted to OpenOffice.org * by Eric Bachard on 11.08.2008 under the same License * - * Permission is hereby granted, free of charge, to any person obtaining a + * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, @@ -20,7 +20,7 @@ * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN @@ -33,23 +33,23 @@ @implementation RemoteControlContainer - (id) initWithDelegate: (id) _remoteControlDelegate { - if ( (self = [super initWithDelegate:_remoteControlDelegate]) ) { - remoteControls = [[NSMutableArray alloc] init]; + if ( (self = [super initWithDelegate:_remoteControlDelegate]) ) { + remoteControls = [[NSMutableArray alloc] init]; #ifdef DEBUG NSLog(@"RemoteControlContainer initWithDelegate ok"); - } + } else { NSLog(@"RemoteControlContainer initWithDelegate failed"); #endif } - return self; + return self; } - (void) dealloc { - [self stopListening: self]; - [remoteControls release]; - [super dealloc]; + [self stopListening: self]; + [remoteControls release]; + [super dealloc]; } - (BOOL) instantiateAndAddRemoteControlDeviceWithClass: (Class) clazz { @@ -58,87 +58,83 @@ if (remoteControl) { [remoteControls addObject: remoteControl]; [remoteControl addObserver: self forKeyPath:@"listeningToRemote" options:NSKeyValueObservingOptionNew context:nil]; - toReturn = YES; + toReturn = YES; } #ifdef DEBUG else { NSLog(@"RemoteControlContainer instantiateAndAddRemoteControlDeviceWithClass failed"); - toReturn = NO; + toReturn = NO; } #endif return toReturn; } - (unsigned int) count { - return [remoteControls count]; + return [remoteControls count]; } - (void) reset { - [self willChangeValueForKey:@"listeningToRemote"]; - [self didChangeValueForKey:@"listeningToRemote"]; + [self willChangeValueForKey:@"listeningToRemote"]; + [self didChangeValueForKey:@"listeningToRemote"]; #ifdef DEBUG - // debug purpose + // debug purpose NSLog(@"reset... (after listening to remote)"); #endif } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { - [self reset]; - (void)keyPath; - (void)object; - (void)change; - (void)context; + [self reset]; } - (void) setListeningToRemote: (BOOL) value { - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - [[remoteControls objectAtIndex: i] setListeningToRemote: value]; - } - if (value && value != [self isListeningToRemote]) [self performSelector:@selector(reset) withObject:nil afterDelay:0.01]; + int i; + for(i=0; i < [remoteControls count]; i++) { + [[remoteControls objectAtIndex: i] setListeningToRemote: value]; + } + if (value && value != [self isListeningToRemote]) [self performSelector:@selector(reset) withObject:nil afterDelay:0.01]; } - (BOOL) isListeningToRemote { - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - if ([[remoteControls objectAtIndex: i] isListeningToRemote]) { - return YES; - } - } - return NO; + int i; + for(i=0; i < [remoteControls count]; i++) { + if ([[remoteControls objectAtIndex: i] isListeningToRemote]) { + return YES; + } + } + return NO; } - (void) startListening: (id) sender { #ifdef DEBUG - NSLog(@"startListening to events... "); + NSLog(@"startListening to events... "); #endif - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - [[remoteControls objectAtIndex: i] startListening: sender]; - } + int i; + for(i=0; i < [remoteControls count]; i++) { + [[remoteControls objectAtIndex: i] startListening: sender]; + } } - (void) stopListening: (id) sender { #ifdef DEBUG - NSLog(@"stopListening to events... "); + NSLog(@"stopListening to events... "); #endif - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - [[remoteControls objectAtIndex: i] stopListening: sender]; - } + int i; + for(i=0; i < [remoteControls count]; i++) { + [[remoteControls objectAtIndex: i] stopListening: sender]; + } } - (BOOL) isOpenInExclusiveMode { - BOOL mode = YES; - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - mode = mode && ([[remoteControls objectAtIndex: i] isOpenInExclusiveMode]); - } - return mode; + BOOL mode = YES; + int i; + for(i=0; i < [remoteControls count]; i++) { + mode = mode && ([[remoteControls objectAtIndex: i] isOpenInExclusiveMode]); + } + return mode; } - (void) setOpenInExclusiveMode: (BOOL) value { - unsigned int i; - for(i=0; i < [remoteControls count]; i++) { - [[remoteControls objectAtIndex: i] setOpenInExclusiveMode:value]; - } + int i; + for(i=0; i < [remoteControls count]; i++) { + [[remoteControls objectAtIndex: i] setOpenInExclusiveMode:value]; + } } @end diff --git a/apple_remote/source/RemoteMainController.m b/apple_remote/RemoteMainController.m index b7ed2110eb81..c3da7bbf313d 100644 --- a/apple_remote/source/RemoteMainController.m +++ b/apple_remote/RemoteMainController.m @@ -1,13 +1,13 @@ /***************************************************************************** * RemoteMainController.m * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. + * Created by Martin Kahr on 11.03.06 under a MIT-style license. * Copyright (c) 2006 martinkahr.com. All rights reserved. * - * Code modified and adapted to OpenOffice.org + * Code modified and adapted to OpenOffice.org * by Eric Bachard on 11.08.2008 under the same License * - * Permission is hereby granted, free of charge, to any person obtaining a + * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, @@ -19,7 +19,7 @@ * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN @@ -27,7 +27,7 @@ * *****************************************************************************/ -#import <apple_remote/RemoteMainController.h> +#import "RemoteMainController.h" #import "AppleRemote.h" #import "KeyspanFrontRowControl.h" #import "GlobalKeyboardDevice.h" @@ -41,15 +41,15 @@ @implementation MainController - (id) init { - self = [super init]; // because we redefined our own init instead of use the fu..nny awakeFromNib + self = [super init]; // because we redefined our own init instead of use the fu..nny awakeFromNib if (self != nil) { // 1. instantiate the desired behavior for the remote control device - remoteControlBehavior = [[MultiClickRemoteBehavior alloc] init]; + remoteControlBehavior = [[MultiClickRemoteBehavior alloc] init]; // 2. configure the behavior [remoteControlBehavior setDelegate: self]; - + // 3. a Remote Control Container manages a number of devices and conforms to the RemoteControl interface // Therefore you can enable or disable all the devices of the container with a single "startListening:" call. RemoteControlContainer* container = [[RemoteControlContainer alloc] initWithDelegate: remoteControlBehavior]; @@ -70,21 +70,21 @@ else { NSLog(@"[container instantiateAndAddRemoteControlDeviceWithClass: [GlobalKeyboardDevice class]] failed"); #endif - } + } // to give the binding mechanism a chance to see the change of the attribute - [self setValue: container forKey: @"remoteControl"]; + [self setValue: container forKey: @"remoteControl"]; #ifdef DEBUG NSLog(@"MainController init done"); #endif } - else + else NSLog(@"MainController init failed"); return self; } - (void) postTheEvent: (short int)buttonIdentifier modifierFlags:(int)modifierFlags { - [NSApp postEvent: + [NSApp postEvent: [NSEvent otherEventWithType:NSApplicationDefined location:NSZeroPoint modifierFlags:modifierFlags @@ -92,7 +92,7 @@ windowNumber:[[NSApp keyWindow] windowNumber] context:nil subtype:AppleRemoteControlEvent - data1: buttonIdentifier + data1: buttonIdentifier data2: 0] atStart: NO]; } @@ -100,7 +100,6 @@ - (void) remoteButton: (RemoteControlEventIdentifier)buttonIdentifier pressedDown: (BOOL) pressedDown clickCount: (unsigned int)clickCount { - (void)clickCount; NSString* pressed = @""; #ifdef DEBUG NSString* buttonName = nil; @@ -110,7 +109,7 @@ pressed = @"(pressed)"; #ifdef DEBUG - switch(buttonIdentifier) + switch(buttonIdentifier) { case kRemoteButtonPlus: buttonName = @"Volume up"; break; // MEDIA_COMMAND_VOLUME_UP ( see vcl/inc/vcl/cmdevt.hxx ) case kRemoteButtonMinus: buttonName = @"Volume down"; break; // MEDIA_COMMAND_VOLUME_DOWN diff --git a/apple_remote/source/AppleRemote.h b/apple_remote/inc/AppleRemote.h index 509ddaa66c20..509ddaa66c20 100644 --- a/apple_remote/source/AppleRemote.h +++ b/apple_remote/inc/AppleRemote.h diff --git a/apple_remote/source/GlobalKeyboardDevice.h b/apple_remote/inc/GlobalKeyboardDevice.h index 6a8a052e7ae5..ad9c4f3f57a5 100644 --- a/apple_remote/source/GlobalKeyboardDevice.h +++ b/apple_remote/inc/GlobalKeyboardDevice.h @@ -28,7 +28,7 @@ * *****************************************************************************/ -#import <apple_remote/RemoteControl.h> +#import "RemoteControl.h" #import <Carbon/Carbon.h> diff --git a/apple_remote/source/HIDRemoteControlDevice.h b/apple_remote/inc/HIDRemoteControlDevice.h index d193472de5f5..44e4d17fc65d 100644 --- a/apple_remote/source/HIDRemoteControlDevice.h +++ b/apple_remote/inc/HIDRemoteControlDevice.h @@ -28,7 +28,7 @@ * *****************************************************************************/ -#import <apple_remote/RemoteControl.h> +#import "RemoteControl.h" #import <IOKit/hid/IOHIDLib.h> diff --git a/apple_remote/source/KeyspanFrontRowControl.h b/apple_remote/inc/KeyspanFrontRowControl.h index 2469b5839904..2469b5839904 100644 --- a/apple_remote/source/KeyspanFrontRowControl.h +++ b/apple_remote/inc/KeyspanFrontRowControl.h diff --git a/apple_remote/source/MultiClickRemoteBehavior.h b/apple_remote/inc/MultiClickRemoteBehavior.h index 9cf2e7f03e5c..a704febaa4fb 100644 --- a/apple_remote/source/MultiClickRemoteBehavior.h +++ b/apple_remote/inc/MultiClickRemoteBehavior.h @@ -29,7 +29,7 @@ *****************************************************************************/ -#import <apple_remote/RemoteControl.h> +#import "RemoteControl.h" /** A behavior that adds multiclick and hold events on top of a device. diff --git a/apple_remote/inc/apple_remote/RemoteControl.h b/apple_remote/inc/RemoteControl.h index 4476af237b6a..4476af237b6a 100644 --- a/apple_remote/inc/apple_remote/RemoteControl.h +++ b/apple_remote/inc/RemoteControl.h diff --git a/apple_remote/source/RemoteControlContainer.h b/apple_remote/inc/RemoteControlContainer.h index db70ee64a916..e82fa6b88deb 100644 --- a/apple_remote/source/RemoteControlContainer.h +++ b/apple_remote/inc/RemoteControlContainer.h @@ -28,7 +28,7 @@ * *****************************************************************************/ -#import <apple_remote/RemoteControl.h> +#import "RemoteControl.h" @interface RemoteControlContainer : RemoteControl { NSMutableArray* remoteControls; diff --git a/apple_remote/inc/apple_remote/RemoteMainController.h b/apple_remote/inc/RemoteMainController.h index 167454071caf..167454071caf 100644 --- a/apple_remote/inc/apple_remote/RemoteMainController.h +++ b/apple_remote/inc/RemoteMainController.h diff --git a/apple_remote/makefile.mk b/apple_remote/makefile.mk new file mode 100644 index 000000000000..7a5f28d3efff --- /dev/null +++ b/apple_remote/makefile.mk @@ -0,0 +1,82 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=external +TARGET=AppleRemote + +ENABLE_EXCEPTIONS=TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +.IF "$(GUIBASE)"!="aqua" + +dummy: +# nothing + +.ELSE # "$(GUIBASE)"!="aqua" + +SHL1STDLIBS+= \ + -framework Cocoa -framework Carbon -framework IOKit + +LIB1FILES+= \ + $(SLB)$/AppleRemote.lib + +SLOFILES= \ + $(SLO)$/KeyspanFrontRowControl.obj \ + $(SLO)$/AppleRemote.obj \ + $(SLO)$/RemoteControl.obj \ + $(SLO)$/RemoteControlContainer.obj \ + $(SLO)$/GlobalKeyboardDevice.obj \ + $(SLO)$/HIDRemoteControlDevice.obj \ + $(SLO)$/MultiClickRemoteBehavior.obj \ + $(SLO)$/RemoteMainController.obj + +SHL1TARGET= $(TARGET)$(DLLPOSTFIX) +SHL1OBJS= $(SLOFILES) + +OUT2INC = \ + $(BUILDDIR)$/KeyspaFrontRowControl.h \ + $(BUILDDIR)$/AppleRemote.h \ + $(BUILDDIR)$/RemoteControl.h \ + $(BUILDDIR)$/RemoteControlContainer.h \ + $(BUILDDIR)$/GlobalKeyboardDevice.h \ + $(BUILDDIR)$/HIDRemoteControlDevice.h \ + $(BUILDDIR)$/MultiClickRemoteBehavior.h \ + $(BUILDDIR)$/RemoteMainController.h + + +.ENDIF # "$(GUIBASE)"!="aqua" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/apple_remote/prj/build.lst b/apple_remote/prj/build.lst index 29a33558d7df..ff4ee577408a 100644 --- a/apple_remote/prj/build.lst +++ b/apple_remote/prj/build.lst @@ -1,3 +1,2 @@ apr apple_remote : solenv soltools NULL -apr apple_remote\prj nmake - u apr_aprem NULL - +apr apple_remote nmake - u apr_aprem NULL diff --git a/apple_remote/prj/d.lst b/apple_remote/prj/d.lst index 8b137891791f..8d05687ba9f1 100644 --- a/apple_remote/prj/d.lst +++ b/apple_remote/prj/d.lst @@ -1 +1,5 @@ +mkdir: %_DEST%\inc\apple_remote +..\inc\*.h %_DEST%\inc\apple_remote\* + +..\%__SRC%\lib\*.dylib %_DEST%\lib\*.dylib diff --git a/apple_remote/prj/makefile.mk b/apple_remote/prj/makefile.mk deleted file mode 100644 index 0997622e00f6..000000000000 --- a/apple_remote/prj/makefile.mk +++ /dev/null @@ -1 +0,0 @@ -.INCLUDE : gbuildbridge.mk |