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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
24 #ifndef REMCONCOREAPICONTROLLER_H
25 #define REMCONCOREAPICONTROLLER_H
28 #include <remcon/remconinterfacebase.h>
29 #include <remconcoreapi.h>
30 #include <remcon/remconinterfaceif.h>
32 class MRemConCoreApiControllerObserver;
33 class CRemConInterfaceSelector;
36 Client-instantiable type supporting sending Core API commands.
38 NONSHARABLE_CLASS(CRemConCoreApiController) : public CRemConInterfaceBase,
39 public MRemConInterfaceIf
44 @param aInterfaceSelector The interface selector. The client must have
45 created one of these first.
46 @param aObserver The observer of this interface.
47 @return A new CRemConCoreApiController, owned by the interface selector.
49 IMPORT_C static CRemConCoreApiController* NewL(CRemConInterfaceSelector& aInterfaceSelector,
50 MRemConCoreApiControllerObserver& aObserver);
53 IMPORT_C ~CRemConCoreApiController();
56 /** Send a 'select' command.
57 Only one command per controller session can be outstanding at any one time.
58 @param aStatus Used by RemCon to indicate completion of the send request.
59 @param aNumRemotes On success, will contain the number of remotes the
61 @param aButtonAct The button action to send.
63 IMPORT_C void Select(TRequestStatus& aStatus,
65 TRemConCoreApiButtonAction aButtonAct);
67 /** Send an 'up' command.
68 Only one command per controller session can be outstanding at any one time.
69 @param aStatus Used by RemCon to indicate completion of the send request.
70 @param aNumRemotes On success, will contain the number of remotes the
72 @param aButtonAct The button action to send.
74 IMPORT_C void Up(TRequestStatus& aStatus,
76 TRemConCoreApiButtonAction aButtonAct);
78 /** Send a 'down' command.
79 Only one command per controller session can be outstanding at any one time.
80 @param aStatus Used by RemCon to indicate completion of the send request.
81 @param aNumRemotes On success, will contain the number of remotes the
83 @param aButtonAct The button action to send.
85 IMPORT_C void Down(TRequestStatus& aStatus,
87 TRemConCoreApiButtonAction aButtonAct);
89 /** Send a 'left' command.
90 Only one command per controller session can be outstanding at any one time.
91 @param aStatus Used by RemCon to indicate completion of the send request.
92 @param aNumRemotes On success, will contain the number of remotes the
94 @param aButtonAct The button action to send.
96 IMPORT_C void Left(TRequestStatus& aStatus,
98 TRemConCoreApiButtonAction aButtonAct);
100 /** Send a 'right' command.
101 Only one command per controller session can be outstanding at any one time.
102 @param aStatus Used by RemCon to indicate completion of the send request.
103 @param aNumRemotes On success, will contain the number of remotes the
105 @param aButtonAct The button action to send.
107 IMPORT_C void Right(TRequestStatus& aStatus,
109 TRemConCoreApiButtonAction aButtonAct);
111 /** Send a 'right up' command.
112 Only one command per controller session can be outstanding at any one time.
113 @param aStatus Used by RemCon to indicate completion of the send request.
114 @param aNumRemotes On success, will contain the number of remotes the
116 @param aButtonAct The button action to send.
118 IMPORT_C void RightUp(TRequestStatus& aStatus,
120 TRemConCoreApiButtonAction aButtonAct);
122 /** Send a 'right down' command.
123 Only one command per controller session can be outstanding at any one time.
124 @param aStatus Used by RemCon to indicate completion of the send request.
125 @param aNumRemotes On success, will contain the number of remotes the
127 @param aButtonAct The button action to send.
129 IMPORT_C void RightDown(TRequestStatus& aStatus,
131 TRemConCoreApiButtonAction aButtonAct);
133 /** Send a 'left up' command.
134 Only one command per controller session can be outstanding at any one time.
135 @param aStatus Used by RemCon to indicate completion of the send request.
136 @param aNumRemotes On success, will contain the number of remotes the
138 @param aButtonAct The button action to send.
140 IMPORT_C void LeftUp(TRequestStatus& aStatus,
142 TRemConCoreApiButtonAction aButtonAct);
144 /** Send a 'left down' command.
145 Only one command per controller session can be outstanding at any one time.
146 @param aStatus Used by RemCon to indicate completion of the send request.
147 @param aNumRemotes On success, will contain the number of remotes the
149 @param aButtonAct The button action to send.
151 IMPORT_C void LeftDown(TRequestStatus& aStatus,
153 TRemConCoreApiButtonAction aButtonAct);
155 /** Send a 'root menu' command.
156 Only one command per controller session can be outstanding at any one time.
157 @param aStatus Used by RemCon to indicate completion of the send request.
158 @param aNumRemotes On success, will contain the number of remotes the
160 @param aButtonAct The button action to send.
162 IMPORT_C void RootMenu(TRequestStatus& aStatus,
164 TRemConCoreApiButtonAction aButtonAct);
166 /** Send a 'setup menu' command.
167 Only one command per controller session can be outstanding at any one time.
168 @param aStatus Used by RemCon to indicate completion of the send request.
169 @param aNumRemotes On success, will contain the number of remotes the
171 @param aButtonAct The button action to send.
173 IMPORT_C void SetupMenu(TRequestStatus& aStatus,
175 TRemConCoreApiButtonAction aButtonAct);
177 /** Send a 'contents menu' command.
178 Only one command per controller session can be outstanding at any one time.
179 @param aStatus Used by RemCon to indicate completion of the send request.
180 @param aNumRemotes On success, will contain the number of remotes the
182 @param aButtonAct The button action to send.
184 IMPORT_C void ContentsMenu(TRequestStatus& aStatus,
186 TRemConCoreApiButtonAction aButtonAct);
188 /** Send a 'favorite menu' command.
189 Only one command per controller session can be outstanding at any one time.
190 @param aStatus Used by RemCon to indicate completion of the send request.
191 @param aNumRemotes On success, will contain the number of remotes the
193 @param aButtonAct The button action to send.
195 IMPORT_C void FavoriteMenu(TRequestStatus& aStatus,
197 TRemConCoreApiButtonAction aButtonAct);
199 /** Send an 'exit' command.
200 Only one command per controller session can be outstanding at any one time.
201 @param aStatus Used by RemCon to indicate completion of the send request.
202 @param aNumRemotes On success, will contain the number of remotes the
204 @param aButtonAct The button action to send.
206 IMPORT_C void Exit(TRequestStatus& aStatus,
208 TRemConCoreApiButtonAction aButtonAct);
210 /** Send a '0' command.
211 Only one command per controller session can be outstanding at any one time.
212 @param aStatus Used by RemCon to indicate completion of the send request.
213 @param aNumRemotes On success, will contain the number of remotes the
215 @param aButtonAct The button action to send.
217 IMPORT_C void _0(TRequestStatus& aStatus,
219 TRemConCoreApiButtonAction aButtonAct);
221 /** Send a '1' command.
222 Only one command per controller session can be outstanding at any one time.
223 @param aStatus Used by RemCon to indicate completion of the send request.
224 @param aNumRemotes On success, will contain the number of remotes the
226 @param aButtonAct The button action to send.
228 IMPORT_C void _1(TRequestStatus& aStatus,
230 TRemConCoreApiButtonAction aButtonAct);
232 /** Send a '2' command.
233 Only one command per controller session can be outstanding at any one time.
234 @param aStatus Used by RemCon to indicate completion of the send request.
235 @param aNumRemotes On success, will contain the number of remotes the
237 @param aButtonAct The button action to send.
239 IMPORT_C void _2(TRequestStatus& aStatus,
241 TRemConCoreApiButtonAction aButtonAct);
243 /** Send a '3' command.
244 Only one command per controller session can be outstanding at any one time.
245 @param aStatus Used by RemCon to indicate completion of the send request.
246 @param aNumRemotes On success, will contain the number of remotes the
248 @param aButtonAct The button action to send.
250 IMPORT_C void _3(TRequestStatus& aStatus,
252 TRemConCoreApiButtonAction aButtonAct);
254 /** Send a '4'command.
255 Only one command per controller session can be outstanding at any one time.
256 @param aStatus Used by RemCon to indicate completion of the send request.
257 @param aNumRemotes On success, will contain the number of remotes the
259 @param aButtonAct The button action to send.
261 IMPORT_C void _4(TRequestStatus& aStatus,
263 TRemConCoreApiButtonAction aButtonAct);
265 /** Send a '5' command.
266 Only one command per controller session can be outstanding at any one time.
267 @param aStatus Used by RemCon to indicate completion of the send request.
268 @param aNumRemotes On success, will contain the number of remotes the
270 @param aButtonAct The button action to send.
272 IMPORT_C void _5(TRequestStatus& aStatus,
274 TRemConCoreApiButtonAction aButtonAct);
276 /** Send a '6' command.
277 Only one command per controller session can be outstanding at any one time.
278 @param aStatus Used by RemCon to indicate completion of the send request.
279 @param aNumRemotes On success, will contain the number of remotes the
281 @param aButtonAct The button action to send.
283 IMPORT_C void _6(TRequestStatus& aStatus,
285 TRemConCoreApiButtonAction aButtonAct);
287 /** Send a '7' command.
288 Only one command per controller session can be outstanding at any one time.
289 @param aStatus Used by RemCon to indicate completion of the send request.
290 @param aNumRemotes On success, will contain the number of remotes the
292 @param aButtonAct The button action to send.
294 IMPORT_C void _7(TRequestStatus& aStatus,
296 TRemConCoreApiButtonAction aButtonAct);
298 /** Send a '8' command.
299 Only one command per controller session can be outstanding at any one time.
300 @param aStatus Used by RemCon to indicate completion of the send request.
301 @param aNumRemotes On success, will contain the number of remotes the
303 @param aButtonAct The button action to send.
305 IMPORT_C void _8(TRequestStatus& aStatus,
307 TRemConCoreApiButtonAction aButtonAct);
309 /** Send a '9' command.
310 Only one command per controller session can be outstanding at any one time.
311 @param aStatus Used by RemCon to indicate completion of the send request.
312 @param aNumRemotes On success, will contain the number of remotes the
314 @param aButtonAct The button action to send.
316 IMPORT_C void _9(TRequestStatus& aStatus,
318 TRemConCoreApiButtonAction aButtonAct);
320 /** Send a 'dot' command.
321 Only one command per controller session can be outstanding at any one time.
322 @param aStatus Used by RemCon to indicate completion of the send request.
323 @param aNumRemotes On success, will contain the number of remotes the
325 @param aButtonAct The button action to send.
327 IMPORT_C void Dot(TRequestStatus& aStatus,
329 TRemConCoreApiButtonAction aButtonAct);
331 /** Send an 'enter' command.
332 Only one command per controller session can be outstanding at any one time.
333 @param aStatus Used by RemCon to indicate completion of the send request.
334 @param aNumRemotes On success, will contain the number of remotes the
336 @param aButtonAct The button action to send.
338 IMPORT_C void Enter(TRequestStatus& aStatus,
340 TRemConCoreApiButtonAction aButtonAct);
342 /** Send a 'clear' command.
343 Only one command per controller session can be outstanding at any one time.
344 @param aStatus Used by RemCon to indicate completion of the send request.
345 @param aNumRemotes On success, will contain the number of remotes the
347 @param aButtonAct The button action to send.
349 IMPORT_C void Clear(TRequestStatus& aStatus,
351 TRemConCoreApiButtonAction aButtonAct);
353 /** Send a 'channel up' command.
354 Only one command per controller session can be outstanding at any one time.
355 @param aStatus Used by RemCon to indicate completion of the send request.
356 @param aNumRemotes On success, will contain the number of remotes the
358 @param aButtonAct The button action to send.
360 IMPORT_C void ChannelUp(TRequestStatus& aStatus,
362 TRemConCoreApiButtonAction aButtonAct);
364 /** Send a 'channel down' command.
365 Only one command per controller session can be outstanding at any one time.
366 @param aStatus Used by RemCon to indicate completion of the send request.
367 @param aNumRemotes On success, will contain the number of remotes the
369 @param aButtonAct The button action to send.
371 IMPORT_C void ChannelDown(TRequestStatus& aStatus,
373 TRemConCoreApiButtonAction aButtonAct);
375 /** Send a 'previous channel' command.
376 Only one command per controller session can be outstanding at any one time.
377 @param aStatus Used by RemCon to indicate completion of the send request.
378 @param aNumRemotes On success, will contain the number of remotes the
380 @param aButtonAct The button action to send.
382 IMPORT_C void PreviousChannel(TRequestStatus& aStatus,
384 TRemConCoreApiButtonAction aButtonAct);
386 /** Send a 'sound select' command.
387 Only one command per controller session can be outstanding at any one time.
388 @param aStatus Used by RemCon to indicate completion of the send request.
389 @param aNumRemotes On success, will contain the number of remotes the
391 @param aButtonAct The button action to send.
393 IMPORT_C void SoundSelect(TRequestStatus& aStatus,
395 TRemConCoreApiButtonAction aButtonAct);
397 /** Send a 'input select' command.
398 Only one command per controller session can be outstanding at any one time.
399 @param aStatus Used by RemCon to indicate completion of the send request.
400 @param aNumRemotes On success, will contain the number of remotes the
402 @param aButtonAct The button action to send.
404 IMPORT_C void InputSelect(TRequestStatus& aStatus,
406 TRemConCoreApiButtonAction aButtonAct);
408 /** Send a 'display information' command.
409 Only one command per controller session can be outstanding at any one time.
410 @param aStatus Used by RemCon to indicate completion of the send request.
411 @param aNumRemotes On success, will contain the number of remotes the
413 @param aButtonAct The button action to send.
415 IMPORT_C void DisplayInformation(TRequestStatus& aStatus,
417 TRemConCoreApiButtonAction aButtonAct);
419 /** Send a 'help' command.
420 Only one command per controller session can be outstanding at any one time.
421 @param aStatus Used by RemCon to indicate completion of the send request.
422 @param aNumRemotes On success, will contain the number of remotes the
424 @param aButtonAct The button action to send.
426 IMPORT_C void Help(TRequestStatus& aStatus,
428 TRemConCoreApiButtonAction aButtonAct);
430 /** Send a 'page up' command.
431 Only one command per controller session can be outstanding at any one time.
432 @param aStatus Used by RemCon to indicate completion of the send request.
433 @param aNumRemotes On success, will contain the number of remotes the
435 @param aButtonAct The button action to send.
437 IMPORT_C void PageUp(TRequestStatus& aStatus,
439 TRemConCoreApiButtonAction aButtonAct);
441 /** Send a 'page down' command.
442 Only one command per controller session can be outstanding at any one time.
443 @param aStatus Used by RemCon to indicate completion of the send request.
444 @param aNumRemotes On success, will contain the number of remotes the
446 @param aButtonAct The button action to send.
448 IMPORT_C void PageDown(TRequestStatus& aStatus,
450 TRemConCoreApiButtonAction aButtonAct);
452 /** Send a 'power' command.
453 Only one command per controller session can be outstanding at any one time.
454 @param aStatus Used by RemCon to indicate completion of the send request.
455 @param aNumRemotes On success, will contain the number of remotes the
457 @param aButtonAct The button action to send.
459 IMPORT_C void Power(TRequestStatus& aStatus,
461 TRemConCoreApiButtonAction aButtonAct);
463 /** Send a 'volume up' command.
464 Only one command per controller session can be outstanding at any one time.
465 @param aStatus Used by RemCon to indicate completion of the send request.
466 @param aNumRemotes On success, will contain the number of remotes the
468 @param aButtonAct The button action to send.
470 IMPORT_C void VolumeUp(TRequestStatus& aStatus,
472 TRemConCoreApiButtonAction aButtonAct);
474 /** Send a 'volume down' command.
475 Only one command per controller session can be outstanding at any one time.
476 @param aStatus Used by RemCon to indicate completion of the send request.
477 @param aNumRemotes On success, will contain the number of remotes the
479 @param aButtonAct The button action to send.
481 IMPORT_C void VolumeDown(TRequestStatus& aStatus,
483 TRemConCoreApiButtonAction aButtonAct);
485 /** Send a 'mute' command.
486 Only one command per controller session can be outstanding at any one time.
487 @param aStatus Used by RemCon to indicate completion of the send request.
488 @param aNumRemotes On success, will contain the number of remotes the
490 @param aButtonAct The button action to send.
492 IMPORT_C void Mute(TRequestStatus& aStatus,
494 TRemConCoreApiButtonAction aButtonAct);
496 /** Send a 'play' command.
497 Only one command per controller session can be outstanding at any one time.
498 @param aStatus Used by RemCon to indicate completion of the send request.
499 @param aNumRemotes On success, will contain the number of remotes the
501 @param aButtonAct The button action to send.
502 @param aSpeed The play speed.
504 IMPORT_C void Play(TRequestStatus& aStatus,
506 TRemConCoreApiButtonAction aButtonAct,
507 TRemConCoreApiPlaybackSpeed aSpeed = ERemConCoreApiPlaybackSpeedX1);
509 /** Send a 'stop' command.
510 Only one command per controller session can be outstanding at any one time.
511 @param aStatus Used by RemCon to indicate completion of the send request.
512 @param aNumRemotes On success, will contain the number of remotes the
514 @param aButtonAct The button action to send.
516 IMPORT_C void Stop(TRequestStatus& aStatus,
518 TRemConCoreApiButtonAction aButtonAct);
520 /** Send a 'pause' command.
521 Only one command per controller session can be outstanding at any one time.
522 @param aStatus Used by RemCon to indicate completion of the send request.
523 @param aNumRemotes On success, will contain the number of remotes the
525 @param aButtonAct The button action to send.
527 IMPORT_C void Pause(TRequestStatus& aStatus,
529 TRemConCoreApiButtonAction aButtonAct);
531 /** Send a 'record' command.
532 Only one command per controller session can be outstanding at any one time.
533 @param aStatus Used by RemCon to indicate completion of the send request.
534 @param aNumRemotes On success, will contain the number of remotes the
536 @param aButtonAct The button action to send.
538 IMPORT_C void Record(TRequestStatus& aStatus,
540 TRemConCoreApiButtonAction aButtonAct);
542 /** Send a 'rewind' command.
543 Only one command per controller session can be outstanding at any one time.
544 @param aStatus Used by RemCon to indicate completion of the send request.
545 @param aNumRemotes On success, will contain the number of remotes the
547 @param aButtonAct The button action to send.
549 IMPORT_C void Rewind(TRequestStatus& aStatus,
551 TRemConCoreApiButtonAction aButtonAct);
553 /** Send a 'fast forward' command.
554 Only one command per controller session can be outstanding at any one time.
555 @param aStatus Used by RemCon to indicate completion of the send request.
556 @param aNumRemotes On success, will contain the number of remotes the
558 @param aButtonAct The button action to send.
560 IMPORT_C void FastForward(TRequestStatus& aStatus,
562 TRemConCoreApiButtonAction aButtonAct);
564 /** Send an 'eject' command.
565 Only one command per controller session can be outstanding at any one time.
566 @param aStatus Used by RemCon to indicate completion of the send request.
567 @param aNumRemotes On success, will contain the number of remotes the
569 @param aButtonAct The button action to send.
571 IMPORT_C void Eject(TRequestStatus& aStatus,
573 TRemConCoreApiButtonAction aButtonAct);
575 /** Send a 'forward' command.
576 Only one command per controller session can be outstanding at any one time.
577 @param aStatus Used by RemCon to indicate completion of the send request.
578 @param aNumRemotes On success, will contain the number of remotes the
580 @param aButtonAct The button action to send.
582 IMPORT_C void Forward(TRequestStatus& aStatus,
584 TRemConCoreApiButtonAction aButtonAct);
586 /** Send a 'backward' command.
587 Only one command per controller session can be outstanding at any one time.
588 @param aStatus Used by RemCon to indicate completion of the send request.
589 @param aNumRemotes On success, will contain the number of remotes the
591 @param aButtonAct The button action to send.
593 IMPORT_C void Backward(TRequestStatus& aStatus,
595 TRemConCoreApiButtonAction aButtonAct);
597 /** Send an 'angle' command.
598 Only one command per controller session can be outstanding at any one time.
599 @param aStatus Used by RemCon to indicate completion of the send request.
600 @param aNumRemotes On success, will contain the number of remotes the
602 @param aButtonAct The button action to send.
604 IMPORT_C void Angle(TRequestStatus& aStatus,
606 TRemConCoreApiButtonAction aButtonAct);
608 /** Send a 'subpicture' command.
609 Only one command per controller session can be outstanding at any one time.
610 @param aStatus Used by RemCon to indicate completion of the send request.
611 @param aNumRemotes On success, will contain the number of remotes the
613 @param aButtonAct The button action to send.
615 IMPORT_C void Subpicture(TRequestStatus& aStatus,
617 TRemConCoreApiButtonAction aButtonAct);
619 /** Send a 'pause play function' command.
620 Only one command per controller session can be outstanding at any one time.
621 @param aStatus Used by RemCon to indicate completion of the send request.
622 @param aNumRemotes On success, will contain the number of remotes the
624 @param aButtonAct The button action to send.
626 IMPORT_C void PausePlayFunction(TRequestStatus& aStatus,
628 TRemConCoreApiButtonAction aButtonAct);
630 /** Send a 'restore volume function' command.
631 Only one command per controller session can be outstanding at any one time.
632 @param aStatus Used by RemCon to indicate completion of the send request.
633 @param aNumRemotes On success, will contain the number of remotes the
635 @param aButtonAct The button action to send.
637 IMPORT_C void RestoreVolumeFunction(TRequestStatus& aStatus,
639 TRemConCoreApiButtonAction aButtonAct);
641 /** Send a 'tune function' command.
642 Only one command per controller session can be outstanding at any one time.
643 @param aTwoPart If EFalse, only aMajorChannel is being used to perform the
644 tuning (aMinorChannel is ignored). Otherwise, both aMajorChannel and
645 aMinorChannel are used.
646 @param aMajorChannel The major channel number.
647 @param aMinorChannel The minor channel number.
648 @param aStatus Used by RemCon to indicate completion of the send request.
649 @param aNumRemotes On success, will contain the number of remotes the
651 @param aButtonAct The button action to send.
653 IMPORT_C void TuneFunction(TRequestStatus& aStatus,
658 TRemConCoreApiButtonAction aButtonAct);
660 /** Send a 'select disk function' command.
661 Only one command per controller session can be outstanding at any one time.
662 @param aStatus Used by RemCon to indicate completion of the send request.
663 @param aNumRemotes On success, will contain the number of remotes the
665 @param aButtonAct The button action to send.
666 @param aDisk The disk to select.
668 IMPORT_C void SelectDiskFunction(TRequestStatus& aStatus,
671 TRemConCoreApiButtonAction aButtonAct);
673 /** Send a 'select AV input function' command.
674 Only one command per controller session can be outstanding at any one time.
675 @param aStatus Used by RemCon to indicate completion of the send request.
676 @param aNumRemotes On success, will contain the number of remotes the
678 @param aButtonAct The button action to send.
679 @param aAvInputSignalNumber AV input signal.
681 IMPORT_C void SelectAvInputFunction(TRequestStatus& aStatus,
683 TUint8 aAvInputSignalNumber,
684 TRemConCoreApiButtonAction aButtonAct);
686 /** Send a 'select audio input function' command.
687 Only one command per controller session can be outstanding at any one time.
688 @param aStatus Used by RemCon to indicate completion of the send request.
689 @param aNumRemotes On success, will contain the number of remotes the
691 @param aButtonAct The button action to send.
692 @param aAudioInputSignalNumber Audio input signal.
694 IMPORT_C void SelectAudioInputFunction(TRequestStatus& aStatus,
696 TUint8 aAudioInputSignalNumber,
697 TRemConCoreApiButtonAction aButtonAct);
699 /** Send an 'F1' command.
700 Only one command per controller session can be outstanding at any one time.
701 @param aStatus Used by RemCon to indicate completion of the send request.
702 @param aNumRemotes On success, will contain the number of remotes the
704 @param aButtonAct The button action to send.
706 IMPORT_C void F1(TRequestStatus& aStatus,
708 TRemConCoreApiButtonAction aButtonAct);
710 /** Send an 'F2' command.
711 Only one command per controller session can be outstanding at any one time.
712 @param aStatus Used by RemCon to indicate completion of the send request.
713 @param aNumRemotes On success, will contain the number of remotes the
715 @param aButtonAct The button action to send.
717 IMPORT_C void F2(TRequestStatus& aStatus,
719 TRemConCoreApiButtonAction aButtonAct);
721 /** Send an 'F3' command.
722 Only one command per controller session can be outstanding at any one time.
723 @param aStatus Used by RemCon to indicate completion of the send request.
724 @param aNumRemotes On success, will contain the number of remotes the
726 @param aButtonAct The button action to send.
728 IMPORT_C void F3(TRequestStatus& aStatus,
730 TRemConCoreApiButtonAction aButtonAct);
732 /** Send an 'F4' command.
733 Only one command per controller session can be outstanding at any one time.
734 @param aStatus Used by RemCon to indicate completion of the send request.
735 @param aNumRemotes On success, will contain the number of remotes the
737 @param aButtonAct The button action to send.
739 IMPORT_C void F4(TRequestStatus& aStatus,
741 TRemConCoreApiButtonAction aButtonAct);
743 /** Send an 'F5' command.
744 Only one command per controller session can be outstanding at any one time.
745 @param aStatus Used by RemCon to indicate completion of the send request.
746 @param aNumRemotes On success, will contain the number of remotes the
748 @param aButtonAct The button action to send.
750 IMPORT_C void F5(TRequestStatus& aStatus,
752 TRemConCoreApiButtonAction aButtonAct);
757 @param aInterfaceSelector The interface selector.
758 @param aObserver The observer of this interface.
760 CRemConCoreApiController(CRemConInterfaceSelector& aInterfaceSelector,
761 MRemConCoreApiControllerObserver& aObserver);
765 Utility to send a command with only the button action as operation-specific data.
766 @param aStatus TRequestStatus for the send operation.
767 @param aNumRemotes The number of remotes the command was sent to.
768 @param aButtonAct The button action.
769 @param aOperationId The operation ID.
771 void SendGenericCommand(TRequestStatus& aStatus,
773 TRemConCoreApiButtonAction aButtonAct,
774 TRemConCoreApiOperationId aOperationId);
776 private: // from CRemConInterfaceBase
777 TAny* GetInterfaceIf(TUid aUid);
779 private: // from MRemConInterfaceIf
780 void MrcibNewMessage(TUint aOperationId, const TDesC8& aData);
783 MRemConCoreApiControllerObserver& iObserver;
786 TBuf8<KRemConCoreApiMaxOperationSpecificDataSize> iCmdData;
789 #endif // REMCONCOREAPICONTROLLER_H