summaryrefslogtreecommitdiff
path: root/SmartDeviceLink-iOS/SmartDeviceLink/SDLAddCommand.h
blob: b7a2a05ee66a6b6bf5179259a5b05a9a365c62e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//  SDLAddCommand.h


#import "SDLRPCRequest.h"

#import "SDLMenuParams.h"
#import "SDLImage.h"


/**
 *
 * This class will add a command to the application's Command Menu SDLMenuParams<br>
 * <b>Note:</b> A command will be added to the end of the list of elements in
 * the Command Menu under the following conditions:
 * <li>When a SDLCommand is added with no SDLMenuParams value provided</li>
 * <li>When a SDLMenuParams value is provided with a SDLMenuParam.position value
 * greater than or equal to the number of menu items currently defined in the
 * menu specified by the SDLMenuParam.parentID value</li>
 * <br/>
 * The set of choices which the application builds using SDLAddCommand can be a
 * mixture of:
 * <li>Choices having only VR synonym definitions, but no SDLMenuParams definitions
 * </li>
 * <li>Choices having only SDLMenuParams definitions, but no VR synonym definitions
 * </li>
 * <li>Choices having both SDLMenuParams and VR synonym definitions</li>
 *
 * <b>HMILevel needs to be FULL, LIMITED or BACKGROUD</b>
 * </p>
 * Since <b>SDL 1.0</b><br>
 * see SDLDeleteCommand SDLAddSubMenu SDLDeleteSubMenu
 */
@interface SDLAddCommand : SDLRPCRequest {}

/**
 * Constructs a new SDLAddCommand object
 */
-(id) init;
/**
 *
 * Constructs a new SDLAddCommand object indicated by the NSMutableDictionary
 * parameter
 *
 *
 * @param dict The NSMutableDictionary to use
 */
-(id) initWithDictionary:(NSMutableDictionary*) dict;

/**
 * @abstract an Unique Command ID that identifies the command
 * @discussion Is returned in an <i>SDLOnCommand</i> notification to identify the command
 * selected by the user
 * <p>
 * <b>Notes:</b> Min Value: 0; Max Value: 2000000000
 */
@property(strong) NSNumber* cmdID;
/**
 * @abstract a <I>SDLMenuParams</I> pointer which will defined the command and how
 * it is added to the Command Menu
 * @discussion  If provided, this will define the command and how it is added to the
 * Command Menu<br/>
 * If null, commands will not be accessible through the HMI application menu
 */
@property(strong) SDLMenuParams* menuParams;
/**
 * @abstract Voice Recognition Commands
 * @discussion If provided, defines one or more VR phrases the recognition of any of
 * which triggers the <i>SDLOnCommand</i> notification with this
 * cmdID<br/>
 * If null, commands will not be accessible by voice commands (when the user
 * hits push-to-talk)
 */
@property(strong) NSMutableArray* vrCommands;
/**
 * @abstract an Image obj representing the Image obj shown along with a command
 * @discussion If provided, defines the image to be be shown along with a  command
 * Notes:   If omitted on supported displays, no (or the
 *            default if applicable) icon will be displayed
 */
@property(strong) SDLImage* cmdIcon;

@end