|
1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 /** |
|
17 @file |
|
18 @publishedAll |
|
19 @released |
|
20 */ |
|
21 |
|
22 #ifndef REMCONCOREAPICONTROLLER_H |
|
23 #define REMCONCOREAPICONTROLLER_H |
|
24 |
|
25 #include <e32base.h> |
|
26 #include <remcon/remconinterfacebase.h> |
|
27 #include <remconcoreapi.h> |
|
28 #include <remcon/remconinterfaceif.h> |
|
29 |
|
30 class MRemConCoreApiControllerObserver; |
|
31 class CRemConInterfaceSelector; |
|
32 |
|
33 /** |
|
34 Client-instantiable type supporting sending Core API commands. |
|
35 */ |
|
36 NONSHARABLE_CLASS(CRemConCoreApiController) : public CRemConInterfaceBase, |
|
37 public MRemConInterfaceIf |
|
38 { |
|
39 public: |
|
40 /** |
|
41 Factory function. |
|
42 @param aInterfaceSelector The interface selector. The client must have |
|
43 created one of these first. |
|
44 @param aObserver The observer of this interface. |
|
45 @return A new CRemConCoreApiController, owned by the interface selector. |
|
46 */ |
|
47 IMPORT_C static CRemConCoreApiController* NewL(CRemConInterfaceSelector& aInterfaceSelector, |
|
48 MRemConCoreApiControllerObserver& aObserver); |
|
49 |
|
50 /** Destructor */ |
|
51 IMPORT_C ~CRemConCoreApiController(); |
|
52 |
|
53 public: |
|
54 /** Send a 'select' command. |
|
55 Only one command per controller session can be outstanding at any one time. |
|
56 @param aStatus Used by RemCon to indicate completion of the send request. |
|
57 @param aNumRemotes On success, will contain the number of remotes the |
|
58 command was sent to. |
|
59 @param aButtonAct The button action to send. |
|
60 */ |
|
61 IMPORT_C void Select(TRequestStatus& aStatus, |
|
62 TUint& aNumRemotes, |
|
63 TRemConCoreApiButtonAction aButtonAct); |
|
64 |
|
65 /** Send an 'up' command. |
|
66 Only one command per controller session can be outstanding at any one time. |
|
67 @param aStatus Used by RemCon to indicate completion of the send request. |
|
68 @param aNumRemotes On success, will contain the number of remotes the |
|
69 command was sent to. |
|
70 @param aButtonAct The button action to send. |
|
71 */ |
|
72 IMPORT_C void Up(TRequestStatus& aStatus, |
|
73 TUint& aNumRemotes, |
|
74 TRemConCoreApiButtonAction aButtonAct); |
|
75 |
|
76 /** Send a 'down' command. |
|
77 Only one command per controller session can be outstanding at any one time. |
|
78 @param aStatus Used by RemCon to indicate completion of the send request. |
|
79 @param aNumRemotes On success, will contain the number of remotes the |
|
80 command was sent to. |
|
81 @param aButtonAct The button action to send. |
|
82 */ |
|
83 IMPORT_C void Down(TRequestStatus& aStatus, |
|
84 TUint& aNumRemotes, |
|
85 TRemConCoreApiButtonAction aButtonAct); |
|
86 |
|
87 /** Send a 'left' command. |
|
88 Only one command per controller session can be outstanding at any one time. |
|
89 @param aStatus Used by RemCon to indicate completion of the send request. |
|
90 @param aNumRemotes On success, will contain the number of remotes the |
|
91 command was sent to. |
|
92 @param aButtonAct The button action to send. |
|
93 */ |
|
94 IMPORT_C void Left(TRequestStatus& aStatus, |
|
95 TUint& aNumRemotes, |
|
96 TRemConCoreApiButtonAction aButtonAct); |
|
97 |
|
98 /** Send a 'right' command. |
|
99 Only one command per controller session can be outstanding at any one time. |
|
100 @param aStatus Used by RemCon to indicate completion of the send request. |
|
101 @param aNumRemotes On success, will contain the number of remotes the |
|
102 command was sent to. |
|
103 @param aButtonAct The button action to send. |
|
104 */ |
|
105 IMPORT_C void Right(TRequestStatus& aStatus, |
|
106 TUint& aNumRemotes, |
|
107 TRemConCoreApiButtonAction aButtonAct); |
|
108 |
|
109 /** Send a 'right up' command. |
|
110 Only one command per controller session can be outstanding at any one time. |
|
111 @param aStatus Used by RemCon to indicate completion of the send request. |
|
112 @param aNumRemotes On success, will contain the number of remotes the |
|
113 command was sent to. |
|
114 @param aButtonAct The button action to send. |
|
115 */ |
|
116 IMPORT_C void RightUp(TRequestStatus& aStatus, |
|
117 TUint& aNumRemotes, |
|
118 TRemConCoreApiButtonAction aButtonAct); |
|
119 |
|
120 /** Send a 'right down' command. |
|
121 Only one command per controller session can be outstanding at any one time. |
|
122 @param aStatus Used by RemCon to indicate completion of the send request. |
|
123 @param aNumRemotes On success, will contain the number of remotes the |
|
124 command was sent to. |
|
125 @param aButtonAct The button action to send. |
|
126 */ |
|
127 IMPORT_C void RightDown(TRequestStatus& aStatus, |
|
128 TUint& aNumRemotes, |
|
129 TRemConCoreApiButtonAction aButtonAct); |
|
130 |
|
131 /** Send a 'left up' command. |
|
132 Only one command per controller session can be outstanding at any one time. |
|
133 @param aStatus Used by RemCon to indicate completion of the send request. |
|
134 @param aNumRemotes On success, will contain the number of remotes the |
|
135 command was sent to. |
|
136 @param aButtonAct The button action to send. |
|
137 */ |
|
138 IMPORT_C void LeftUp(TRequestStatus& aStatus, |
|
139 TUint& aNumRemotes, |
|
140 TRemConCoreApiButtonAction aButtonAct); |
|
141 |
|
142 /** Send a 'left down' command. |
|
143 Only one command per controller session can be outstanding at any one time. |
|
144 @param aStatus Used by RemCon to indicate completion of the send request. |
|
145 @param aNumRemotes On success, will contain the number of remotes the |
|
146 command was sent to. |
|
147 @param aButtonAct The button action to send. |
|
148 */ |
|
149 IMPORT_C void LeftDown(TRequestStatus& aStatus, |
|
150 TUint& aNumRemotes, |
|
151 TRemConCoreApiButtonAction aButtonAct); |
|
152 |
|
153 /** Send a 'root menu' command. |
|
154 Only one command per controller session can be outstanding at any one time. |
|
155 @param aStatus Used by RemCon to indicate completion of the send request. |
|
156 @param aNumRemotes On success, will contain the number of remotes the |
|
157 command was sent to. |
|
158 @param aButtonAct The button action to send. |
|
159 */ |
|
160 IMPORT_C void RootMenu(TRequestStatus& aStatus, |
|
161 TUint& aNumRemotes, |
|
162 TRemConCoreApiButtonAction aButtonAct); |
|
163 |
|
164 /** Send a 'setup menu' command. |
|
165 Only one command per controller session can be outstanding at any one time. |
|
166 @param aStatus Used by RemCon to indicate completion of the send request. |
|
167 @param aNumRemotes On success, will contain the number of remotes the |
|
168 command was sent to. |
|
169 @param aButtonAct The button action to send. |
|
170 */ |
|
171 IMPORT_C void SetupMenu(TRequestStatus& aStatus, |
|
172 TUint& aNumRemotes, |
|
173 TRemConCoreApiButtonAction aButtonAct); |
|
174 |
|
175 /** Send a 'contents menu' command. |
|
176 Only one command per controller session can be outstanding at any one time. |
|
177 @param aStatus Used by RemCon to indicate completion of the send request. |
|
178 @param aNumRemotes On success, will contain the number of remotes the |
|
179 command was sent to. |
|
180 @param aButtonAct The button action to send. |
|
181 */ |
|
182 IMPORT_C void ContentsMenu(TRequestStatus& aStatus, |
|
183 TUint& aNumRemotes, |
|
184 TRemConCoreApiButtonAction aButtonAct); |
|
185 |
|
186 /** Send a 'favorite menu' command. |
|
187 Only one command per controller session can be outstanding at any one time. |
|
188 @param aStatus Used by RemCon to indicate completion of the send request. |
|
189 @param aNumRemotes On success, will contain the number of remotes the |
|
190 command was sent to. |
|
191 @param aButtonAct The button action to send. |
|
192 */ |
|
193 IMPORT_C void FavoriteMenu(TRequestStatus& aStatus, |
|
194 TUint& aNumRemotes, |
|
195 TRemConCoreApiButtonAction aButtonAct); |
|
196 |
|
197 /** Send an 'exit' command. |
|
198 Only one command per controller session can be outstanding at any one time. |
|
199 @param aStatus Used by RemCon to indicate completion of the send request. |
|
200 @param aNumRemotes On success, will contain the number of remotes the |
|
201 command was sent to. |
|
202 @param aButtonAct The button action to send. |
|
203 */ |
|
204 IMPORT_C void Exit(TRequestStatus& aStatus, |
|
205 TUint& aNumRemotes, |
|
206 TRemConCoreApiButtonAction aButtonAct); |
|
207 |
|
208 /** Send a '0' command. |
|
209 Only one command per controller session can be outstanding at any one time. |
|
210 @param aStatus Used by RemCon to indicate completion of the send request. |
|
211 @param aNumRemotes On success, will contain the number of remotes the |
|
212 command was sent to. |
|
213 @param aButtonAct The button action to send. |
|
214 */ |
|
215 IMPORT_C void _0(TRequestStatus& aStatus, |
|
216 TUint& aNumRemotes, |
|
217 TRemConCoreApiButtonAction aButtonAct); |
|
218 |
|
219 /** Send a '1' command. |
|
220 Only one command per controller session can be outstanding at any one time. |
|
221 @param aStatus Used by RemCon to indicate completion of the send request. |
|
222 @param aNumRemotes On success, will contain the number of remotes the |
|
223 command was sent to. |
|
224 @param aButtonAct The button action to send. |
|
225 */ |
|
226 IMPORT_C void _1(TRequestStatus& aStatus, |
|
227 TUint& aNumRemotes, |
|
228 TRemConCoreApiButtonAction aButtonAct); |
|
229 |
|
230 /** Send a '2' command. |
|
231 Only one command per controller session can be outstanding at any one time. |
|
232 @param aStatus Used by RemCon to indicate completion of the send request. |
|
233 @param aNumRemotes On success, will contain the number of remotes the |
|
234 command was sent to. |
|
235 @param aButtonAct The button action to send. |
|
236 */ |
|
237 IMPORT_C void _2(TRequestStatus& aStatus, |
|
238 TUint& aNumRemotes, |
|
239 TRemConCoreApiButtonAction aButtonAct); |
|
240 |
|
241 /** Send a '3' command. |
|
242 Only one command per controller session can be outstanding at any one time. |
|
243 @param aStatus Used by RemCon to indicate completion of the send request. |
|
244 @param aNumRemotes On success, will contain the number of remotes the |
|
245 command was sent to. |
|
246 @param aButtonAct The button action to send. |
|
247 */ |
|
248 IMPORT_C void _3(TRequestStatus& aStatus, |
|
249 TUint& aNumRemotes, |
|
250 TRemConCoreApiButtonAction aButtonAct); |
|
251 |
|
252 /** Send a '4'command. |
|
253 Only one command per controller session can be outstanding at any one time. |
|
254 @param aStatus Used by RemCon to indicate completion of the send request. |
|
255 @param aNumRemotes On success, will contain the number of remotes the |
|
256 command was sent to. |
|
257 @param aButtonAct The button action to send. |
|
258 */ |
|
259 IMPORT_C void _4(TRequestStatus& aStatus, |
|
260 TUint& aNumRemotes, |
|
261 TRemConCoreApiButtonAction aButtonAct); |
|
262 |
|
263 /** Send a '5' command. |
|
264 Only one command per controller session can be outstanding at any one time. |
|
265 @param aStatus Used by RemCon to indicate completion of the send request. |
|
266 @param aNumRemotes On success, will contain the number of remotes the |
|
267 command was sent to. |
|
268 @param aButtonAct The button action to send. |
|
269 */ |
|
270 IMPORT_C void _5(TRequestStatus& aStatus, |
|
271 TUint& aNumRemotes, |
|
272 TRemConCoreApiButtonAction aButtonAct); |
|
273 |
|
274 /** Send a '6' command. |
|
275 Only one command per controller session can be outstanding at any one time. |
|
276 @param aStatus Used by RemCon to indicate completion of the send request. |
|
277 @param aNumRemotes On success, will contain the number of remotes the |
|
278 command was sent to. |
|
279 @param aButtonAct The button action to send. |
|
280 */ |
|
281 IMPORT_C void _6(TRequestStatus& aStatus, |
|
282 TUint& aNumRemotes, |
|
283 TRemConCoreApiButtonAction aButtonAct); |
|
284 |
|
285 /** Send a '7' command. |
|
286 Only one command per controller session can be outstanding at any one time. |
|
287 @param aStatus Used by RemCon to indicate completion of the send request. |
|
288 @param aNumRemotes On success, will contain the number of remotes the |
|
289 command was sent to. |
|
290 @param aButtonAct The button action to send. |
|
291 */ |
|
292 IMPORT_C void _7(TRequestStatus& aStatus, |
|
293 TUint& aNumRemotes, |
|
294 TRemConCoreApiButtonAction aButtonAct); |
|
295 |
|
296 /** Send a '8' command. |
|
297 Only one command per controller session can be outstanding at any one time. |
|
298 @param aStatus Used by RemCon to indicate completion of the send request. |
|
299 @param aNumRemotes On success, will contain the number of remotes the |
|
300 command was sent to. |
|
301 @param aButtonAct The button action to send. |
|
302 */ |
|
303 IMPORT_C void _8(TRequestStatus& aStatus, |
|
304 TUint& aNumRemotes, |
|
305 TRemConCoreApiButtonAction aButtonAct); |
|
306 |
|
307 /** Send a '9' command. |
|
308 Only one command per controller session can be outstanding at any one time. |
|
309 @param aStatus Used by RemCon to indicate completion of the send request. |
|
310 @param aNumRemotes On success, will contain the number of remotes the |
|
311 command was sent to. |
|
312 @param aButtonAct The button action to send. |
|
313 */ |
|
314 IMPORT_C void _9(TRequestStatus& aStatus, |
|
315 TUint& aNumRemotes, |
|
316 TRemConCoreApiButtonAction aButtonAct); |
|
317 |
|
318 /** Send a 'dot' command. |
|
319 Only one command per controller session can be outstanding at any one time. |
|
320 @param aStatus Used by RemCon to indicate completion of the send request. |
|
321 @param aNumRemotes On success, will contain the number of remotes the |
|
322 command was sent to. |
|
323 @param aButtonAct The button action to send. |
|
324 */ |
|
325 IMPORT_C void Dot(TRequestStatus& aStatus, |
|
326 TUint& aNumRemotes, |
|
327 TRemConCoreApiButtonAction aButtonAct); |
|
328 |
|
329 /** Send an 'enter' command. |
|
330 Only one command per controller session can be outstanding at any one time. |
|
331 @param aStatus Used by RemCon to indicate completion of the send request. |
|
332 @param aNumRemotes On success, will contain the number of remotes the |
|
333 command was sent to. |
|
334 @param aButtonAct The button action to send. |
|
335 */ |
|
336 IMPORT_C void Enter(TRequestStatus& aStatus, |
|
337 TUint& aNumRemotes, |
|
338 TRemConCoreApiButtonAction aButtonAct); |
|
339 |
|
340 /** Send a 'clear' command. |
|
341 Only one command per controller session can be outstanding at any one time. |
|
342 @param aStatus Used by RemCon to indicate completion of the send request. |
|
343 @param aNumRemotes On success, will contain the number of remotes the |
|
344 command was sent to. |
|
345 @param aButtonAct The button action to send. |
|
346 */ |
|
347 IMPORT_C void Clear(TRequestStatus& aStatus, |
|
348 TUint& aNumRemotes, |
|
349 TRemConCoreApiButtonAction aButtonAct); |
|
350 |
|
351 /** Send a 'channel up' command. |
|
352 Only one command per controller session can be outstanding at any one time. |
|
353 @param aStatus Used by RemCon to indicate completion of the send request. |
|
354 @param aNumRemotes On success, will contain the number of remotes the |
|
355 command was sent to. |
|
356 @param aButtonAct The button action to send. |
|
357 */ |
|
358 IMPORT_C void ChannelUp(TRequestStatus& aStatus, |
|
359 TUint& aNumRemotes, |
|
360 TRemConCoreApiButtonAction aButtonAct); |
|
361 |
|
362 /** Send a 'channel down' command. |
|
363 Only one command per controller session can be outstanding at any one time. |
|
364 @param aStatus Used by RemCon to indicate completion of the send request. |
|
365 @param aNumRemotes On success, will contain the number of remotes the |
|
366 command was sent to. |
|
367 @param aButtonAct The button action to send. |
|
368 */ |
|
369 IMPORT_C void ChannelDown(TRequestStatus& aStatus, |
|
370 TUint& aNumRemotes, |
|
371 TRemConCoreApiButtonAction aButtonAct); |
|
372 |
|
373 /** Send a 'previous channel' command. |
|
374 Only one command per controller session can be outstanding at any one time. |
|
375 @param aStatus Used by RemCon to indicate completion of the send request. |
|
376 @param aNumRemotes On success, will contain the number of remotes the |
|
377 command was sent to. |
|
378 @param aButtonAct The button action to send. |
|
379 */ |
|
380 IMPORT_C void PreviousChannel(TRequestStatus& aStatus, |
|
381 TUint& aNumRemotes, |
|
382 TRemConCoreApiButtonAction aButtonAct); |
|
383 |
|
384 /** Send a 'sound select' command. |
|
385 Only one command per controller session can be outstanding at any one time. |
|
386 @param aStatus Used by RemCon to indicate completion of the send request. |
|
387 @param aNumRemotes On success, will contain the number of remotes the |
|
388 command was sent to. |
|
389 @param aButtonAct The button action to send. |
|
390 */ |
|
391 IMPORT_C void SoundSelect(TRequestStatus& aStatus, |
|
392 TUint& aNumRemotes, |
|
393 TRemConCoreApiButtonAction aButtonAct); |
|
394 |
|
395 /** Send a 'input select' command. |
|
396 Only one command per controller session can be outstanding at any one time. |
|
397 @param aStatus Used by RemCon to indicate completion of the send request. |
|
398 @param aNumRemotes On success, will contain the number of remotes the |
|
399 command was sent to. |
|
400 @param aButtonAct The button action to send. |
|
401 */ |
|
402 IMPORT_C void InputSelect(TRequestStatus& aStatus, |
|
403 TUint& aNumRemotes, |
|
404 TRemConCoreApiButtonAction aButtonAct); |
|
405 |
|
406 /** Send a 'display information' command. |
|
407 Only one command per controller session can be outstanding at any one time. |
|
408 @param aStatus Used by RemCon to indicate completion of the send request. |
|
409 @param aNumRemotes On success, will contain the number of remotes the |
|
410 command was sent to. |
|
411 @param aButtonAct The button action to send. |
|
412 */ |
|
413 IMPORT_C void DisplayInformation(TRequestStatus& aStatus, |
|
414 TUint& aNumRemotes, |
|
415 TRemConCoreApiButtonAction aButtonAct); |
|
416 |
|
417 /** Send a 'help' command. |
|
418 Only one command per controller session can be outstanding at any one time. |
|
419 @param aStatus Used by RemCon to indicate completion of the send request. |
|
420 @param aNumRemotes On success, will contain the number of remotes the |
|
421 command was sent to. |
|
422 @param aButtonAct The button action to send. |
|
423 */ |
|
424 IMPORT_C void Help(TRequestStatus& aStatus, |
|
425 TUint& aNumRemotes, |
|
426 TRemConCoreApiButtonAction aButtonAct); |
|
427 |
|
428 /** Send a 'page up' command. |
|
429 Only one command per controller session can be outstanding at any one time. |
|
430 @param aStatus Used by RemCon to indicate completion of the send request. |
|
431 @param aNumRemotes On success, will contain the number of remotes the |
|
432 command was sent to. |
|
433 @param aButtonAct The button action to send. |
|
434 */ |
|
435 IMPORT_C void PageUp(TRequestStatus& aStatus, |
|
436 TUint& aNumRemotes, |
|
437 TRemConCoreApiButtonAction aButtonAct); |
|
438 |
|
439 /** Send a 'page down' command. |
|
440 Only one command per controller session can be outstanding at any one time. |
|
441 @param aStatus Used by RemCon to indicate completion of the send request. |
|
442 @param aNumRemotes On success, will contain the number of remotes the |
|
443 command was sent to. |
|
444 @param aButtonAct The button action to send. |
|
445 */ |
|
446 IMPORT_C void PageDown(TRequestStatus& aStatus, |
|
447 TUint& aNumRemotes, |
|
448 TRemConCoreApiButtonAction aButtonAct); |
|
449 |
|
450 /** Send a 'power' command. |
|
451 Only one command per controller session can be outstanding at any one time. |
|
452 @param aStatus Used by RemCon to indicate completion of the send request. |
|
453 @param aNumRemotes On success, will contain the number of remotes the |
|
454 command was sent to. |
|
455 @param aButtonAct The button action to send. |
|
456 */ |
|
457 IMPORT_C void Power(TRequestStatus& aStatus, |
|
458 TUint& aNumRemotes, |
|
459 TRemConCoreApiButtonAction aButtonAct); |
|
460 |
|
461 /** Send a 'volume up' command. |
|
462 Only one command per controller session can be outstanding at any one time. |
|
463 @param aStatus Used by RemCon to indicate completion of the send request. |
|
464 @param aNumRemotes On success, will contain the number of remotes the |
|
465 command was sent to. |
|
466 @param aButtonAct The button action to send. |
|
467 */ |
|
468 IMPORT_C void VolumeUp(TRequestStatus& aStatus, |
|
469 TUint& aNumRemotes, |
|
470 TRemConCoreApiButtonAction aButtonAct); |
|
471 |
|
472 /** Send a 'volume down' command. |
|
473 Only one command per controller session can be outstanding at any one time. |
|
474 @param aStatus Used by RemCon to indicate completion of the send request. |
|
475 @param aNumRemotes On success, will contain the number of remotes the |
|
476 command was sent to. |
|
477 @param aButtonAct The button action to send. |
|
478 */ |
|
479 IMPORT_C void VolumeDown(TRequestStatus& aStatus, |
|
480 TUint& aNumRemotes, |
|
481 TRemConCoreApiButtonAction aButtonAct); |
|
482 |
|
483 /** Send a 'mute' command. |
|
484 Only one command per controller session can be outstanding at any one time. |
|
485 @param aStatus Used by RemCon to indicate completion of the send request. |
|
486 @param aNumRemotes On success, will contain the number of remotes the |
|
487 command was sent to. |
|
488 @param aButtonAct The button action to send. |
|
489 */ |
|
490 IMPORT_C void Mute(TRequestStatus& aStatus, |
|
491 TUint& aNumRemotes, |
|
492 TRemConCoreApiButtonAction aButtonAct); |
|
493 |
|
494 /** Send a 'play' command. |
|
495 Only one command per controller session can be outstanding at any one time. |
|
496 @param aStatus Used by RemCon to indicate completion of the send request. |
|
497 @param aNumRemotes On success, will contain the number of remotes the |
|
498 command was sent to. |
|
499 @param aButtonAct The button action to send. |
|
500 @param aSpeed The play speed. |
|
501 */ |
|
502 IMPORT_C void Play(TRequestStatus& aStatus, |
|
503 TUint& aNumRemotes, |
|
504 TRemConCoreApiButtonAction aButtonAct, |
|
505 TRemConCoreApiPlaybackSpeed aSpeed = ERemConCoreApiPlaybackSpeedX1); |
|
506 |
|
507 /** Send a 'stop' command. |
|
508 Only one command per controller session can be outstanding at any one time. |
|
509 @param aStatus Used by RemCon to indicate completion of the send request. |
|
510 @param aNumRemotes On success, will contain the number of remotes the |
|
511 command was sent to. |
|
512 @param aButtonAct The button action to send. |
|
513 */ |
|
514 IMPORT_C void Stop(TRequestStatus& aStatus, |
|
515 TUint& aNumRemotes, |
|
516 TRemConCoreApiButtonAction aButtonAct); |
|
517 |
|
518 /** Send a 'pause' command. |
|
519 Only one command per controller session can be outstanding at any one time. |
|
520 @param aStatus Used by RemCon to indicate completion of the send request. |
|
521 @param aNumRemotes On success, will contain the number of remotes the |
|
522 command was sent to. |
|
523 @param aButtonAct The button action to send. |
|
524 */ |
|
525 IMPORT_C void Pause(TRequestStatus& aStatus, |
|
526 TUint& aNumRemotes, |
|
527 TRemConCoreApiButtonAction aButtonAct); |
|
528 |
|
529 /** Send a 'record' command. |
|
530 Only one command per controller session can be outstanding at any one time. |
|
531 @param aStatus Used by RemCon to indicate completion of the send request. |
|
532 @param aNumRemotes On success, will contain the number of remotes the |
|
533 command was sent to. |
|
534 @param aButtonAct The button action to send. |
|
535 */ |
|
536 IMPORT_C void Record(TRequestStatus& aStatus, |
|
537 TUint& aNumRemotes, |
|
538 TRemConCoreApiButtonAction aButtonAct); |
|
539 |
|
540 /** Send a 'rewind' command. |
|
541 Only one command per controller session can be outstanding at any one time. |
|
542 @param aStatus Used by RemCon to indicate completion of the send request. |
|
543 @param aNumRemotes On success, will contain the number of remotes the |
|
544 command was sent to. |
|
545 @param aButtonAct The button action to send. |
|
546 */ |
|
547 IMPORT_C void Rewind(TRequestStatus& aStatus, |
|
548 TUint& aNumRemotes, |
|
549 TRemConCoreApiButtonAction aButtonAct); |
|
550 |
|
551 /** Send a 'fast forward' command. |
|
552 Only one command per controller session can be outstanding at any one time. |
|
553 @param aStatus Used by RemCon to indicate completion of the send request. |
|
554 @param aNumRemotes On success, will contain the number of remotes the |
|
555 command was sent to. |
|
556 @param aButtonAct The button action to send. |
|
557 */ |
|
558 IMPORT_C void FastForward(TRequestStatus& aStatus, |
|
559 TUint& aNumRemotes, |
|
560 TRemConCoreApiButtonAction aButtonAct); |
|
561 |
|
562 /** Send an 'eject' command. |
|
563 Only one command per controller session can be outstanding at any one time. |
|
564 @param aStatus Used by RemCon to indicate completion of the send request. |
|
565 @param aNumRemotes On success, will contain the number of remotes the |
|
566 command was sent to. |
|
567 @param aButtonAct The button action to send. |
|
568 */ |
|
569 IMPORT_C void Eject(TRequestStatus& aStatus, |
|
570 TUint& aNumRemotes, |
|
571 TRemConCoreApiButtonAction aButtonAct); |
|
572 |
|
573 /** Send a 'forward' command. |
|
574 Only one command per controller session can be outstanding at any one time. |
|
575 @param aStatus Used by RemCon to indicate completion of the send request. |
|
576 @param aNumRemotes On success, will contain the number of remotes the |
|
577 command was sent to. |
|
578 @param aButtonAct The button action to send. |
|
579 */ |
|
580 IMPORT_C void Forward(TRequestStatus& aStatus, |
|
581 TUint& aNumRemotes, |
|
582 TRemConCoreApiButtonAction aButtonAct); |
|
583 |
|
584 /** Send a 'backward' command. |
|
585 Only one command per controller session can be outstanding at any one time. |
|
586 @param aStatus Used by RemCon to indicate completion of the send request. |
|
587 @param aNumRemotes On success, will contain the number of remotes the |
|
588 command was sent to. |
|
589 @param aButtonAct The button action to send. |
|
590 */ |
|
591 IMPORT_C void Backward(TRequestStatus& aStatus, |
|
592 TUint& aNumRemotes, |
|
593 TRemConCoreApiButtonAction aButtonAct); |
|
594 |
|
595 /** Send an 'angle' command. |
|
596 Only one command per controller session can be outstanding at any one time. |
|
597 @param aStatus Used by RemCon to indicate completion of the send request. |
|
598 @param aNumRemotes On success, will contain the number of remotes the |
|
599 command was sent to. |
|
600 @param aButtonAct The button action to send. |
|
601 */ |
|
602 IMPORT_C void Angle(TRequestStatus& aStatus, |
|
603 TUint& aNumRemotes, |
|
604 TRemConCoreApiButtonAction aButtonAct); |
|
605 |
|
606 /** Send a 'subpicture' command. |
|
607 Only one command per controller session can be outstanding at any one time. |
|
608 @param aStatus Used by RemCon to indicate completion of the send request. |
|
609 @param aNumRemotes On success, will contain the number of remotes the |
|
610 command was sent to. |
|
611 @param aButtonAct The button action to send. |
|
612 */ |
|
613 IMPORT_C void Subpicture(TRequestStatus& aStatus, |
|
614 TUint& aNumRemotes, |
|
615 TRemConCoreApiButtonAction aButtonAct); |
|
616 |
|
617 /** Send a 'pause play function' command. |
|
618 Only one command per controller session can be outstanding at any one time. |
|
619 @param aStatus Used by RemCon to indicate completion of the send request. |
|
620 @param aNumRemotes On success, will contain the number of remotes the |
|
621 command was sent to. |
|
622 @param aButtonAct The button action to send. |
|
623 */ |
|
624 IMPORT_C void PausePlayFunction(TRequestStatus& aStatus, |
|
625 TUint& aNumRemotes, |
|
626 TRemConCoreApiButtonAction aButtonAct); |
|
627 |
|
628 /** Send a 'restore volume function' command. |
|
629 Only one command per controller session can be outstanding at any one time. |
|
630 @param aStatus Used by RemCon to indicate completion of the send request. |
|
631 @param aNumRemotes On success, will contain the number of remotes the |
|
632 command was sent to. |
|
633 @param aButtonAct The button action to send. |
|
634 */ |
|
635 IMPORT_C void RestoreVolumeFunction(TRequestStatus& aStatus, |
|
636 TUint& aNumRemotes, |
|
637 TRemConCoreApiButtonAction aButtonAct); |
|
638 |
|
639 /** Send a 'tune function' command. |
|
640 Only one command per controller session can be outstanding at any one time. |
|
641 @param aTwoPart If EFalse, only aMajorChannel is being used to perform the |
|
642 tuning (aMinorChannel is ignored). Otherwise, both aMajorChannel and |
|
643 aMinorChannel are used. |
|
644 @param aMajorChannel The major channel number. |
|
645 @param aMinorChannel The minor channel number. |
|
646 @param aStatus Used by RemCon to indicate completion of the send request. |
|
647 @param aNumRemotes On success, will contain the number of remotes the |
|
648 command was sent to. |
|
649 @param aButtonAct The button action to send. |
|
650 */ |
|
651 IMPORT_C void TuneFunction(TRequestStatus& aStatus, |
|
652 TUint& aNumRemotes, |
|
653 TBool aTwoPart, |
|
654 TUint aMajorChannel, |
|
655 TUint aMinorChannel, |
|
656 TRemConCoreApiButtonAction aButtonAct); |
|
657 |
|
658 /** Send a 'select disk function' command. |
|
659 Only one command per controller session can be outstanding at any one time. |
|
660 @param aStatus Used by RemCon to indicate completion of the send request. |
|
661 @param aNumRemotes On success, will contain the number of remotes the |
|
662 command was sent to. |
|
663 @param aButtonAct The button action to send. |
|
664 @param aDisk The disk to select. |
|
665 */ |
|
666 IMPORT_C void SelectDiskFunction(TRequestStatus& aStatus, |
|
667 TUint& aNumRemotes, |
|
668 TUint aDisk, |
|
669 TRemConCoreApiButtonAction aButtonAct); |
|
670 |
|
671 /** Send a 'select AV input function' command. |
|
672 Only one command per controller session can be outstanding at any one time. |
|
673 @param aStatus Used by RemCon to indicate completion of the send request. |
|
674 @param aNumRemotes On success, will contain the number of remotes the |
|
675 command was sent to. |
|
676 @param aButtonAct The button action to send. |
|
677 @param aAvInputSignalNumber AV input signal. |
|
678 */ |
|
679 IMPORT_C void SelectAvInputFunction(TRequestStatus& aStatus, |
|
680 TUint& aNumRemotes, |
|
681 TUint8 aAvInputSignalNumber, |
|
682 TRemConCoreApiButtonAction aButtonAct); |
|
683 |
|
684 /** Send a 'select audio input function' command. |
|
685 Only one command per controller session can be outstanding at any one time. |
|
686 @param aStatus Used by RemCon to indicate completion of the send request. |
|
687 @param aNumRemotes On success, will contain the number of remotes the |
|
688 command was sent to. |
|
689 @param aButtonAct The button action to send. |
|
690 @param aAudioInputSignalNumber Audio input signal. |
|
691 */ |
|
692 IMPORT_C void SelectAudioInputFunction(TRequestStatus& aStatus, |
|
693 TUint& aNumRemotes, |
|
694 TUint8 aAudioInputSignalNumber, |
|
695 TRemConCoreApiButtonAction aButtonAct); |
|
696 |
|
697 /** Send an 'F1' command. |
|
698 Only one command per controller session can be outstanding at any one time. |
|
699 @param aStatus Used by RemCon to indicate completion of the send request. |
|
700 @param aNumRemotes On success, will contain the number of remotes the |
|
701 command was sent to. |
|
702 @param aButtonAct The button action to send. |
|
703 */ |
|
704 IMPORT_C void F1(TRequestStatus& aStatus, |
|
705 TUint& aNumRemotes, |
|
706 TRemConCoreApiButtonAction aButtonAct); |
|
707 |
|
708 /** Send an 'F2' command. |
|
709 Only one command per controller session can be outstanding at any one time. |
|
710 @param aStatus Used by RemCon to indicate completion of the send request. |
|
711 @param aNumRemotes On success, will contain the number of remotes the |
|
712 command was sent to. |
|
713 @param aButtonAct The button action to send. |
|
714 */ |
|
715 IMPORT_C void F2(TRequestStatus& aStatus, |
|
716 TUint& aNumRemotes, |
|
717 TRemConCoreApiButtonAction aButtonAct); |
|
718 |
|
719 /** Send an 'F3' command. |
|
720 Only one command per controller session can be outstanding at any one time. |
|
721 @param aStatus Used by RemCon to indicate completion of the send request. |
|
722 @param aNumRemotes On success, will contain the number of remotes the |
|
723 command was sent to. |
|
724 @param aButtonAct The button action to send. |
|
725 */ |
|
726 IMPORT_C void F3(TRequestStatus& aStatus, |
|
727 TUint& aNumRemotes, |
|
728 TRemConCoreApiButtonAction aButtonAct); |
|
729 |
|
730 /** Send an 'F4' command. |
|
731 Only one command per controller session can be outstanding at any one time. |
|
732 @param aStatus Used by RemCon to indicate completion of the send request. |
|
733 @param aNumRemotes On success, will contain the number of remotes the |
|
734 command was sent to. |
|
735 @param aButtonAct The button action to send. |
|
736 */ |
|
737 IMPORT_C void F4(TRequestStatus& aStatus, |
|
738 TUint& aNumRemotes, |
|
739 TRemConCoreApiButtonAction aButtonAct); |
|
740 |
|
741 /** Send an 'F5' command. |
|
742 Only one command per controller session can be outstanding at any one time. |
|
743 @param aStatus Used by RemCon to indicate completion of the send request. |
|
744 @param aNumRemotes On success, will contain the number of remotes the |
|
745 command was sent to. |
|
746 @param aButtonAct The button action to send. |
|
747 */ |
|
748 IMPORT_C void F5(TRequestStatus& aStatus, |
|
749 TUint& aNumRemotes, |
|
750 TRemConCoreApiButtonAction aButtonAct); |
|
751 |
|
752 private: |
|
753 /** |
|
754 Constructor. |
|
755 @param aInterfaceSelector The interface selector. |
|
756 @param aObserver The observer of this interface. |
|
757 */ |
|
758 CRemConCoreApiController(CRemConInterfaceSelector& aInterfaceSelector, |
|
759 MRemConCoreApiControllerObserver& aObserver); |
|
760 |
|
761 private: // utility |
|
762 /** |
|
763 Utility to send a command with only the button action as operation-specific data. |
|
764 @param aStatus TRequestStatus for the send operation. |
|
765 @param aNumRemotes The number of remotes the command was sent to. |
|
766 @param aButtonAct The button action. |
|
767 @param aOperationId The operation ID. |
|
768 */ |
|
769 void SendGenericCommand(TRequestStatus& aStatus, |
|
770 TUint& aNumRemotes, |
|
771 TRemConCoreApiButtonAction aButtonAct, |
|
772 TRemConCoreApiOperationId aOperationId); |
|
773 |
|
774 private: // from CRemConInterfaceBase |
|
775 TAny* GetInterfaceIf(TUid aUid); |
|
776 |
|
777 private: // from MRemConInterfaceIf |
|
778 void MrcibNewMessage(TUint aOperationId, const TDesC8& aData); |
|
779 |
|
780 private: // unowned |
|
781 MRemConCoreApiControllerObserver& iObserver; |
|
782 |
|
783 private: // owned |
|
784 TBuf8<KRemConCoreApiMaxOperationSpecificDataSize> iCmdData; |
|
785 }; |
|
786 |
|
787 #endif // REMCONCOREAPICONTROLLER_H |