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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
22 #ifndef REMCONCOREAPICONTROLLER_H
23 #define REMCONCOREAPICONTROLLER_H
26 #include <remcon/remconinterfacebase.h>
27 #include <remconcoreapi.h>
28 #include <remcon/remconinterfaceif.h>
30 class MRemConCoreApiControllerObserver;
31 class CRemConInterfaceSelector;
34 Client-instantiable type supporting sending Core API commands.
36 NONSHARABLE_CLASS(CRemConCoreApiController) : public CRemConInterfaceBase,
37 public MRemConInterfaceIf
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.
47 IMPORT_C static CRemConCoreApiController* NewL(CRemConInterfaceSelector& aInterfaceSelector,
48 MRemConCoreApiControllerObserver& aObserver);
51 IMPORT_C ~CRemConCoreApiController();
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
59 @param aButtonAct The button action to send.
61 IMPORT_C void Select(TRequestStatus& aStatus,
63 TRemConCoreApiButtonAction aButtonAct);
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
70 @param aButtonAct The button action to send.
72 IMPORT_C void Up(TRequestStatus& aStatus,
74 TRemConCoreApiButtonAction aButtonAct);
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
81 @param aButtonAct The button action to send.
83 IMPORT_C void Down(TRequestStatus& aStatus,
85 TRemConCoreApiButtonAction aButtonAct);
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
92 @param aButtonAct The button action to send.
94 IMPORT_C void Left(TRequestStatus& aStatus,
96 TRemConCoreApiButtonAction aButtonAct);
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
103 @param aButtonAct The button action to send.
105 IMPORT_C void Right(TRequestStatus& aStatus,
107 TRemConCoreApiButtonAction aButtonAct);
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
114 @param aButtonAct The button action to send.
116 IMPORT_C void RightUp(TRequestStatus& aStatus,
118 TRemConCoreApiButtonAction aButtonAct);
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
125 @param aButtonAct The button action to send.
127 IMPORT_C void RightDown(TRequestStatus& aStatus,
129 TRemConCoreApiButtonAction aButtonAct);
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
136 @param aButtonAct The button action to send.
138 IMPORT_C void LeftUp(TRequestStatus& aStatus,
140 TRemConCoreApiButtonAction aButtonAct);
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
147 @param aButtonAct The button action to send.
149 IMPORT_C void LeftDown(TRequestStatus& aStatus,
151 TRemConCoreApiButtonAction aButtonAct);
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
158 @param aButtonAct The button action to send.
160 IMPORT_C void RootMenu(TRequestStatus& aStatus,
162 TRemConCoreApiButtonAction aButtonAct);
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
169 @param aButtonAct The button action to send.
171 IMPORT_C void SetupMenu(TRequestStatus& aStatus,
173 TRemConCoreApiButtonAction aButtonAct);
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
180 @param aButtonAct The button action to send.
182 IMPORT_C void ContentsMenu(TRequestStatus& aStatus,
184 TRemConCoreApiButtonAction aButtonAct);
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
191 @param aButtonAct The button action to send.
193 IMPORT_C void FavoriteMenu(TRequestStatus& aStatus,
195 TRemConCoreApiButtonAction aButtonAct);
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
202 @param aButtonAct The button action to send.
204 IMPORT_C void Exit(TRequestStatus& aStatus,
206 TRemConCoreApiButtonAction aButtonAct);
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
213 @param aButtonAct The button action to send.
215 IMPORT_C void _0(TRequestStatus& aStatus,
217 TRemConCoreApiButtonAction aButtonAct);
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
224 @param aButtonAct The button action to send.
226 IMPORT_C void _1(TRequestStatus& aStatus,
228 TRemConCoreApiButtonAction aButtonAct);
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
235 @param aButtonAct The button action to send.
237 IMPORT_C void _2(TRequestStatus& aStatus,
239 TRemConCoreApiButtonAction aButtonAct);
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
246 @param aButtonAct The button action to send.
248 IMPORT_C void _3(TRequestStatus& aStatus,
250 TRemConCoreApiButtonAction aButtonAct);
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
257 @param aButtonAct The button action to send.
259 IMPORT_C void _4(TRequestStatus& aStatus,
261 TRemConCoreApiButtonAction aButtonAct);
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
268 @param aButtonAct The button action to send.
270 IMPORT_C void _5(TRequestStatus& aStatus,
272 TRemConCoreApiButtonAction aButtonAct);
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
279 @param aButtonAct The button action to send.
281 IMPORT_C void _6(TRequestStatus& aStatus,
283 TRemConCoreApiButtonAction aButtonAct);
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
290 @param aButtonAct The button action to send.
292 IMPORT_C void _7(TRequestStatus& aStatus,
294 TRemConCoreApiButtonAction aButtonAct);
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
301 @param aButtonAct The button action to send.
303 IMPORT_C void _8(TRequestStatus& aStatus,
305 TRemConCoreApiButtonAction aButtonAct);
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
312 @param aButtonAct The button action to send.
314 IMPORT_C void _9(TRequestStatus& aStatus,
316 TRemConCoreApiButtonAction aButtonAct);
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
323 @param aButtonAct The button action to send.
325 IMPORT_C void Dot(TRequestStatus& aStatus,
327 TRemConCoreApiButtonAction aButtonAct);
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
334 @param aButtonAct The button action to send.
336 IMPORT_C void Enter(TRequestStatus& aStatus,
338 TRemConCoreApiButtonAction aButtonAct);
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
345 @param aButtonAct The button action to send.
347 IMPORT_C void Clear(TRequestStatus& aStatus,
349 TRemConCoreApiButtonAction aButtonAct);
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
356 @param aButtonAct The button action to send.
358 IMPORT_C void ChannelUp(TRequestStatus& aStatus,
360 TRemConCoreApiButtonAction aButtonAct);
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
367 @param aButtonAct The button action to send.
369 IMPORT_C void ChannelDown(TRequestStatus& aStatus,
371 TRemConCoreApiButtonAction aButtonAct);
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
378 @param aButtonAct The button action to send.
380 IMPORT_C void PreviousChannel(TRequestStatus& aStatus,
382 TRemConCoreApiButtonAction aButtonAct);
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
389 @param aButtonAct The button action to send.
391 IMPORT_C void SoundSelect(TRequestStatus& aStatus,
393 TRemConCoreApiButtonAction aButtonAct);
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
400 @param aButtonAct The button action to send.
402 IMPORT_C void InputSelect(TRequestStatus& aStatus,
404 TRemConCoreApiButtonAction aButtonAct);
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
411 @param aButtonAct The button action to send.
413 IMPORT_C void DisplayInformation(TRequestStatus& aStatus,
415 TRemConCoreApiButtonAction aButtonAct);
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
422 @param aButtonAct The button action to send.
424 IMPORT_C void Help(TRequestStatus& aStatus,
426 TRemConCoreApiButtonAction aButtonAct);
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
433 @param aButtonAct The button action to send.
435 IMPORT_C void PageUp(TRequestStatus& aStatus,
437 TRemConCoreApiButtonAction aButtonAct);
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
444 @param aButtonAct The button action to send.
446 IMPORT_C void PageDown(TRequestStatus& aStatus,
448 TRemConCoreApiButtonAction aButtonAct);
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
455 @param aButtonAct The button action to send.
457 IMPORT_C void Power(TRequestStatus& aStatus,
459 TRemConCoreApiButtonAction aButtonAct);
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
466 @param aButtonAct The button action to send.
468 IMPORT_C void VolumeUp(TRequestStatus& aStatus,
470 TRemConCoreApiButtonAction aButtonAct);
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
477 @param aButtonAct The button action to send.
479 IMPORT_C void VolumeDown(TRequestStatus& aStatus,
481 TRemConCoreApiButtonAction aButtonAct);
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
488 @param aButtonAct The button action to send.
490 IMPORT_C void Mute(TRequestStatus& aStatus,
492 TRemConCoreApiButtonAction aButtonAct);
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
499 @param aButtonAct The button action to send.
500 @param aSpeed The play speed.
502 IMPORT_C void Play(TRequestStatus& aStatus,
504 TRemConCoreApiButtonAction aButtonAct,
505 TRemConCoreApiPlaybackSpeed aSpeed = ERemConCoreApiPlaybackSpeedX1);
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
512 @param aButtonAct The button action to send.
514 IMPORT_C void Stop(TRequestStatus& aStatus,
516 TRemConCoreApiButtonAction aButtonAct);
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
523 @param aButtonAct The button action to send.
525 IMPORT_C void Pause(TRequestStatus& aStatus,
527 TRemConCoreApiButtonAction aButtonAct);
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
534 @param aButtonAct The button action to send.
536 IMPORT_C void Record(TRequestStatus& aStatus,
538 TRemConCoreApiButtonAction aButtonAct);
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
545 @param aButtonAct The button action to send.
547 IMPORT_C void Rewind(TRequestStatus& aStatus,
549 TRemConCoreApiButtonAction aButtonAct);
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
556 @param aButtonAct The button action to send.
558 IMPORT_C void FastForward(TRequestStatus& aStatus,
560 TRemConCoreApiButtonAction aButtonAct);
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
567 @param aButtonAct The button action to send.
569 IMPORT_C void Eject(TRequestStatus& aStatus,
571 TRemConCoreApiButtonAction aButtonAct);
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
578 @param aButtonAct The button action to send.
580 IMPORT_C void Forward(TRequestStatus& aStatus,
582 TRemConCoreApiButtonAction aButtonAct);
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
589 @param aButtonAct The button action to send.
591 IMPORT_C void Backward(TRequestStatus& aStatus,
593 TRemConCoreApiButtonAction aButtonAct);
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
600 @param aButtonAct The button action to send.
602 IMPORT_C void Angle(TRequestStatus& aStatus,
604 TRemConCoreApiButtonAction aButtonAct);
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
611 @param aButtonAct The button action to send.
613 IMPORT_C void Subpicture(TRequestStatus& aStatus,
615 TRemConCoreApiButtonAction aButtonAct);
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
622 @param aButtonAct The button action to send.
624 IMPORT_C void PausePlayFunction(TRequestStatus& aStatus,
626 TRemConCoreApiButtonAction aButtonAct);
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
633 @param aButtonAct The button action to send.
635 IMPORT_C void RestoreVolumeFunction(TRequestStatus& aStatus,
637 TRemConCoreApiButtonAction aButtonAct);
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
649 @param aButtonAct The button action to send.
651 IMPORT_C void TuneFunction(TRequestStatus& aStatus,
656 TRemConCoreApiButtonAction aButtonAct);
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
663 @param aButtonAct The button action to send.
664 @param aDisk The disk to select.
666 IMPORT_C void SelectDiskFunction(TRequestStatus& aStatus,
669 TRemConCoreApiButtonAction aButtonAct);
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
676 @param aButtonAct The button action to send.
677 @param aAvInputSignalNumber AV input signal.
679 IMPORT_C void SelectAvInputFunction(TRequestStatus& aStatus,
681 TUint8 aAvInputSignalNumber,
682 TRemConCoreApiButtonAction aButtonAct);
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
689 @param aButtonAct The button action to send.
690 @param aAudioInputSignalNumber Audio input signal.
692 IMPORT_C void SelectAudioInputFunction(TRequestStatus& aStatus,
694 TUint8 aAudioInputSignalNumber,
695 TRemConCoreApiButtonAction aButtonAct);
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
702 @param aButtonAct The button action to send.
704 IMPORT_C void F1(TRequestStatus& aStatus,
706 TRemConCoreApiButtonAction aButtonAct);
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
713 @param aButtonAct The button action to send.
715 IMPORT_C void F2(TRequestStatus& aStatus,
717 TRemConCoreApiButtonAction aButtonAct);
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
724 @param aButtonAct The button action to send.
726 IMPORT_C void F3(TRequestStatus& aStatus,
728 TRemConCoreApiButtonAction aButtonAct);
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
735 @param aButtonAct The button action to send.
737 IMPORT_C void F4(TRequestStatus& aStatus,
739 TRemConCoreApiButtonAction aButtonAct);
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
746 @param aButtonAct The button action to send.
748 IMPORT_C void F5(TRequestStatus& aStatus,
750 TRemConCoreApiButtonAction aButtonAct);
755 @param aInterfaceSelector The interface selector.
756 @param aObserver The observer of this interface.
758 CRemConCoreApiController(CRemConInterfaceSelector& aInterfaceSelector,
759 MRemConCoreApiControllerObserver& aObserver);
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.
769 void SendGenericCommand(TRequestStatus& aStatus,
771 TRemConCoreApiButtonAction aButtonAct,
772 TRemConCoreApiOperationId aOperationId);
774 private: // from CRemConInterfaceBase
775 TAny* GetInterfaceIf(TUid aUid);
777 private: // from MRemConInterfaceIf
778 void MrcibNewMessage(TUint aOperationId, const TDesC8& aData);
781 MRemConCoreApiControllerObserver& iObserver;
784 TBuf8<KRemConCoreApiMaxOperationSpecificDataSize> iCmdData;
787 #endif // REMCONCOREAPICONTROLLER_H