From 3d75a28274b2fb299c5a2ff5b017984054cac873 Mon Sep 17 00:00:00 2001 From: Norbert Thiebaud Date: Sat, 28 Jan 2012 18:10:31 -0600 Subject: gbuildify apple_remote --- apple_remote/inc/AppleRemote.h | 50 --------- apple_remote/inc/GlobalKeyboardDevice.h | 53 --------- apple_remote/inc/HIDRemoteControlDevice.h | 66 ------------ apple_remote/inc/KeyspanFrontRowControl.h | 52 --------- apple_remote/inc/MultiClickRemoteBehavior.h | 92 ---------------- apple_remote/inc/RemoteControl.h | 120 --------------------- apple_remote/inc/RemoteControlContainer.h | 40 ------- apple_remote/inc/RemoteMainController.h | 59 ---------- apple_remote/inc/apple_remote/RemoteControl.h | 120 +++++++++++++++++++++ .../inc/apple_remote/RemoteMainController.h | 59 ++++++++++ 10 files changed, 179 insertions(+), 532 deletions(-) delete mode 100644 apple_remote/inc/AppleRemote.h delete mode 100644 apple_remote/inc/GlobalKeyboardDevice.h delete mode 100644 apple_remote/inc/HIDRemoteControlDevice.h delete mode 100644 apple_remote/inc/KeyspanFrontRowControl.h delete mode 100644 apple_remote/inc/MultiClickRemoteBehavior.h delete mode 100644 apple_remote/inc/RemoteControl.h delete mode 100644 apple_remote/inc/RemoteControlContainer.h delete mode 100644 apple_remote/inc/RemoteMainController.h create mode 100644 apple_remote/inc/apple_remote/RemoteControl.h create mode 100644 apple_remote/inc/apple_remote/RemoteMainController.h (limited to 'apple_remote/inc') diff --git a/apple_remote/inc/AppleRemote.h b/apple_remote/inc/AppleRemote.h deleted file mode 100644 index 509ddaa66c20..000000000000 --- a/apple_remote/inc/AppleRemote.h +++ /dev/null @@ -1,50 +0,0 @@ -/***************************************************************************** - * RemoteControlWrapper.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same license - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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. - * - *****************************************************************************/ - -#ifndef DID_DEFINE_SOME_FUTURE_TYPES -#import -#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -@class CALayer; -@class NSViewController; -typedef int NSColorRenderingIntent; -#define DID_DEFINE_SOME_FUTURE_TYPES -#endif -#endif - -#import -#import "HIDRemoteControlDevice.h" - -/* Interacts with the Apple Remote Control HID device - The class is not thread safe -*/ -@interface AppleRemote : HIDRemoteControlDevice { -} - -@end diff --git a/apple_remote/inc/GlobalKeyboardDevice.h b/apple_remote/inc/GlobalKeyboardDevice.h deleted file mode 100644 index ad9c4f3f57a5..000000000000 --- a/apple_remote/inc/GlobalKeyboardDevice.h +++ /dev/null @@ -1,53 +0,0 @@ -/***************************************************************************** - * GlobalKeyboardDevice.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same license - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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 - - -/* - This class registers for a number of global keyboard shortcuts to simulate a remote control - */ - -@interface GlobalKeyboardDevice : RemoteControl { - - NSMutableDictionary* hotKeyRemoteEventMapping; - EventHandlerRef eventHandlerRef; - -} - -- (void) mapRemoteButton: (RemoteControlEventIdentifier) remoteButtonIdentifier defaultKeycode: (unsigned int) defaultKeycode defaultModifiers: (unsigned int) defaultModifiers; - -- (BOOL)registerHotKeyCode: (unsigned int) keycode modifiers: (unsigned int) modifiers remoteEventIdentifier: (RemoteControlEventIdentifier) identifier; - - - -@end diff --git a/apple_remote/inc/HIDRemoteControlDevice.h b/apple_remote/inc/HIDRemoteControlDevice.h deleted file mode 100644 index 44e4d17fc65d..000000000000 --- a/apple_remote/inc/HIDRemoteControlDevice.h +++ /dev/null @@ -1,66 +0,0 @@ -/***************************************************************************** - * HIDRemoteControlDevice.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same license - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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 - -/* - Base class for HID based remote control devices - */ -@interface HIDRemoteControlDevice : RemoteControl { - IOHIDDeviceInterface** hidDeviceInterface; // see IOKit/hid/IOHIDLib.h - IOHIDQueueInterface** queue; // IOKit/hid/IOHIDLib.h - NSMutableArray* allCookies; - NSMutableDictionary* cookieToButtonMapping; - CFRunLoopSourceRef eventSource; - - BOOL fixSecureEventInputBug; - BOOL openInExclusiveMode; - BOOL processesBacklog; - - int supportedButtonEvents; -} - -// When your application needs to much time on the main thread when processing an event other events -// may already be received which are put on a backlog. As soon as your main thread -// has some spare time this backlog is processed and may flood your delegate with calls. -// Backlog processing is turned off by default. -- (BOOL) processesBacklog; -- (void) setProcessesBacklog: (BOOL) value; - -// methods that should be overwritten by subclasses -- (void) setCookieMappingInDictionary: (NSMutableDictionary*) cookieToButtonMapping; - -- (void) sendRemoteButtonEvent: (RemoteControlEventIdentifier) event pressedDown: (BOOL) pressedDown; - -+ (BOOL) isRemoteAvailable; - -@end diff --git a/apple_remote/inc/KeyspanFrontRowControl.h b/apple_remote/inc/KeyspanFrontRowControl.h deleted file mode 100644 index 2469b5839904..000000000000 --- a/apple_remote/inc/KeyspanFrontRowControl.h +++ /dev/null @@ -1,52 +0,0 @@ -/***************************************************************************** - * KeyspanFrontRowControl.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same License - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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. - * - *****************************************************************************/ - - -#ifndef DID_DEFINE_SOME_FUTURE_TYPES -#import -#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -@class CALayer; -@class NSViewController; -typedef int NSColorRenderingIntent; -#define DID_DEFINE_SOME_FUTURE_TYPES -#endif -#endif - -#import -#import "HIDRemoteControlDevice.h" - -/* Interacts with the Keyspan FrontRow Remote Control HID device - The class is not thread safe -*/ -@interface KeyspanFrontRowControl : HIDRemoteControlDevice { - -} - -@end diff --git a/apple_remote/inc/MultiClickRemoteBehavior.h b/apple_remote/inc/MultiClickRemoteBehavior.h deleted file mode 100644 index a704febaa4fb..000000000000 --- a/apple_remote/inc/MultiClickRemoteBehavior.h +++ /dev/null @@ -1,92 +0,0 @@ -/***************************************************************************** - * MultiClickRemoteBehavior.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same License - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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" - -/** - A behavior that adds multiclick and hold events on top of a device. - Events are generated and send to a delegate - */ -@interface MultiClickRemoteBehavior : NSObject { - id delegate; - - // state for simulating plus/minus hold - BOOL simulateHoldEvents; - BOOL lastEventSimulatedHold; - RemoteControlEventIdentifier lastHoldEvent; - NSTimeInterval lastHoldEventTime; - - // state for multi click - unsigned int clickCountEnabledButtons; - NSTimeInterval maxClickTimeDifference; - NSTimeInterval lastClickCountEventTime; - RemoteControlEventIdentifier lastClickCountEvent; - unsigned int eventClickCount; -} - -- (id) init; - -// Delegates are not retained -- (void) setDelegate: (id) delegate; -- (id) delegate; - -// Simulating hold events does deactivate sending of individual requests for pressed down/released. -// Instead special hold events are being triggered when the user is pressing and holding a button for a small period. -// Simulation is activated only for those buttons and remote control that do not have a seperate event already -- (BOOL) simulateHoldEvent; -- (void) setSimulateHoldEvent: (BOOL) value; - -// click counting makes it possible to recognize if the user has pressed a button repeatedly -// click counting does delay each event as it has to wait if there is another event (second click) -// therefore there is a slight time difference (maximumClickCountTimeDifference) between a single click -// of the user and the call of your delegate method -// click counting can be enabled individually for specific buttons. Use the property clickCountEnableButtons to -// set the buttons for which click counting shall be enabled -- (BOOL) clickCountingEnabled; -- (void) setClickCountingEnabled: (BOOL) value; - -- (unsigned int) clickCountEnabledButtons; -- (void) setClickCountEnabledButtons: (unsigned int)value; - -// the maximum time difference till which clicks are recognized as multi clicks -- (NSTimeInterval) maximumClickCountTimeDifference; -- (void) setMaximumClickCountTimeDifference: (NSTimeInterval) timeDiff; - -@end - -/* - * Method definitions for the delegate of the MultiClickRemoteBehavior class - */ -@interface NSObject(MultiClickRemoteBehaviorDelegate) - -- (void) remoteButton: (RemoteControlEventIdentifier)buttonIdentifier pressedDown: (BOOL) pressedDown clickCount: (unsigned int) count; - -@end diff --git a/apple_remote/inc/RemoteControl.h b/apple_remote/inc/RemoteControl.h deleted file mode 100644 index 4476af237b6a..000000000000 --- a/apple_remote/inc/RemoteControl.h +++ /dev/null @@ -1,120 +0,0 @@ -/***************************************************************************** - * RemoteControl.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same License - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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. - * - *****************************************************************************/ - -#ifndef DID_DEFINE_SOME_FUTURE_TYPES -#import -#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -@class CALayer; -@class NSViewController; -typedef int NSColorRenderingIntent; -#define DID_DEFINE_SOME_FUTURE_TYPES -#endif -#endif - -#import - -// 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 -extern NSString* REQUEST_FOR_REMOTE_CONTROL_NOTIFCATION; -extern NSString* FINISHED_USING_REMOTE_CONTROL_NOTIFICATION; - -// keys used in user objects for distributed notifications -extern NSString* kRemoteControlDeviceName; -extern NSString* kApplicationIdentifier; -extern NSString* kTargetApplicationIdentifier; - -// we have a 6 bit offset to make a hold event out of a normal event -#define EVENT_TO_HOLD_EVENT_OFFSET 6 - -@class RemoteControl; - -typedef enum _RemoteControlEventIdentifier { - // normal events - kRemoteButtonPlus =1<<1, - kRemoteButtonMinus =1<<2, - kRemoteButtonMenu =1<<3, - kRemoteButtonPlay =1<<4, - kRemoteButtonRight =1<<5, - kRemoteButtonLeft =1<<6, - - // hold events - kRemoteButtonPlus_Hold =1<<7, - kRemoteButtonMinus_Hold =1<<8, - kRemoteButtonMenu_Hold =1<<9, - kRemoteButtonPlay_Hold =1<<10, - kRemoteButtonRight_Hold =1<<11, - kRemoteButtonLeft_Hold =1<<12, - - // special events (not supported by all devices) - kRemoteControl_Switched =1<<13, - - // New values for the "metallic" Remote (2009 model) - kMetallicRemote2009ButtonPlay =1<<14, - kMetallicRemote2009ButtonMiddlePlay =1<<15 - -} RemoteControlEventIdentifier; - -@interface NSObject(RemoteControlDelegate) - -- (void) sendRemoteButtonEvent: (RemoteControlEventIdentifier) event pressedDown: (BOOL) pressedDown remoteControl: (RemoteControl*) remoteControl; - -@end - -/* - Base Interface for Remote Control devices -*/ -@interface RemoteControl : NSObject { - id delegate; -} - -// returns nil if the remote control device is not available -- (id) initWithDelegate: (id) remoteControlDelegate; - -- (void) setListeningToRemote: (BOOL) value; -- (BOOL) isListeningToRemote; - -- (BOOL) isOpenInExclusiveMode; -- (void) setOpenInExclusiveMode: (BOOL) value; - -- (void) startListening: (id) sender; -- (void) stopListening: (id) sender; - -// is this remote control sending the given event? -- (BOOL) sendsEventForButtonIdentifier: (RemoteControlEventIdentifier) identifier; - -// sending of notifications between applications -+ (void) sendFinishedNotifcationForAppIdentifier: (NSString*) identifier; -+ (void) sendRequestForRemoteControlNotification; - -// name of the device -+ (const char*) remoteControlDeviceName; - -@end diff --git a/apple_remote/inc/RemoteControlContainer.h b/apple_remote/inc/RemoteControlContainer.h deleted file mode 100644 index e82fa6b88deb..000000000000 --- a/apple_remote/inc/RemoteControlContainer.h +++ /dev/null @@ -1,40 +0,0 @@ -/***************************************************************************** - * RemoteControlContainer.h - * RemoteControlWrapper - * - * 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 - * by Eric Bachard on 11.08.2008 under the same License - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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" - -@interface RemoteControlContainer : RemoteControl { - NSMutableArray* remoteControls; -} - -- (BOOL) instantiateAndAddRemoteControlDeviceWithClass: (Class) clazz; -- (unsigned int) count; - -@end diff --git a/apple_remote/inc/RemoteMainController.h b/apple_remote/inc/RemoteMainController.h deleted file mode 100644 index 167454071caf..000000000000 --- a/apple_remote/inc/RemoteMainController.h +++ /dev/null @@ -1,59 +0,0 @@ -/***************************************************************************** - * RemoteMainController.h - * - * - * 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 - * by Eric Bachard on 11.08.2008 under the same License - * - * 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, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * 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 - * 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. - * - *****************************************************************************/ - -#ifndef DID_DEFINE_SOME_FUTURE_TYPES -#import -#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 -@class CALayer; -@class NSViewController; -typedef int NSColorRenderingIntent; -#define DID_DEFINE_SOME_FUTURE_TYPES -#endif -#endif - -#import - -#define AppleRemoteControlEvent 15 - -@class RemoteControl; -@class MultiClickRemoteBehavior; - -//static void sendTheEvent( unichar, int ); - -@interface MainController : NSObject { -@public // else remoteControl is not reachable from GetSalData()->mpMainController - RemoteControl* remoteControl; -@private - MultiClickRemoteBehavior* remoteControlBehavior; -} -- (RemoteControl*) remoteControl; -- (MultiClickRemoteBehavior*) remoteBehavior; - -@end diff --git a/apple_remote/inc/apple_remote/RemoteControl.h b/apple_remote/inc/apple_remote/RemoteControl.h new file mode 100644 index 000000000000..4476af237b6a --- /dev/null +++ b/apple_remote/inc/apple_remote/RemoteControl.h @@ -0,0 +1,120 @@ +/***************************************************************************** + * RemoteControl.h + * RemoteControlWrapper + * + * 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 + * by Eric Bachard on 11.08.2008 under the same License + * + * 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, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * 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 + * 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. + * + *****************************************************************************/ + +#ifndef DID_DEFINE_SOME_FUTURE_TYPES +#import +#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 +@class CALayer; +@class NSViewController; +typedef int NSColorRenderingIntent; +#define DID_DEFINE_SOME_FUTURE_TYPES +#endif +#endif + +#import + +// 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 +extern NSString* REQUEST_FOR_REMOTE_CONTROL_NOTIFCATION; +extern NSString* FINISHED_USING_REMOTE_CONTROL_NOTIFICATION; + +// keys used in user objects for distributed notifications +extern NSString* kRemoteControlDeviceName; +extern NSString* kApplicationIdentifier; +extern NSString* kTargetApplicationIdentifier; + +// we have a 6 bit offset to make a hold event out of a normal event +#define EVENT_TO_HOLD_EVENT_OFFSET 6 + +@class RemoteControl; + +typedef enum _RemoteControlEventIdentifier { + // normal events + kRemoteButtonPlus =1<<1, + kRemoteButtonMinus =1<<2, + kRemoteButtonMenu =1<<3, + kRemoteButtonPlay =1<<4, + kRemoteButtonRight =1<<5, + kRemoteButtonLeft =1<<6, + + // hold events + kRemoteButtonPlus_Hold =1<<7, + kRemoteButtonMinus_Hold =1<<8, + kRemoteButtonMenu_Hold =1<<9, + kRemoteButtonPlay_Hold =1<<10, + kRemoteButtonRight_Hold =1<<11, + kRemoteButtonLeft_Hold =1<<12, + + // special events (not supported by all devices) + kRemoteControl_Switched =1<<13, + + // New values for the "metallic" Remote (2009 model) + kMetallicRemote2009ButtonPlay =1<<14, + kMetallicRemote2009ButtonMiddlePlay =1<<15 + +} RemoteControlEventIdentifier; + +@interface NSObject(RemoteControlDelegate) + +- (void) sendRemoteButtonEvent: (RemoteControlEventIdentifier) event pressedDown: (BOOL) pressedDown remoteControl: (RemoteControl*) remoteControl; + +@end + +/* + Base Interface for Remote Control devices +*/ +@interface RemoteControl : NSObject { + id delegate; +} + +// returns nil if the remote control device is not available +- (id) initWithDelegate: (id) remoteControlDelegate; + +- (void) setListeningToRemote: (BOOL) value; +- (BOOL) isListeningToRemote; + +- (BOOL) isOpenInExclusiveMode; +- (void) setOpenInExclusiveMode: (BOOL) value; + +- (void) startListening: (id) sender; +- (void) stopListening: (id) sender; + +// is this remote control sending the given event? +- (BOOL) sendsEventForButtonIdentifier: (RemoteControlEventIdentifier) identifier; + +// sending of notifications between applications ++ (void) sendFinishedNotifcationForAppIdentifier: (NSString*) identifier; ++ (void) sendRequestForRemoteControlNotification; + +// name of the device ++ (const char*) remoteControlDeviceName; + +@end diff --git a/apple_remote/inc/apple_remote/RemoteMainController.h b/apple_remote/inc/apple_remote/RemoteMainController.h new file mode 100644 index 000000000000..167454071caf --- /dev/null +++ b/apple_remote/inc/apple_remote/RemoteMainController.h @@ -0,0 +1,59 @@ +/***************************************************************************** + * RemoteMainController.h + * + * + * 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 + * by Eric Bachard on 11.08.2008 under the same License + * + * 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, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * 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 + * 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. + * + *****************************************************************************/ + +#ifndef DID_DEFINE_SOME_FUTURE_TYPES +#import +#if defined (NSFoundationVersionNumber10_5) && MAC_OS_X_VERSION_MAX_ALLOWED < 1050 +@class CALayer; +@class NSViewController; +typedef int NSColorRenderingIntent; +#define DID_DEFINE_SOME_FUTURE_TYPES +#endif +#endif + +#import + +#define AppleRemoteControlEvent 15 + +@class RemoteControl; +@class MultiClickRemoteBehavior; + +//static void sendTheEvent( unichar, int ); + +@interface MainController : NSObject { +@public // else remoteControl is not reachable from GetSalData()->mpMainController + RemoteControl* remoteControl; +@private + MultiClickRemoteBehavior* remoteControlBehavior; +} +- (RemoteControl*) remoteControl; +- (MultiClickRemoteBehavior*) remoteBehavior; + +@end -- cgit