summaryrefslogtreecommitdiff
path: root/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
diff options
context:
space:
mode:
Diffstat (limited to 'SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h')
-rw-r--r--SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h64
1 files changed, 63 insertions, 1 deletions
diff --git a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
index 06fc92fd2..1acc9841d 100644
--- a/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
+++ b/SmartDeviceLink-iOS/SmartDeviceLink/SDLSubscribeButton.h
@@ -1,17 +1,79 @@
// SDLSubscribeButton.h
//
-// Copyright (c) 2014 Ford Motor Company. All rights reserved.
+
#import "SDLRPCRequest.h"
#import "SDLButtonName.h"
+/**
+ * Establishes a subscription to button notifications for HMI buttons. Buttons
+ * are not necessarily physical buttons, but can also be "soft" buttons on a
+ * touch screen, depending on the display in the vehicle. Once subscribed to a
+ * particular button, an application will receive both
+ * SDLOnButtonEvent and SDLOnButtonPress notifications
+ * whenever that button is pressed. The application may also unsubscribe from
+ * notifications for a button by invoking the SDLUnsubscribeButton
+ * operation
+ * <p>
+ * When a button is depressed, an SDLOnButtonEvent notification is
+ * sent to the application with a ButtonEventMode of BUTTONDOWN. When that same
+ * button is released, an SDLOnButtonEvent notification is sent to the
+ * application with a ButtonEventMode of BUTTONUP
+ * <p>
+ * When the duration of a button depression (that is, time between depression
+ * and release) is less than two seconds, an SDLOnButtonPress
+ * notification is sent to the application (at the moment the button is
+ * released) with a ButtonPressMode of SHORT. When the duration is two or more
+ * seconds, an SDLOnButtonPress notification is sent to the
+ * application (at the moment the two seconds have elapsed) with a
+ * ButtonPressMode of LONG
+ * <p>
+ * The purpose of SDLOnButtonPress notifications is to allow for
+ * programmatic detection of long button presses similar to those used to store
+ * presets while listening to the radio, for example
+ * <p>
+ * When a button is depressed and released, the sequence in which notifications
+ * will be sent to the application is as follows:
+ * <p>
+ * For short presses:<br/>
+ * <ul>
+ * <li>OnButtonEvent (ButtonEventMode = BUTTONDOWN)</li>
+ * <li>OnButtonEvent (ButtonEventMode = BUTTONUP)</li>
+ * <li>OnButtonPress (ButtonPressMode = SHORT)</li>
+ * </ul>
+ * <p>
+ * For long presses:<br/>
+ * <ul>
+ * <li>OnButtonEvent (ButtonEventMode = BUTTONDOWN)</li>
+ * <li>OnButtonEvent (ButtonEventMode = BUTTONUP)</li>
+ * <li>OnButtonPress (ButtonPressMode = LONG)</li>
+ * </ul>
+ * <p>
+ * <b>HMILevel needs to be FULL, LIMITED or BACKGROUND</b>
+ * </p>
+ *
+ * Since SmartDeviceLink 1.0<br/>
+ * See SDLUnsubscribeButton
+ */
@interface SDLSubscribeButton : SDLRPCRequest {}
+/**
+ * @abstract Constructs a new SDLSubscribeButton object
+ */
-(id) init;
+/**
+ * @abstract Constructs a new SDLSubscribeButton object indicated by the NSMutableDictionary
+ * parameter
+ * @param dict The NSMutableDictionary to use
+ */
-(id) initWithDictionary:(NSMutableDictionary*) dict;
+/**
+ * @abstract The name of the button to subscribe to
+ * @discussion An enum value, see <i>SDLButtonName</i>
+ */
@property(strong) SDLButtonName* buttonName;
@end