diff -r 1a6714c53019 -r cce62ebc198e radioengine/utils/inc/cradioremcontargetimp.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/radioengine/utils/inc/cradioremcontargetimp.h Tue Aug 31 15:15:02 2010 +0300 @@ -0,0 +1,109 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +#ifndef CRADIOREMCONTARGETIMP_H +#define CRADIOREMCONTARGETIMP_H + +// System includes +#include +#include + +// User includes +#include "cradioremcontarget.h" + +// Forward declarations +class CRemConCallHandlingTarget; +class CRemConCoreApiTarget; +class CRemConInterfaceSelector; + +// Class declaration + +/** + * Media key listener + */ +NONSHARABLE_CLASS( CRadioRemConTargetImp ) : public CRadioRemConTarget + , public MRemConCoreApiTargetObserver + , public MRemConCallHandlingTargetObserver + { +public: + + static CRadioRemConTargetImp* NewL(); + + virtual ~CRadioRemConTargetImp(); + +private: + +// from base class CRadioRemConTarget + + void SetControlEventObserver( MRadioControlEventObserver* aControlEventObserver ); + +// from base class MRemConCoreApiTargetObserver + + void MrccatoCommand( TRemConCoreApiOperationId aOperationId, TRemConCoreApiButtonAction aButtonAct ); + void MrccatoPlay( TRemConCoreApiPlaybackSpeed aSpeed, TRemConCoreApiButtonAction aButtonAct ); + void MrccatoTuneFunction( TBool aTwoPart, TUint aMajorChannel, TUint aMinorChannel, TRemConCoreApiButtonAction aButtonAct ); + void MrccatoSelectDiskFunction( TUint aDisk, TRemConCoreApiButtonAction aButtonAct ); + void MrccatoSelectAvInputFunction( TUint8 aAvInputSignalNumber, TRemConCoreApiButtonAction aButtonAct ); + void MrccatoSelectAudioInputFunction( TUint8 aAudioInputSignalNumber, TRemConCoreApiButtonAction aButtonAct ); + +// from base class MRemConCallHandlingTargetObserver + + void AnswerCall(); + void AnswerEndCall(); + void DialCall( const TDesC8& aTelNumber ); + void EndCall(); + void GenerateDTMF( const TChar aChar ); + void LastNumberRedial(); + void MultipartyCalling( const TDesC8& aData ); + void SpeedDial( const TInt aIndex ); + void VoiceDial( const TBool aActivate ); + +private: + + CRadioRemConTargetImp(); + + void ConstructL(); + + /** + * Callback for repeat timer. + * @param aPtr Pointer to this class. + */ + static TInt RepeatTimerCallback( TAny* aPtr ); + +private: // data + + /** Pointer to observer in UI side, can be NULL. Not owned. */ + MRadioControlEventObserver* iObserver; + + /** RemCon interface selector. */ + CRemConInterfaceSelector* iInterfaceSelector; + + /** RemCon Core API target class. */ + CRemConCoreApiTarget* iCoreTarget; + + /** RemCon Call API target class. */ + CRemConCallHandlingTarget* iCallTarget; + + /** Timer for generating repeat events. */ + CPeriodic* iRepeatTimer; + + /** Operation id to repeat. */ + TRemConCoreApiOperationId iRepeatId; + + }; + +#endif // CRADIOREMCONTARGETIMP_H