diff -r 41a7f70b3818 -r 5266b1f337bd phoneengine/audiohandling/inc/cpeaudiodata.h --- a/phoneengine/audiohandling/inc/cpeaudiodata.h Tue Aug 31 15:14:29 2010 +0300 +++ b/phoneengine/audiohandling/inc/cpeaudiodata.h Wed Sep 01 12:30:10 2010 +0100 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2007 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" @@ -11,7 +11,7 @@ * * Contributors: * -* Description: This file contains the header file of the class CPEAudioData +* Description: This file contains the header file of the class CPEAudioData * which is the interface class for Audio Handling Module * */ @@ -23,12 +23,8 @@ // INCLUDES #include "mpeaudiodata.h" #include - + #include -#include -#include - - // CONSTANTS // None. @@ -41,8 +37,6 @@ // FUNCTION PROTOTYPES // None. -using namespace TMS; - // FORWARD DECLARATIONS class MPEPhoneModelInternal; class CPEAudioDtmfTonePlayer; @@ -50,23 +44,22 @@ class CPECallAudioRoutingHandler; class CPEAudioFactory; class CTelephonyAudioRouting; -class CPEAudioEffect; // CLASS DECLARATION /** -* This file contains the header file of the class CPEAudioData, -* which is an interface class to audio +* This file contains the header file of the class CPEAudioData, +* which is an interface class to audio * properties of the system * * @lib audiohandling.lib * @since S60_5.0 */ -class CPEAudioData : public CBase, - public MPEAudioData, - public TMSEffectObserver +class CPEAudioData: + public CBase, + public MPEAudioData { - + public: /** @@ -82,7 +75,7 @@ CPEAudioData( MPEPhoneModelInternal& aPhoneModel ); public: // from MPEAudioData - + /** * Retrieves Audio mute synchronously. * @param aAudioMute, audio mute is returned in this parameter. @@ -94,7 +87,7 @@ * @param aAudioVolume, audio volume is returned in this parameter. */ IMPORT_C void GetAudioVolumeSync( TInt& aAudioVolume ) const; - + /** * Makes synchronous request to set Audio Mute. * @param aAudioMute, mute to be set. @@ -113,42 +106,47 @@ * @param aShowNote, audio note status * @return KErrNone or possible errorcode. */ - IMPORT_C TInt SetAudioOutput( + IMPORT_C TInt SetAudioOutput( const TPEAudioOutput aOutput, TBool aShowNote ); - + /** - * Gets volume levels, audio mute, audio mode and audio volume + * Gets volume levels, audio mute, audio mode and audio volume * at startup and starts monitors. * @param None. * @return None. */ IMPORT_C void StartUp(); - + + /** + * Sets default volume level if muted when call ended + */ + IMPORT_C void SetDefaultVolume(); + /** * Handles call audio route preference changed */ IMPORT_C TInt CallAudioRoutePreferenceChanged(); - + /** * Initialises call audio route when call is alerting or answered */ IMPORT_C TInt HandleCallStarting( TBool aVideoCall ); - + /** * Initialises energency call audio route */ IMPORT_C TInt HandleEnergencyCallStarting(); - + /** * Ends call audio route when call disconnected */ IMPORT_C void HandleCallEnding(); - + public: // new - + /** - * Sends AudioHandlingError message to PhoneEngine and saves + * Sends AudioHandlingError message to PhoneEngine and saves * errorcode to member variable. * @param aErrorCode, errorcode that is saved to member variable. * @return None. @@ -160,7 +158,7 @@ * @param aMessage, message to be forwarded. * @return None. */ - void SendMessage( + void SendMessage( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage ); /** @@ -169,7 +167,7 @@ * @param aOutput, audio output path that is saved in member variable. * @return None. */ - void SendMessage( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, + void SendMessage( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, const CTelephonyAudioRouting::TAudioOutput aOutput ); /** @@ -178,87 +176,82 @@ * @param aOutput, audio output path that is saved in member variable. * @return None. */ - void SendMessage( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, + void SendMessage( const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage, CTelephonyAudioRouting& aTelephonyAudioRouting ); /** * Sets value of audio routing preference - */ + */ void SetRoutePreference( TBool aShowNote ); /** * Return value of audio routing preference */ CTelephonyAudioRouting::TAudioOutput RoutePreference(); - + /** * Return value of previous output - */ + */ CTelephonyAudioRouting::TAudioOutput PreviousOutput(); - + /** * Return value of current output - */ + */ CTelephonyAudioRouting::TAudioOutput Output(); - + /** * Return status of wired accessory availability */ TBool IsWiredAvailable(); - + /** * Return status of BT accessory availability - */ + */ TBool IsBTAvailable(); /** * Return status of TTY accessory availability - */ + */ TBool IsTTYAvailable(); - + /** * Set new audio route to TAR */ void SetTAROutput( CTelephonyAudioRouting::TAudioOutput aOutput, TBool aShowNote ); - - /** - * From TMSEffectObserver - */ - void EffectsEvent(const TMSEffect& tmseffect, TMSSignalEvent event); + protected: /** - * By default Symbian 2nd phase constructor is private, but we use + * By default Symbian 2nd phase constructor is private, but we use * it at generalized class. */ - void ConstructL( CPEAudioFactory& aAudioFactory ); + void ConstructL( CPEAudioFactory& aAudioFactory ); protected: // New functions - + /** - * Updates volume on DataStore and if aSendMsg==ETrue sends - * notification to engine monitor. + * Protected function for derived classes to implement for + * extended volume handling. Default implementation is empty. * @since S60 v5.0 * @param aVolume New volume value. - * @param aSendMsg ETrue will send notification. */ - virtual void DoHandleVolumeChange( TInt aVolume, TBool aSendMsg=EFalse ); - + virtual void DoHandleVolumeChange( TInt aVolume ); + private: - + /** - * Gets all audio volume value and update member variable + * Gets all audio volume values from reporitory and update member variables */ - void InitializeAudioVolume(); - - + void InitializeAudioVolumes(); + + /** * Makes request to Telephony Audio Routing to get available audio outputs * @return list of available outputs */ - TArray< TPEAudioOutput> GetAvailableOutputs( + TArray< TPEAudioOutput> GetAvailableOutputs( CTelephonyAudioRouting& aTelephonyAudioRouting ); /** @@ -268,11 +261,15 @@ /** * Converts PE route value to TAR value + */ + CTelephonyAudioRouting::TAudioOutput ConvertToTAR( TPEAudioOutput aOutput ); + /** + * Return status of mic mute */ - CTelephonyAudioRouting::TAudioOutput ConvertToTAR( TPEAudioOutput aOutput ); + TBool IsMuted() const; protected: - // CPhoneModel object which owns this object. + // CPhoneModel object which owns this object. MPEPhoneModelInternal& iPhoneModel; // Audio Routing Monitor CPEAudioRoutingMonitor* iAudioRoutingMonitor; @@ -284,10 +281,19 @@ RArray iPEavailableOutputs; //Flag to indicate whether is Call audio route initialized TBool iRouteInitialized; - - CPEAudioEffect* iAudioEffect; + #ifdef __WINSCW__ + // dummy implementation for WINSCW + TInt iVolume; + TBool iMute; + #endif + // HeadSet Mode Audio volume + TInt iHeadSetVolume; + // Loudspeaker Mode Audio volume + TInt iLoudspeakerVolume; + // ETrue when audio output changed + TBool iAudioOutputChanged; }; -#endif // CPEAUDIODATA_H - +#endif // CPEAUDIODATA_H + // End of File