summaryrefslogtreecommitdiff
path: root/docs/Classes/SDLAddCommand.html
blob: 24ded1c16fb6fc751aa032e16fc6b90fafd5f2e8 (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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<h1>SDLAddCommand Class Reference</h1>

<h3>Section Contents</h3>

<ul>
  <li><a href="#section--initWithHandler:">-initWithHandler:</a></li>
  <li><a href="#section--initWithId:vrCommands:handler:">-initWithId:vrCommands:handler:</a></li>
  <li><a href="#section--initWithId:vrCommands:menuName:handler:">-initWithId:vrCommands:menuName:handler:</a></li>
  <li><a href="#section--initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:">-initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:</a></li>
  <li><a href="#section-handler">handler</a></li>
  <li><a href="#section-cmdID">cmdID</a></li>
  <li><a href="#section-menuParams">menuParams</a></li>
  <li><a href="#section-vrCommands">vrCommands</a></li>
  <li><a href="#section-cmdIcon">cmdIcon</a></li>
</ul>

<h3>Overview</h3>

<p>This class will add a command to the application&rsquo;s Command Menu SDLMenuParams</p>

<p>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></p>

<p>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></p>

<p>HMILevel needs to be FULL, LIMITED or BACKGROUD</p>

<p>@since SDL 1.0</p>
<div class="aside aside-see">
    <p class="aside-title">See</p>
    SDLDeleteCommand SDLAddSubMenu SDLDeleteSubMenu

</div>


<section class="section task-group-section">
  <h3 id="section--initWithHandler:">
      -initWithHandler:
  </h3>
  
  <p>Construct a SDLAddCommand with a handler callback when an event occurs.</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">-</span> <span class="p">(</span><span class="n">nonnull</span> <span class="n">instancetype</span><span class="p">)</span><span class="nf">initWithHandler</span><span class="p">:</span>
    <span class="p">(</span><span class="n">nullable</span> <span class="n"><a href="../Type Definitions.html#/c:SDLNotificationConstants.h@T@SDLRPCCommandNotificationHandler">SDLRPCCommandNotificationHandler</a></span><span class="p">)</span><span class="nv">handler</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="nf">init</span><span class="p">(</span><span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Type Definitions.html#/c:SDLNotificationConstants.h@T@SDLRPCCommandNotificationHandler">SDLRPCCommandNotificationHandler</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>

  
  
  <h4>Parameters</h4>
  <dl>
      <dt>handler</dt>
      <dd><p>A callback that will be called when a button event occurs for the command</p></dd>
  </dl>
  <div>
    <h4>Return Value</h4>
    <p>An SDLAddCommand object</p>
  </div>
  
  <h3 id="section--initWithId:vrCommands:handler:">
      -initWithId:vrCommands:handler:
  </h3>
  
  <p>Undocumented</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@interface</span> <span class="nc">SDLAddCommand</span> <span class="p">:</span> <span class="nc"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span></code></pre>

  
  
  
  
  <h3 id="section--initWithId:vrCommands:menuName:handler:">
      -initWithId:vrCommands:menuName:handler:
  </h3>
  
  <p>Undocumented</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@interface</span> <span class="nc">SDLAddCommand</span> <span class="p">:</span> <span class="nc"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span></code></pre>

  
  
  
  
  <h3 id="section--initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:">
      -initWithId:vrCommands:menuName:parentId:position:iconValue:iconType:handler:
  </h3>
  
  <p>Undocumented</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@interface</span> <span class="nc">SDLAddCommand</span> <span class="p">:</span> <span class="nc"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span></code></pre>

  
  
  
  
  <h3 id="section-handler">
      handler
  </h3>
  
  <p>A handler that will let you know when the button you created is subscribed.</p>
<div class="aside aside-warning">
    <p class="aside-title">Warning</p>
    This will only work if you use SDLManager.

</div>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">copy</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span>
    <span class="n"><a href="../Type Definitions.html#/c:SDLNotificationConstants.h@T@SDLRPCCommandNotificationHandler">SDLRPCCommandNotificationHandler</a></span> <span class="n">handler</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="k">var</span> <span class="nv">handler</span><span class="p">:</span> <span class="kt"><a href="../Type Definitions.html#/c:SDLNotificationConstants.h@T@SDLRPCCommandNotificationHandler">SDLRPCCommandNotificationHandler</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

  
  
  
  <h3 id="section-cmdID">
      cmdID
  </h3>
  
  <p>@abstract A Unique Command ID that identifies the command</p>

<p>@discussion Is returned in an <em>SDLOnCommand</em> notification to identify the command selected by the user</p>

<p>Required, Integer, 0 - 2,000,000,000</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">)</span> <span class="n">NSNumber</span><span class="o">&lt;</span><span class="n"><a href="../Protocols.html#/c:objc(pl)SDLInt">SDLInt</a></span><span class="o">&gt;</span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">cmdID</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="k">var</span> <span class="nv">cmdID</span><span class="p">:</span> <span class="kt">NSNumber</span> </code></pre>

  
  
  
  <h3 id="section-menuParams">
      menuParams
  </h3>
  
  <p>@abstract a <em>SDLMenuParams</em> pointer which will defined the command and how it is added to the Command Menu</p>

<p>@discussion  If provided, this will define the command and how it is added to the
 Command Menu</p>

<p>If null, commands will not be accessible through the HMI application menu</p>

<p>Optional</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n"><a href="../Classes/SDLMenuParams.html">SDLMenuParams</a></span> <span class="o">*</span><span class="n">menuParams</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="k">var</span> <span class="nv">menuParams</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLMenuParams.html">SDLMenuParams</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

  
  
  
  <h3 id="section-vrCommands">
      vrCommands
  </h3>
  
  <p>@abstract An array of strings to be used as VR synonyms for this command.</p>

<p>@discussion If provided, defines one or more VR phrases the recognition of any of which triggers the <em>SDLOnCommand</em> notification with this cmdID</p>

<p>If null, commands will not be accessible by voice commands (when the user hits push-to-talk)</p>

<p>Optional, Array of Strings, Max String length 99 chars, Array size 1 - 100</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span>
    <span class="n">NSArray</span><span class="o">&lt;</span><span class="n">NSString</span> <span class="o">*&gt;</span> <span class="o">*</span><span class="n">vrCommands</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="k">var</span> <span class="nv">vrCommands</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">]?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

  
  
  
  <h3 id="section-cmdIcon">
      cmdIcon
  </h3>
  
  <p>@abstract Image struct containing a static or dynamic icon</p>

<p>@discussion If provided, defines the image to be be shown along with a command</p>

<p>If omitted on supported displays, no (or the default if applicable) icon will be displayed</p>

<p>Optional</p>

  
  
  <h4>Objective-C</h4>
  <pre class="highlight"><code><span class="k">@property</span> <span class="p">(</span><span class="n">readwrite</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nonatomic</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n"><a href="../Classes/SDLImage.html">SDLImage</a></span> <span class="o">*</span><span class="n">cmdIcon</span><span class="p">;</span></code></pre>

  
  <h4>Swift</h4>
  <pre class="highlight"><code><span class="k">var</span> <span class="nv">cmdIcon</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLImage.html">SDLImage</a></span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>

  
  
  
</section>