williamr@2: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifndef REMCONCOREAPICONTROLLER_H williamr@2: #define REMCONCOREAPICONTROLLER_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: class MRemConCoreApiControllerObserver; williamr@2: class CRemConInterfaceSelector; williamr@2: williamr@2: /** williamr@2: Client-instantiable type supporting sending Core API commands. williamr@2: */ williamr@2: NONSHARABLE_CLASS(CRemConCoreApiController) : public CRemConInterfaceBase, williamr@2: public MRemConInterfaceIf williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Factory function. williamr@2: @param aInterfaceSelector The interface selector. The client must have williamr@2: created one of these first. williamr@2: @param aObserver The observer of this interface. williamr@2: @return A new CRemConCoreApiController, owned by the interface selector. williamr@2: */ williamr@2: IMPORT_C static CRemConCoreApiController* NewL(CRemConInterfaceSelector& aInterfaceSelector, williamr@2: MRemConCoreApiControllerObserver& aObserver); williamr@2: williamr@2: /** Destructor */ williamr@2: IMPORT_C ~CRemConCoreApiController(); williamr@2: williamr@2: public: williamr@2: /** Send a 'select' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Select(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Up(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Down(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'left' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Left(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'right' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Right(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'right up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void RightUp(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'right down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void RightDown(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'left up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void LeftUp(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'left down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void LeftDown(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'root menu' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void RootMenu(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'setup menu' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void SetupMenu(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'contents menu' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void ContentsMenu(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'favorite menu' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void FavoriteMenu(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'exit' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Exit(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '0' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _0(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '1' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _1(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '2' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _2(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '3' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _3(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '4'command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _4(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '5' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _5(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '6' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _6(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '7' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _7(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '8' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _8(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a '9' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void _9(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'dot' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Dot(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'enter' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Enter(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'clear' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Clear(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'channel up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void ChannelUp(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'channel down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void ChannelDown(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'previous channel' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void PreviousChannel(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'sound select' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void SoundSelect(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'input select' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void InputSelect(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'display information' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void DisplayInformation(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'help' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Help(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'page up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void PageUp(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'page down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void PageDown(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'power' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Power(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'volume up' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void VolumeUp(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'volume down' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void VolumeDown(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'mute' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Mute(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'play' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: @param aSpeed The play speed. williamr@2: */ williamr@2: IMPORT_C void Play(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct, williamr@2: TRemConCoreApiPlaybackSpeed aSpeed = ERemConCoreApiPlaybackSpeedX1); williamr@2: williamr@2: /** Send a 'stop' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Stop(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'pause' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Pause(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'record' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Record(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'rewind' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Rewind(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'fast forward' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void FastForward(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'eject' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Eject(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'forward' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Forward(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'backward' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Backward(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'angle' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Angle(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'subpicture' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void Subpicture(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'pause play function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void PausePlayFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'restore volume function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void RestoreVolumeFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'tune function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aTwoPart If EFalse, only aMajorChannel is being used to perform the williamr@2: tuning (aMinorChannel is ignored). Otherwise, both aMajorChannel and williamr@2: aMinorChannel are used. williamr@2: @param aMajorChannel The major channel number. williamr@2: @param aMinorChannel The minor channel number. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void TuneFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TBool aTwoPart, williamr@2: TUint aMajorChannel, williamr@2: TUint aMinorChannel, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'select disk function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: @param aDisk The disk to select. williamr@2: */ williamr@2: IMPORT_C void SelectDiskFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TUint aDisk, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'select AV input function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: @param aAvInputSignalNumber AV input signal. williamr@2: */ williamr@2: IMPORT_C void SelectAvInputFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TUint8 aAvInputSignalNumber, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send a 'select audio input function' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: @param aAudioInputSignalNumber Audio input signal. williamr@2: */ williamr@2: IMPORT_C void SelectAudioInputFunction(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TUint8 aAudioInputSignalNumber, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'F1' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void F1(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'F2' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void F2(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'F3' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void F3(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'F4' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void F4(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: /** Send an 'F5' command. williamr@2: Only one command per controller session can be outstanding at any one time. williamr@2: @param aStatus Used by RemCon to indicate completion of the send request. williamr@2: @param aNumRemotes On success, will contain the number of remotes the williamr@2: command was sent to. williamr@2: @param aButtonAct The button action to send. williamr@2: */ williamr@2: IMPORT_C void F5(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct); williamr@2: williamr@2: private: williamr@2: /** williamr@2: Constructor. williamr@2: @param aInterfaceSelector The interface selector. williamr@2: @param aObserver The observer of this interface. williamr@2: */ williamr@2: CRemConCoreApiController(CRemConInterfaceSelector& aInterfaceSelector, williamr@2: MRemConCoreApiControllerObserver& aObserver); williamr@2: williamr@2: private: // utility williamr@2: /** williamr@2: Utility to send a command with only the button action as operation-specific data. williamr@2: @param aStatus TRequestStatus for the send operation. williamr@2: @param aNumRemotes The number of remotes the command was sent to. williamr@2: @param aButtonAct The button action. williamr@2: @param aOperationId The operation ID. williamr@2: */ williamr@2: void SendGenericCommand(TRequestStatus& aStatus, williamr@2: TUint& aNumRemotes, williamr@2: TRemConCoreApiButtonAction aButtonAct, williamr@2: TRemConCoreApiOperationId aOperationId); williamr@2: williamr@2: private: // from CRemConInterfaceBase williamr@2: TAny* GetInterfaceIf(TUid aUid); williamr@2: williamr@2: private: // from MRemConInterfaceIf williamr@2: void MrcibNewMessage(TUint aOperationId, const TDesC8& aData); williamr@2: williamr@2: private: // unowned williamr@2: MRemConCoreApiControllerObserver& iObserver; williamr@2: williamr@2: private: // owned williamr@2: TBuf8 iCmdData; williamr@2: }; williamr@2: williamr@2: #endif // REMCONCOREAPICONTROLLER_H