sl@0: /* sl@0: * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: * All rights reserved. sl@0: * This component and the accompanying materials are made available sl@0: * under the terms of "Eclipse Public License v1.0" sl@0: * which accompanies this distribution, and is available sl@0: * at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: * sl@0: * Initial Contributors: sl@0: * Nokia Corporation - initial contribution. sl@0: * sl@0: * Contributors: sl@0: * sl@0: * Description: sl@0: * sl@0: */ sl@0: sl@0: sl@0: sl@0: #ifndef T_CTELEPHONYAUDIOROUTINGDATA_H_ sl@0: #define T_CTELEPHONYAUDIOROUTINGDATA_H_ sl@0: sl@0: //User includes sl@0: #include "datawrapperbase.h" sl@0: sl@0: //Epoc includes sl@0: #include //MTelephonyAudioRoutingObserver sl@0: #include //CTelephonyAudioRouting sl@0: /** sl@0: * This class tests the CTelephonyAudioRouting API's sl@0: */ sl@0: sl@0: class CT_CTelephonyAudioRoutingData : public CDataWrapperBase, public MTelephonyAudioRoutingObserver sl@0: { sl@0: public: sl@0: ~CT_CTelephonyAudioRoutingData(); sl@0: static CT_CTelephonyAudioRoutingData* NewL(); sl@0: virtual TAny* GetObject(); sl@0: virtual TBool DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex); sl@0: sl@0: private: sl@0: CT_CTelephonyAudioRoutingData(); sl@0: // void ConstructL(); sl@0: void DestroyData(); sl@0: sl@0: public: sl@0: /** sl@0: * From MAudioOutputObserver sl@0: */ sl@0: void AvailableOutputsChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/); sl@0: void OutputChanged( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/); sl@0: void SetOutputComplete( CTelephonyAudioRouting& /*aTelephonyAudioRouting*/, TInt aError); sl@0: sl@0: protected: sl@0: void DoCmdNewL(); sl@0: void DoCmdDestructor(); sl@0: void DoCmdAvailableOutputs(); sl@0: void DoCmdOutput(); sl@0: void DoCmdPreviousOutput(); sl@0: void DoCmdSetShowNote(const TTEFSectionName& aSection); sl@0: void DoCmdGetShowNote(); sl@0: void DoCmdSetOutputL(const TTEFSectionName& aSection); sl@0: sl@0: private: sl@0: /** sl@0: * Wrapped object sl@0: */ sl@0: CTelephonyAudioRouting* iTelephonyAudioRouting; sl@0: /** sl@0: * Current output configured sl@0: */ sl@0: CTelephonyAudioRouting::TAudioOutput iOutput; sl@0: /** sl@0: * Enum for output routing sl@0: */ sl@0: static const TEnumEntryTable iEnumOutput[]; sl@0: }; sl@0: sl@0: #endif /*T_CTELEPHONYAUDIOROUTING_H_*/