# HG changeset patch
# User hgs
# Date 1287136726 -10800
# Node ID baacf668fe89bc787a5310d9d1452ded22e38825
# Parent cfea66083b62e7b362699e2e5eb75bdeb402d82f
201041
diff -r cfea66083b62 -r baacf668fe89 package_definition.xml
--- a/package_definition.xml Mon Oct 04 16:06:10 2010 +0300
+++ b/package_definition.xml Fri Oct 15 12:58:46 2010 +0300
@@ -37,7 +37,7 @@
-
+
diff -r cfea66083b62 -r baacf668fe89 phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh
--- a/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh Mon Oct 04 16:06:10 2010 +0300
+++ b/phone_plat/phone_application_commands_api/inc/phoneappcommands.hrh Fri Oct 15 12:58:46 2010 +0300
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -84,9 +84,6 @@
EPhoneInCallCmdCancelSendingDtmfString,
EPhoneInCallCmdContinueSendingDtmfString,
EPhoneInCallCmdVoiceMode,
- EPhoneInCallCmdSendToCallerMenu,
- EPhoneInCallCmdSendNew,
- EPhoneInCallCmdSendFile,
EPhoneInCallCmdDrop,
EPhoneInCallCmdPrivate,
EPhoneInCallCmdDialer,
diff -r cfea66083b62 -r baacf668fe89 phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h
--- a/phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phone_plat/telephony_menu_extension_api/inc/xqteluicommandextension.h Fri Oct 15 12:58:46 2010 +0300
@@ -75,6 +75,10 @@
class ToolBarCommand
{
public:
+ ToolBarCommand() :
+ mCommandId(0), mIsEnabled(false) {}
+ ToolBarCommand(int command, bool isEnabled) :
+ mCommandId(command), mIsEnabled(isEnabled) {}
// Tool Bar command Id
int mCommandId;
@@ -82,6 +86,10 @@
// Is command enabled
bool mIsEnabled;
+ // Comparison operator
+ bool operator==(const ToolBarCommand& c)
+ { return ((c.mCommandId == mCommandId) &&
+ (c.mIsEnabled == mIsEnabled)); }
};
/*!
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/ut_mediatorfactory.mmp
--- a/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/ut_mediatorfactory.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorfactory/group/ut_mediatorfactory.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -57,3 +57,4 @@
LIBRARY euser.lib
LIBRARY phoneuiutils.lib
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/T_MediatorMessageFactory.mmp
--- a/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/T_MediatorMessageFactory.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatormessagefactory/group/T_MediatorMessageFactory.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -51,4 +51,4 @@
LIBRARY EUnitUtil.lib
LIBRARY euser.lib
-
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/T_MediatorSender.mmp
--- a/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/T_MediatorSender.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonemediatorcenter/tsrc/ut_mediatorsender/group/T_MediatorSender.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -53,3 +53,5 @@
LIBRARY EUnitUtil.lib
LIBRARY euser.lib
LIBRARY phoneuiutils.lib
+
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/bwins/phoneringingtoneplayeru.def
--- a/phoneapp/phoneringingtoneplayer/bwins/phoneringingtoneplayeru.def Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/bwins/phoneringingtoneplayeru.def Fri Oct 15 12:58:46 2010 +0300
@@ -1,7 +1,7 @@
EXPORTS
- ?StopPlaying@CPhoneRingingToneController@@QAEXXZ @ 1 NONAME ; void CPhoneRingingToneController::StopPlaying(void)
- ?PlayRingToneL@CPhoneRingingToneController@@QAEXPAVTPhoneCommandParam@@@Z @ 2 NONAME ; void CPhoneRingingToneController::PlayRingToneL(class TPhoneCommandParam *)
- ?NewL@CPhoneRingingToneController@@SAPAV1@XZ @ 3 NONAME ; class CPhoneRingingToneController * CPhoneRingingToneController::NewL(void)
- ?MuteRingingToneOnAnswer@CPhoneRingingToneController@@QAEXXZ @ 4 NONAME ; void CPhoneRingingToneController::MuteRingingToneOnAnswer(void)
- ?MuteRingingTone@CPhoneRingingToneController@@QAEXXZ @ 5 NONAME ; void CPhoneRingingToneController::MuteRingingTone(void)
+ ?StopPlayingL@RPhoneToneClient@@QAEXXZ @ 1 NONAME ; void RPhoneToneClient::StopPlayingL(void)
+ ??0RPhoneToneClient@@QAE@XZ @ 2 NONAME ; RPhoneToneClient::RPhoneToneClient(void)
+ ?Connect@RPhoneToneClient@@QAEHXZ @ 3 NONAME ; int RPhoneToneClient::Connect(void)
+ ??1RPhoneToneClient@@QAE@XZ @ 4 NONAME ; RPhoneToneClient::~RPhoneToneClient(void)
+ ?PlayRingingToneL@RPhoneToneClient@@QAEXPAVTPhoneCommandParam@@@Z @ 5 NONAME ; void RPhoneToneClient::PlayRingingToneL(class TPhoneCommandParam *)
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/eabi/phoneringingtoneplayeru.def
--- a/phoneapp/phoneringingtoneplayer/eabi/phoneringingtoneplayeru.def Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/eabi/phoneringingtoneplayeru.def Fri Oct 15 12:58:46 2010 +0300
@@ -1,11 +1,9 @@
EXPORTS
- _ZN27CPhoneRingingToneController11StopPlayingEv @ 1 NONAME
- _ZN27CPhoneRingingToneController13PlayRingToneLEP18TPhoneCommandParam @ 2 NONAME
- _ZN27CPhoneRingingToneController15MuteRingingToneEv @ 3 NONAME
- _ZN27CPhoneRingingToneController23MuteRingingToneOnAnswerEv @ 4 NONAME
- _ZN27CPhoneRingingToneController4NewLEv @ 5 NONAME
- _ZTI17CPhoneAudioPlayer @ 6 NONAME ; ##
- _ZTI17CPhoneRingingTone @ 7 NONAME ; ##
- _ZTV17CPhoneAudioPlayer @ 8 NONAME ; ##
- _ZTV17CPhoneRingingTone @ 9 NONAME ; ##
+ _ZN16RPhoneToneClient12StopPlayingLEv @ 1 NONAME
+ _ZN16RPhoneToneClient16PlayRingingToneLEP18TPhoneCommandParam @ 2 NONAME
+ _ZN16RPhoneToneClient7ConnectEv @ 3 NONAME
+ _ZN16RPhoneToneClientC1Ev @ 4 NONAME
+ _ZN16RPhoneToneClientC2Ev @ 5 NONAME
+ _ZN16RPhoneToneClientD1Ev @ 6 NONAME
+ _ZN16RPhoneToneClientD2Ev @ 7 NONAME
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/group/bld.inf
--- a/phoneapp/phoneringingtoneplayer/group/bld.inf Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/group/bld.inf Fri Oct 15 12:58:46 2010 +0300
@@ -22,7 +22,7 @@
DEFAULT
PRJ_EXPORTS
-../rom/phoneringingtoneplayer_stub.sis /epoc32/data/z/system/install/phoneringingtoneplayer_stub.sis
+
PRJ_MMPFILES
phoneringingtoneplayer.mmp
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp
--- a/phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneringingtoneplayer/group/phoneringingtoneplayer.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -18,13 +18,11 @@
#include
// Capability assignment.
-CAPABILITY ALL -TCB
+CAPABILITY ALL -TCB
// Assign Vendor ID.
VENDORID VID_DEFAULT
-VERSION 10.0
-
TARGET phoneringingtoneplayer.dll
TARGETTYPE dll
UID 0x1000008d 0x2002134E
@@ -32,11 +30,10 @@
SOURCEPATH ../src
-SOURCE cphoneaudioplayer.cpp
-SOURCE cphoneringingtone.cpp
-SOURCE cphoneringingtonecontroller.cpp
-SOURCE cphoneringingtoneplayer.cpp
-SOURCE cphonettsplayer.cpp
+SOURCE cphonetoneserver.cpp
+SOURCE rphonetoneclient.cpp
+SOURCE cphonetoneserversession.cpp
+SOURCE cphonetoneserverplaybackcontroller.cpp
/* Languages */
LANG SC
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphoneaudioplayer.h
--- a/phoneapp/phoneringingtoneplayer/inc/cphoneaudioplayer.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* 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 CPHONEAUDIOPLAYER_H
-#define CPHONEAUDIOPLAYER_H
-
-// System includes
-#include
-#include
-#include
-
-// Forward declarations
-class MPhoneAudioPlayerObserver;
-class C3DRingingToneInterface;
-class CPhoneRingingTone;
-class CAudioOutput;
-
-/**
-* Audio player for playing audio sample or tone file.
-*
-* @since 1.0
-*/
-class CPhoneAudioPlayer :
- public CBase,
- private MMdaAudioPlayerCallback,
- private MMdaAudioToneObserver
- {
- public:
-
- enum TAudioPlayerStatus
- {
- EToneLoading,
- EToneReady,
- ETonePlaying
- };
-
- enum TRingingType
- {
- ETypeRinging,
- ETypeRingingOnce,
- ETypeAscending
- };
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aRingingTone The ringing tone
- * @param aPriority The priority for the playing
- * @param aPreference The preference value
- * @param aObserver Audio player observer
- * @param aId The id of this audio player
- * @param aMdaServer The reference to media server
- * @param aExtSecNeeded ETrue if DRM extend security is needed
- * @return The instance of the audio player.
- */
- static CPhoneAudioPlayer* NewL(
- const CPhoneRingingTone& aRingingTone,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId = 0,
- CMdaServer* aMdaServer = NULL,
- TBool aExtSecNeeded = EFalse );
-
- /**
- * Two-phased constructor.
- * @param aRingingTone The ringing tone
- * @param aPriority The priority for the playing
- * @param aPreference The preference value
- * @param aObserver Audio player observer
- * @param aId The id of this audio player
- * @param aMdaServer The reference to media server
- * @param aExtSecNeeded ETrue if DRM extend security is needed
- * @return The instance of the audio player. NULL if the function fails.
- */
- static CPhoneAudioPlayer* New(
- const CPhoneRingingTone& aRingingTone,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId = 0,
- CMdaServer* aMdaServer = NULL,
- TBool aExtSecNeeded = EFalse );
-
- /**
- * Two-phased constructor.
- * @param aFileName The ringing tone file name.
- * @param aPriority The priority for the playing
- * @param aPreference The preference value
- * @param aObserver Audio player observer
- * @param aId The id of this audio player
- * @param aMdaServer The reference to media server
- * @param aExtSecNeeded ETrue if DRM extend security is needed
- * @return The instance of the audio player.
- */
- static CPhoneAudioPlayer* NewL(
- const TDesC& aFileName,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId = 0,
- CMdaServer* aMdaServer = NULL,
- TBool aExtSecNeeded = EFalse );
-
- /**
- * Two-phased constructor, take audio from descriptor.
- *
- * @param aSequence sequence to be played.
- * @param aPriority priority of tone.
- * @param aPreference preference of tone.
- * @param aObserver observer.
- * @param aId identifier, used in observer interface
- * calls.
- * @param aMdaServer The reference to media server
- */
- static CPhoneAudioPlayer* NewSeqL(
- const TDesC8& aSequence,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId = 0,
- CMdaServer* aMdaServer = NULL );
-
- /**
- * Two-phased constructor, takes Text-To-Speech text to be played.
- * @since Series 60 3.0
- * @param aText Text to be pronounced.
- * @param aPriority priority of tone.
- * @param aPreference preference of tone.
- * @param aObserver observer.
- * @param aId identifier, used in observer interface
- * calls.
- */
- static CPhoneAudioPlayer* NewTtsL(
- const TDesC& aText,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId = 0);
-
- /**
- * Destructor.
- */
- ~CPhoneAudioPlayer();
-
- public: // new function
-
- /**
- * Play the audio file or tone
- * @param aRingingType
- * @param aVolume take value from 1 to 10
- * @param aTTsToBePlayed
- */
- void Play(
- TRingingType aRingType,
- TInt aVolume,
- TBool aTTsToBePlayed );
-
- /**
- * Stop current file playing
- */
- void StopPlaying();
-
-
- /**
- * Sets new volumes and ramptimes.
- * @param aVolume -volume to be set
- * @param aRamptime -ramptime to be set.
- */
- void SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime );
-
- /**
- * Re starts playing.
- */
- void ReStartPlaying();
- /**
- * Enable or disable TTs playing.
- * @param aTTsToBePlayed
- */
- void SetTTsToBePlayed( TBool aTTsToBePlayed );
-
- /**
- * Sets volume level to zero.
- * @since Series 60 3.1
- */
- void MutePlaying();
-
-
- private: //from base class
-
- /**
- * from MMdaAudioPlayerCallback
- */
- virtual void MapcInitComplete(
- TInt aError,
- const TTimeIntervalMicroSeconds& aDuration );
-
- /**
- * from MMdaAudioPlayerCallback
- */
- virtual void MapcPlayComplete( TInt aError );
-
- /**
- * from MMdaAudioToneObserver
- */
- virtual void MatoPrepareComplete(TInt aError);
-
- /**
- * from MMdaAudioToneObserver
- */
- virtual void MatoPlayComplete(TInt aError);
-
- private:
-
- enum TAudioDataFormat
- {
- EFormatTone,
- EFormatSample,
- EFormatTts // Text-To-Speech
- };
-
- /**
- * C++ constructor.
- */
- CPhoneAudioPlayer(
- TAudioDataFormat aDataFormat,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aPriority,
- TUint aPreference,
- TInt aId );
-
- /**
- * Symbian OS constructor.
- */
- void ConstructL(
- const TDesC& aFileName, CMdaServer* aMdaServer );
-
- /**
- * Symbian OS constructor.
- */
- void ConstructSeqL(
- const TDesC8& aSequence,
- CMdaServer* aMdaServer );
-
- /**
- * Symbian OS constructor for the Text-To-Speech option
- * @since Series 60 3.0
- */
- void ConstructTtsL(
- const TDesC& aTtsText,
- TInt aPriority,
- TUint aPreference );
-
- /**
- * Do the playing stuff
- */
- void DoPlay();
-
- /**
- * Ser tinging type properties
- */
- void SetRingingTypeProperties();
-
- /**
- * Call back function for timer
- */
- static TInt TimerCallBack( TAny* aAny );
-
- /**
- * Handle timer events
- */
- void HandleTimerEvent();
-
- /*
- * Convert volume to the scale used by hardware
- * @param aVolume volume to be altered
- * @return TInt new volume
- */
- TInt ConvertVolume( TInt aVolume );
-
- private: // Data
-
- // The format of audio data, audio sample file or tone file
- TAudioDataFormat iFormat;
-
- // Observer for error handling
- MPhoneAudioPlayerObserver& iObserver;
-
- // Priority. It's only used in playing tone file
- const TInt iPriority;
- // Preference. Only used for tone file
- const TUint iPreference;
-
- // Identifier number
- TInt iId;
-
- // Player for tone file.
- CMdaAudioToneUtility* iTonePlayer;
-
- // Player for audio file.
- CMdaAudioPlayerUtility* iSamplePlayer;
-
- // Player for the Text-To-Speech texts
- CMdaAudioPlayerUtility* iTtsPlayer;
-
- // The status of the player
- TAudioPlayerStatus iPlayerStatus;
-
- // How does the file played. It's only used if the player
- // is playing the file
- TRingingType iRingType;
-
- // Volume
- TInt iVolume;
-
- // For ascending and descending used for set current volume
- TInt iCurrentVolume;
-
- // Used by sample player
- TBool iToBePlaying;
-
- // Store for sequence.
- HBufC8* iSequence;
-
- // Store for the TTS source string
- HBufC8* iTtsText;
-
- // 3D Audio ringing tone plugin
- C3DRingingToneInterface* i3DPlugin;
-
- // Flag to indicate whether we need to play TTs or not
- TBool iTTsToBePlayed;
-
- // Ringingtone output
- CAudioOutput* iAudioOutput;
- };
-
-#endif // CPHONEAUDIOPLAYER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphoneringingtone.h
--- a/phoneapp/phoneringingtoneplayer/inc/cphoneringingtone.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* 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 CPHONERINGINGTONE_H
-#define CPHONERINGINGTONE_H
-
-// INCLUDES
-#include
-#include
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Ringing tone
-* Wrapper for file name. In addtion, provides methods
-* for ringing tone type identification.
-*
-* @lib Phone.app
-* @since Series 60 3.1
-*/
-class CPhoneRingingTone : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aFileName Ringing tone file name with path.
- * @param aDrmInPlayback ETrue to use IsFileDrmProtected().
- */
- static CPhoneRingingTone* NewL(
- const TDesC& aFileName,
- TBool aDrmInPlayback = EFalse );
-
- /**
- * Destructor.
- */
- virtual ~CPhoneRingingTone();
-
- public: // New functions
-
-
- /**
- * Sets the file name including path.
- * @since Series 60 3.1
- * @param aFileName file name plus path.
- */
- void SetFileName( const TDesC& aFileName );
-
- /**
- * Returns file name including path.
- * @since Series 60 3.1
- * @return File name.
- */
- const TDesC& FileName() const;
-
- /**
- * Returns MIME type.
- * @since Series 60 3.1
- * @return MIME type.
- */
- const TDesC& MimeType() const;
-
- /**
- * Checks if video ringing tone.
- * @since Series 60 3.1
- * @return ETrue if video ringing tone.
- */
- TBool IsVideoRingingTone();
-
- /**
- * Checks if the file is a DCF file.
- * @since Series 60 3.1
- * @return ETrue if files is DRM protected.
- */
- TBool IsFileDrmProtected() const;
-
- /**
- * Checks if the file is in ROM.
- * @since Series 60 3.1
- */
- TBool IsFileInRom() const;
-
- /**
- * Set profile's ringing type
- * @since Series 60 5.0
- */
- void SetRingingType( TProfileRingingType aRingingType);
-
- /**
- * Return ringing type of current ringingtone
- * @since Series 60 5.0
- */
- TProfileRingingType RingingType() const;
-
- /**
- * Set profile's ringingtone volume
- * @since Series 60 5.0
- */
- void SetVolume( const TInt aVolume );
-
- /**
- * Return volume of current ringingtone
- * @since Series 60 5.0
- */
- TInt Volume() const;
-
- /**
- * Set profile's TTS value
- * @since Series 60 5.0
- */
- void SetTtsToneToBePlayed( TBool aTtsToneToBePlayed );
-
- /**
- * Return TTS status of current profile
- * @since Series 60 5.0
- */
- TBool TtsToneToBePlayed() const;
-
- /**
- * Checks if ringing tone file's size is larger than the size limit.
- * If size limit is exceeded, default tone is played instead.
- * @since 3.1
- * @param aRingingTone Tone to check.
- * @return EFalse if the limit was exceeded and thus default tone played.
- * ETrue if tone file's size was valid and the checked tone
- * can be played.
- */
- TBool CheckAndHandleToneSizeLimit();
-
- /**
- * Checks if ringing tone file's size is larger than the size limit.
- * @since 3.1
- * @param aFile File to check.
- * aSizeLimitKB the size limit in kB is set to this variable.
- * @return KErrNone if the file can be used as a ringing tone.
- * KErrTooBig if the file size limit is exceeded.
- * Other error value if error happened during size checking.
- */
- TInt CheckToneFileSize( const TDesC& aFile, TInt aSizeLimitKB );
-
- /**
- * Reads from central repository the file size limit of following tones:
- * -contact's personal ringing tone
- * -voice call line1
- * -voice call line2
- * Value 0 means all sizes are allowed.
- * @since 3.1
- * @return leaves on error.
- */
- void GetMaxToneFileSize();
-
- private:
-
- /**
- * Refresh MIME type. This must be called
- * before using MimeType().
- */
- TInt RefreshMime();
-
- /**
- * Refresh MIME type.
- */
- void RefreshMimeL();
-
- /**
- * Checks if file is located in video directory.
- */
- TBool IsFileInVideoDirectory() const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CPhoneRingingTone( TBool aDrmInPlayback );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( const TDesC& aFileName );
-
- private: // Data
-
- // File name with path
- HBufC* iFileName;
-
- // MIME type
- HBufC* iMimeType;
-
- // Extended security
- TBool iDrmInPlayback;
-
- TProfileRingingType iRingingType;
-
- TInt iVolume;
-
- // Voice call ringing tone file size max value.
- TInt iToneFileSizeLimitKB;
-
- TBool iTtsToneToBePlayed;
- };
-
-#endif // CPHONERINGINGTONE_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphoneringingtonecontroller.h
--- a/phoneapp/phoneringingtoneplayer/inc/cphoneringingtonecontroller.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* 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 CPHONERINGINGTONECONTROLLER_H
-#define CPHONERINGINGTONECONTROLLER_H
-
-// INCLUDES
-#include
-#include
-#include "mphoneaudioplayerobserver.h"
-#include "mphonevideoplayerobserver.h"
-#include "mphonecoveruiobserver.h"
-#include "cphoneaudioplayer.h"
-#include "mphonetimer.h"
-#include "mphonevideoplayer.h"
-#include "cphonemediatorsender.h"
-
-// FORWARD DECLARATIONS
-//class MPhoneRingingToneObserver;
-class CPhoneAudioPlayer;
-class CPhoneRingingtonePlayer;
-class CPhoneTTSPlayer;
-class MPhoneDisplayProvider;
-class CPhoneRingingTone;
-class TPhoneCommandParam;
-
-// CLASS DECLARATION
-
-/**
-* It implements ringing tone functionality.
-* Note that when issuing Play-command to audio side, ALWAYS set the tone type
-* before the Play() is called. This is to ensure that correct tone is tried to
-* be played.
-*
-* @since 1.0
-*/
-NONSHARABLE_CLASS(CPhoneRingingToneController) :
- public CBase,
- private MPhoneVideoPlayerObserver,
- private MPhoneCoverUiObserver
- {
- public:
- // States for this active object
- enum TState
- {
- EIdleState,
- EDeletingAudioPlayer,
- EDeletingVideoPlayer,
- EPlayingDefaultVideo
- };
-
- public:
-
- /**
- * Two-phased constructor.
- * @return new instance.
- */
- IMPORT_C static CPhoneRingingToneController* NewL();
-
- /**
- * Destructor.
- */
- ~CPhoneRingingToneController();
-
- /**
- * Play ring tone
- * @param aCommandParam a command param
- */
- IMPORT_C void PlayRingToneL( TPhoneCommandParam *aCommandParam );
-
- /**
- * Stops playing the ringing tone.
- * Method does not do anything if ringing tone is not playing.
- */
- IMPORT_C void StopPlaying();
-
- /**
- * Continues video playback ( and ringing tone ) with volume 0
- * Stream not closed ( If music player was ongoing )
- */
- IMPORT_C void MuteRingingToneOnAnswer();
-
- /**
- * Continues video playback with muted audio.
- * Ringing tone is stopped.
- */
- IMPORT_C void MuteRingingTone();
-
-
- /**
- * Sets video player.
- * @since Series 60 v3.2
- * @param aVideoPlayer Video player reference.
- */
- void SetVideoPlayer( MPhoneVideoPlayer* aVideoPlayer );
-
- /**
- * Play video ring tone.
- * @since Series 60 3.1
- * @param aRingingTone Ringing tone to be played.
- * @param aVolume Volume used to play the ringing tone.
- * @param aRingingType Ringing type.
- */
- void PlayVideoRingingTone(
- const CPhoneRingingTone& aRingingTone,
- TInt aVolume,
- TProfileRingingType aRingingType,
- TBool aPersonalTone = EFalse );
-
- /**
- * Checks if extended security required.
- * @since Series 60 3.1
- * @return ETrue if extended security is required.
- */
- TBool ExtendedSecurity() const;
-
-
- /**
- * Command when necessary Cover UI to play video ringing tone.
- * return ETrue if Cover ui handle video ringing tone playing.
- * return EFalse if Phone must handle video ringing tone playing.
- */
- TBool CoverUIPlayVideoRingingToneL(
- const CPhoneRingingTone& aRingingTone );
-
- /**
- * This function is called when Mediator receives response to the sent
- * ShowMultiMediaRingingTone command.
- * @param aStatus - Standard Symbian error code indicating the
- * success of the command.
- */
- void ShowMultimediaRingingToneResponseL( TInt aStatus );
-
- private: // from MPhoneVideoPlayerObserver
-
- /**
- * HandleVideoPlayerError
- */
- virtual void HandleVideoPlayerError(
- TPhoneVideoPlayerErrorEvent aEvent,
- TInt aError );
-
- /**
- * HandleVideoPlayerInitComplete
- */
- virtual void HandleVideoPlayerInitComplete();
-
- /**
- * HandleVideoPlayerPlayingComplete
- */
- virtual void HandleVideoPlayerPlayingComplete();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CPhoneRingingToneController();
-
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL();
-
-
- /**
- * Convert ringing type from PhoneAppEnging to the ringing type in
- * MPhoneVideoPlayer.
- * @since Series 60 3.1
- * @param aRingingType the ringing type form PhoneAppEngine.
- * @return ringing type of MPhoneVideoPlayer.
- */
- MPhoneVideoPlayer::TPlayMode ConvertVideoRingingType(
- TProfileRingingType aRingingType );
-
-
- /**
- * Plays default L1 or L2 video ring tone asynchronously.
- * @since Series 60 3.1
- */
- void PlayDefaultVideoAsync();
-
- /**
- * Deletes video player and plays default L1 or L2
- * tone asynchronously.
- * @since Series 60 3.1
- */
- void DeleteVideoPlayerAndPlayDefaultAsync();
-
- /**
- * Mutes the ringing tone.
- */
- void DoMuteRingingTone();
-
- /**
- * Play audio ring tone
- */
- void PlayAudioRingTone(
- TInt aVolume,
- TProfileRingingType aRingingType );
-
-
- private: // Data
-
- // Audio/Video tone
- CPhoneRingingTone* iAudioVideoRingingTone;
-
- // Volume for backup tone playing.
- TInt iVolume;
-
- // Ringing type for backup tone playing.
- TProfileRingingType iRingingType;
-
- // Video ringing tone player
- MPhoneVideoPlayer* iVideoPlayer;
-
- // Pointer to Mediator Sender
- CPhoneMediatorSender* iMediatorSender;
-
- // Active Cover UI command EPhoneCoverUiShowMultimediaRingingTone
- TBool iActiveCoverUICommand;
-
- // Flag. Indicates video scaling capability of the device.
- TBool iArbitraryVideoScaling;
-
- CPhoneRingingtonePlayer* iRingingtonePlayer;
-
- CPhoneTTSPlayer* iTTSPlayer;
-
- };
-
-#endif // CPHONERINGINGTONECONTROLLER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphoneringingtoneplayer.h
--- a/phoneapp/phoneringingtoneplayer/inc/cphoneringingtoneplayer.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
-* 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 CPHONERINGINGTONEPLAYER_H_
-#define CPHONERINGINGTONEPLAYER_H_
-
-// System includes
-#include
-#include
-
-// User includes
-#include "mphoneaudioplayerobserver.h"
-#include "cphoneaudioplayer.h"
-#include "mphonevideoplayer.h"
-#include "mphonecenrepobserver.h"
-#include "mphonetimer.h"
-
-// Forward declarations
-class CPhoneTimer;
-class CPhoneRingingTone;
-
-
-NONSHARABLE_CLASS(CPhoneRingingtonePlayer) : public CActive,
- public MPhoneAudioPlayerObserver,
- public MPhoneCenRepObserver,
- private MPhoneTimer
- {
-public:
- CPhoneRingingtonePlayer();
- virtual ~CPhoneRingingtonePlayer();
-
-
- /**
- * Two-phased constructor.
- * @return new instance.
- */
- static CPhoneRingingtonePlayer* NewL();
-
- /**
- * Playing ringing tone based on profile.
- * @param aAudioVideoRingingTone
- */
- void PlayProfileBasedTone( CPhoneRingingTone* aAudioVideoRingingTone );
-
- /**
- * Playing the Beep once.
- * @param aVolume volume used to play the ringing tone.
- */
- void PlayBeepOnce( TInt aVolume );
-
- /**
- * Play silent tone. No_sound.wav will be played. If vibration alert
- * is ON, it will vibrate.
- */
- void PlaySilentTone();
-
- /**
- * Play video ring tone.
- * @since Series 60 3.1
- * @param aRingingTone Ringing tone to be played.
- * @param aVolume Volume used to play the ringing tone.
- * @param aRingingType Ringing type.
- */
- void PlayVideoRingingTone(
- const CPhoneRingingTone& aRingingTone,
- TInt aVolume,
- TProfileRingingType aRingingType,
- TBool aPersonalTone = EFalse );
-
- /**
- * Play default tone.
- * @param aVolume volume used for the playing.
- * @param aRingingType ringing type.
- */
- void PlayDefaultTone(
- TInt aVolume,
- TProfileRingingType aRingingType );
-
- /**
- * Play backup tone.
- * @param aVolume volume used for the playing.
- * @param aRingingType ringing type.
- */
- void PlayBackupTone(
- TInt aVolume,
- TProfileRingingType aRingingType );
-
- /**
- * Stops playing the ringing tone.
- * Method does not do anything if ringing tone is not playing.
- */
- void StopPlaying();
-
- /**
- * Enumerates identifiers for each player:
- * EPlayerAudio - audio
- * EPlayerBeepOnce - beep once
- * EPlayerSilent - silent
- * EPlayerDefault - default
- * EPlayerBackup - backup
- *
- * EPlayerFirst and EPlayerLast are alias
- * to other identifiers.
- * EPlayerFirst - first player
- * EPlayerLast - last player
- */
- enum TPlayerId
- {
- EPlayerFirst,
- EPlayerAudio = EPlayerFirst,
- EPlayerBeepOnce,
- EPlayerSilent,
- EPlayerDefault,
- EPlayerBackup,
- EPlayerTts,
- EPlayerLast = EPlayerTts,
- EPlayerCount
- };
-
- CPhoneAudioPlayer* GetCurrentlyActiveAudioPlayer();
-
- void MuteActiveAudioPlayer();
-
-public: // From MPhoneCenRepObserver
-
- /**
- * Handle the change of the setting from Central Repository
- * @param aUid identifing the central repository UID.
- * @param aId central repository ID.
- */
- virtual void HandleCenRepChangeL(
- const TUid& aUid,
- const TUint aId );
-
-
-
-private:
-
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL();
-
-private: // CActive
-
- /**
- * @see CActive::RunL.
- */
- void RunL();
-
- /**
- * @see CActive::DoCancel.
- */
- void DoCancel();
-
-private: // from MPhoneAudioPlayerObserver
- /**
- * Handle the error of audio file player.
- */
- virtual void HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent aEvent,
- TInt aError,
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
- /**
- * Handle audio player initialize complete.
- */
- virtual void HandleAudioPlayerInitComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
- /**
- * Handle auido file playing complete successfully.
- */
- virtual void HandlePlayingComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
-private:
-
- /**
- * @see MPhoneTimer
- */
- virtual void HandleTimeOutL();
-
-private:
-
-
- // Indicate which tone is playing or need to be played:
- // EIdle - idle,
- // EAudioTonePlaying - audio playing,
- // EBeepOnce - beep once playing,
- // ESilentTonePlaying - silent tone playing,
- // EDefaultTonePlaying - default tone playing,
- // EBackupTonePlaying - backup tone playing,
- // EVideoTonePlaying - playing video ringing tone
- // ESilentVideoTonePlaying - silent playing video ringing tone
- // EPersonalVideoTonePlaying - personal playing video ringing tone
- enum TTonePlayingStatus
- {
- EIdle,
- EAudioTonePlaying,
- EBeepOnce,
- ESilentTonePlaying,
- EDefaultTonePlaying,
- EBackupTonePlaying,
- EVideoTonePlaying,
- ESilentVideoTonePlaying,
- EPersonalVideoTonePlaying
- };
-
- // States for this active object
- enum TState
- {
- EIdleState,
- EDeletingAudioPlayer,
- EDeletingVideoPlayer,
- EPlayingDefaultVideo
- };
-
- /**
- * Deletes player asynchronoysly.
- * @param aPlayer player to be deleted.
- */
- void DeletePlayerAsync(
- TPlayerId aPlayer );
-
- /**
- * Construct sequence players.
- * @param aPlayer player to be constructed.
- */
- void ConstructSequencePlayer(
- TPlayerId aPlayer );
-
- /**
- * Construct sequence players.
- * @param aPlayer player to be constructed.
- */
- void ConstructSequencePlayerL(
- TPlayerId aPlayer );
-
- /**
- * Construct backup tone player.
- */
- TInt ConstructBackupPlayer();
-
-
- /**
- * Construct media server and backup tone player.
- */
- void ConstructBackupPlayerL();
-
- /**
- * Default ringingtone from profile engine.
- */
- void ConstructDefaultPlayerL();
-
- /**
- * Do construct tone.
- * @param aRingingTone Ringing tone.
- * @return The instance of the player. NULL is returned if it's failed.
- */
- CPhoneAudioPlayer* ConstructTonePlayer(
- const CPhoneRingingTone& aRingingTone,
- TInt aId );
-
- /**
- * Convert ringing type from PhoneAppEnging to the ringing type in
- * CPhoneAudioPlayer.
- * @param aRingingType the ringing type form PhoneAppEngine.
- * @return ringing type of CPhoneAudioPlayer.
- */
- CPhoneAudioPlayer::TRingingType ConvertRingingType(
- TProfileRingingType aRingingType );
-
- /**
- * Convert ringing type from PhoneAppEnging to the ringing type in
- * MPhoneVideoPlayer.
- * @since Series 60 3.1
- * @param aRingingType the ringing type form PhoneAppEngine.
- * @return ringing type of MPhoneVideoPlayer.
- */
- MPhoneVideoPlayer::TPlayMode ConvertVideoRingingType(
- TProfileRingingType aRingingType );
-
- /**
- * Cleanup players.
- */
- void CleanupPlayers();
-
- /**
- * Handle audio player error.
- * @param aDelete ETrue if deletion of the player allowed,
- * EFalse otherwise.
- * @param aSync ETrue if synchronous deletion of players is allowed,
- * EFalse otherwise.
- */
- void DoHandlePlayerError(
- TBool aDelete,
- TBool aSync );
-
-
-private: // Data
-
-
- // State of this active object
- TState iState;
-
- // Player to be deleted asynchronously.
- RPointerArray iAsyncDeletePlayers;
-
- // Current playing status.
- TTonePlayingStatus iTonePlayingStatus;
-
- // Voice call ringing tone file size max value.
- TInt iToneFileSizeLimitKB;
-
- // DRM extend security
- TBool iExtSecNeeded;
-
- // Volume for backup tone playing.
- TInt iVolume;
-
- // Ringing type for backup tone playing.
- TProfileRingingType iRingingType;
-
- // Audio ring tone player. Memory allocated during construction.
- // After constructed, no leave may be caused during audio playing
- CPhoneAudioPlayer* iAudioPlayer;
-
- // Audio player for beep once.
- CPhoneAudioPlayer* iBeepOncePlayer;
-
- // Audio player for silent tone.
- CPhoneAudioPlayer* iSilentPlayer;
-
- // Default player.
- CPhoneAudioPlayer* iDefaultPlayer;
-
- // Tts player.
- CPhoneAudioPlayer* iTtsPlayer;
-
- // Backup ringing tone. Incase all default player failed.
- CPhoneAudioPlayer* iBackupPlayer;
-
- // Default player
- CPhoneRingingTone* iDefaultRingingTone;
-
- // Media server.
- CMdaServer* iMdaServer;
-
- // Timer.
- CPhoneTimer* iTimer;
-
- // Audio/Video tone
- CPhoneRingingTone* iAudioVideoRingingTone;
- };
-
-#endif /* CPHONERINGINGTONEPLAYER_H_ */
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphonetoneserver.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphonetoneserver.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2010-2010 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: Phone ringing tone server definitions.
+*
+*/
+
+
+#ifndef PHONETONESERVER_H
+#define PHONETONESERVER_H
+
+// INCLUDES
+#include
+#include
+#include
+
+#include "mphonetoneserver.h"
+
+// CONSTANTS
+const TInt KRingingToneSrvVersionMajor = 1;
+const TInt KRingingToneSrvVersionMinor = 0;
+const TInt KRingingToneSrvVersionBuild = 0;
+_LIT( KRingingToneServerName, "PhoneRingingToneSrv" );
+
+enum TRingingToneSrvOpcodes
+ {
+ EPlayAudioRingTone,
+ EStopPlaying
+ };
+
+// CLASS DECLARATION
+NONSHARABLE_CLASS( CPhoneToneServer ) : public CServer2, public MPhoneToneServer
+ {
+public:
+
+ static CPhoneToneServer* NewLC();
+
+ ~CPhoneToneServer();
+
+
+ /**
+ * Thread entry function.
+ *
+ * @param aPtr
+ * @return new instance.
+ */
+
+ static TInt ThreadEntryFunc( TAny* aPtr );
+
+public:
+
+ /**
+ * Derived from CServer2, creates a new session.
+ * @param aVersion It is the version of the client api.
+ * @param aMessage Connect message from Client.
+ * @see CServer2
+ * @return Returns a new session.
+ */
+ CSession2* NewSessionL( const TVersion& aVersion,
+ const RMessage2& aMessage ) const;
+
+ /**
+ * Runs server down.
+ * @see MPhoneToneServer
+ */
+ virtual void RunDown() const;
+
+private:
+
+ CPhoneToneServer();
+
+ void ConstructL();
+
+private:
+
+ /**
+ * Runs server.
+ */
+ static void RunServerL();
+
+private:
+
+ /*
+ * Server should be unique connectable to avoid IPC fuzzing.
+ * However, NewSessionL is a const function,
+ * so we have to use mutable flag to define connection existence.
+ */
+ mutable TBool iHasConnection;
+};
+
+#endif // PHONETONESERVER_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphonetoneserverplaybackcontroller.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphonetoneserverplaybackcontroller.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* Copyright (c) 2010-2010 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: Playback controller class for phone ringingtone server.
+*
+*/
+
+#ifndef CPHONETONESERVERPLAYBACKCONTROLLER_H
+#define CPHONETONESERVERPLAYBACKCONTROLLER_H
+
+#include
+#include
+#include
+
+
+class MPhoneToneServer;
+
+
+NONSHARABLE_CLASS( CPhoneToneServerPlaybackController ) : public CTimer,
+ private MMdaAudioPlayerCallback,
+ private MMdaAudioToneObserver
+ {
+
+public:
+
+ static CPhoneToneServerPlaybackController* NewL();
+
+ ~CPhoneToneServerPlaybackController();
+
+ /**
+ * Plays tone set by control panel.
+ *
+ * @param aName file path of ringingtone
+ * @param aVolume volume of ringingtone
+ * @param aType type of ringtone e.g. ringing or silent
+ */
+ void PlayNormalToneL( const TFileName& aName,
+ TInt aVolume,
+ TProfileRingingType aType );
+
+ /**
+ * Plays silent tone.
+ */
+ void PlaySilentTone();
+
+ /**
+ * Stops playing.
+ */
+ void StopTone();
+
+private:
+
+ /**
+ * Plays profile based tone.
+ *
+ */
+ void PlayProfileTone();
+
+ /**
+ * Plays default tone
+ *
+ */
+ void PlayDefaultTone();
+
+ /**
+ * Converts volume level
+ *
+ * @param aMaxVolume player's maximum volume
+ * @param aVolume requested volume level.
+ */
+ TInt ConvertVolume( TInt aMaxVolume, TInt aVolume );
+
+ /**
+ * Stops and deletes last used player.
+ *
+ */
+ void StopAndDeleteProfilePlayer();
+
+
+ /**
+ * Checks that file uses rng file type
+ *
+ * @param aFile ringingtone file name
+ * @return TBool true when file uses rng file type.
+ */
+ TBool IsRngL( const TDesC& aFile );
+
+private:
+
+ CPhoneToneServerPlaybackController();
+
+ void ConstructL();
+
+private:
+
+ /**
+ * @see MMdaAudioPlayerCallback
+ */
+ void MapcInitComplete(
+ TInt aError,
+ const TTimeIntervalMicroSeconds& aDuration );
+
+ /**
+ * @see MMdaAudioPlayerCallback
+ */
+ void MapcPlayComplete( TInt aError );
+
+ /**
+ * @see MMdaAudioToneObserver
+ */
+ void MatoPrepareComplete(TInt aError );
+
+ /**
+ * @see MMdaAudioToneObserver
+ */
+ void MatoPlayComplete(TInt aError);
+
+
+private:
+
+ /**
+ * @see CActive
+ */
+ virtual void RunL();
+
+
+private:
+
+ // Owned
+ CMdaAudioPlayerUtility* iDefaultPlayer;
+
+ // Owned
+ CMdaAudioPlayerUtility* iProfileSamplePlayer;
+
+ // Owned
+ CMdaAudioToneUtility* iProfileTonePlayer;
+
+ // Owned
+ CMdaAudioToneUtility* iSilentPlayer;
+
+ TProfileRingingType iRingingType;
+
+ TBool iDefaultPlayerInitialized;
+
+ TInt iVolume;
+
+ };
+
+#endif // CPHONETONESERVERPLAYBACKCONTROLLER_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphonetoneserversession.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/cphonetoneserversession.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2010-2010 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: Session class for phone ringingtone server.
+*
+*/
+
+#ifndef CPHONETONESERVERSESSION_H
+#define CPHONETONESERVERSESSION_H
+
+#include
+
+class MPhoneToneServer;
+class CPhoneToneServerPlaybackController;
+
+NONSHARABLE_CLASS( CPhoneToneServerSession ) : public CSession2
+ {
+public:
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aServer Interface for server.
+ * @return new instance.
+ */
+ static CPhoneToneServerSession* NewL( const MPhoneToneServer& aServer );
+
+ ~CPhoneToneServerSession();
+
+protected:
+
+ /**
+ * From CSession2, it is called whenever request is processed.
+ * @param aMessage It is the request.
+ */
+ void ServiceL( const RMessage2& aMessage );
+
+private:
+
+ /**
+ * C++ default constructor.
+ *
+ * @param aServer Reference to server interface
+ */
+ CPhoneToneServerSession( const MPhoneToneServer& aServer );
+
+ void ConstructL();
+
+
+private:
+
+ const MPhoneToneServer& iServer;
+
+ //Owned.
+ CPhoneToneServerPlaybackController* iController;
+ };
+
+#endif //CPHONETONESERVERSESSION_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/cphonettsplayer.h
--- a/phoneapp/phoneringingtoneplayer/inc/cphonettsplayer.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* 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 CPHONETTSPLAYER_H_
-#define CPHONETTSPLAYER_H_
-
-// System includes
-#include
-#include
-
-// User includes
-#include "cphonetimer.h"
-#include "cphoneaudioplayer.h"
-#include "mphoneaudioplayerobserver.h"
-
-// Forward declarations
-class CPhoneRingingTone;
-class CPhoneRingingtonePlayer;
-
-NONSHARABLE_CLASS(CPhoneTTSPlayer): public CBase,
- public MPhoneAudioPlayerObserver
-
- {
-public:
- CPhoneTTSPlayer(CPhoneRingingtonePlayer* aRingingtonePlayer);
- virtual ~CPhoneTTSPlayer();
-
- /**
- * Two-phased constructor.
- * @return new instance.
- */
- static CPhoneTTSPlayer* NewL(CPhoneRingingtonePlayer* aRingingtonePlayer);
-
-
-public:
-
- /**
- * Play TTS tone simultaneously with Personal or Default tones.
- * This method does not command phone to play TTS immediately. Instead
- * it registers a request to play TTS, when Personal or default tones
- * are played.
- *
- * @since Series 60 3.0
- * @param aTextToSay Text, that should be pronounced by the
- * Text-To-Speech engine. This is normal descriptor, no UTF-8
- * and no "(tts)" prefix
- */
- void PlayTtsTone(
- const TDesC& aTextToSay,
- CPhoneRingingTone* aAudioVideoRingingTone );
-
- void StopPlaying();
-
-
- /**
- * Checks if TTS component should be played for the current ringtone
- * playback and initializes the TTS playback. This method is to be
- * called from within PlayXXXXTone methods
- * @since Series 60 3.0
- * @param aRingingType ringing type
- */
- void AddTtsPlaybackIfNeeded();
-
-
-private: // from MPhoneAudioPlayerObserver
- /**
- * Handle the error of audio file player.
- */
- virtual void HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent aEvent,
- TInt aError,
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
- /**
- * Handle audio player initialize complete.
- */
- virtual void HandleAudioPlayerInitComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
- /**
- * Handle auido file playing complete successfully.
- */
- virtual void HandlePlayingComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified );
-
-private:
-
- /**
- * Enumerates how many times TTs is played
- * ESaidOnce -once
- * ESaidTwice twice
- */
- enum TTtsStatus
- {
- ESaidOnce,
- ESaidTwice
- };
-
- /**
- * Wrapper of DoHandleTtsDelayTimeout, that can be used as TCallback.
- * Immediately passes control to DoHandleTtsDelayTimeout method.
- * @since Series 60 3.0
- * @param object Object to call DoHandleTtsDelayTimeout() on, .
- * instance of CPhoneRingingTonePlayer.
- * @return KErrNone.
- */
- static TInt HandleTtsDelayTimeout( TAny* object );
-
- /**
- * It is called after TTS delay elapsed. Starts playing TTS.
- */
- void DoHandleTtsDelayTimeout();
-
- /**
- * Returns currently active player which is used with TTS player.
- * @return pointer to CPhoneAudioPlayer.
- */
- CPhoneAudioPlayer* GetCurrentlyActiveAudioPlayerWithTTs();
-
- /**
- * TTs cases only. Calculates new volume and ramptimes
- * for Ascending TTS ringing case and normal TTS ringing case.
- * @param aStatus -status of TTs player.
- */
- void SolveNewVolumeAndRamptime( TTtsStatus aStatus );
-
- /**
- * Retarts currently active ringingtone player.
- */
- void ReStartRingingTonePlayer();
-
- /**
- * Convert ringing type from PhoneAppEnging to the ringing type in
- * CPhoneAudioPlayer.
- * @param aRingingType the ringing type form PhoneAppEngine.
- * @return ringing type of CPhoneAudioPlayer.
- */
- CPhoneAudioPlayer::TRingingType ConvertRingingType(
- TProfileRingingType aRingingType );
-
-private:
-
- /**
- * By default Symbian OS constructor is private.
- */
- void ConstructL();
-
-private:
-
- // Tts player.
- CPhoneAudioPlayer* iTtsPlayer;
-
- // True if Tts is currently playing. Is different from
- // iTonePlayingStatus, because TTS is played in
- // parallel with the other tone types
- TBool iTtsTonePlaying;
-
- // Index of the TTS delay that is "executed" currently or is to be
- // "executed" after the current playing of the TTS tone. Is zero based
- TInt iTtsDelayIndex;
-
- // True if TTS tone should be played when the next playing of the
- // default or personal tone is fired.
- TBool iTtsToneToBePlayed;
-
- // Timer, that tracks delays before playing TTS
- CPhoneTimer* iTtsDelayTimer;
-
- // Number of times TTS tone should be played for the CURRENT ringtone
- // If ringing tone is to be played just once, iTtsDelayCount == 1,
- // otherwise iTtsDelayCount == KTtsDelayCount
- TInt iTtsDelaysCount;
-
- // Counter for TTs timeouts
- TInt iTTsTimeOutCounter;
-
- // RingingType for TtsPlayer only.
- TProfileRingingType iTtsRingingType;
-
- // Volume of the text pronounced by the TTS engine
- TInt iTtsVolume;
-
- CPhoneRingingtonePlayer* iRingingtonePlayer;
- };
-
-#endif /* CPHONETTSPLAYER_H_ */
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphoneaudioplayerobserver.h
--- a/phoneapp/phoneringingtoneplayer/inc/mphoneaudioplayerobserver.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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 MPHONEAUDIOPLAYEROBSERVER_H
-#define MPHONEAUDIOPLAYEROBSERVER_H
-
-// User includes
-#include "phoneconstants.h"
-
-// Class declaration
-
-/**
-* Observer interface for audio player.
-*
-* @since 1.0
-*/
-class MPhoneAudioPlayerObserver
- {
- public: // Constructors and destructor
-
- // Enumerates different failures.
- //
- // EAudioPlayerInitializingFailure - failure in initialising
- // EAudioPlayerPlayingFailure - failure during playing
- enum TPhoneAudioPlayerErrorEvent
- {
- EAudioPlayerInitializingFailure,
- EAudioPlayerPlayingFailure
- };
-
- /**
- * Observe the error.
- * @param aEvent the error event happend in initializing or playing.
- * @param aError The error code return by audio server. Observer can
- * handle these two error code for recoverable
- * and unrecoverable errors.
- * @param aId Indicate which audio player is outof working.
- */
- virtual void HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent aEvent,
- TInt aError,
- TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
-
- /**
- * This function is called when audio player initialization complete.
- * @param aId The id of the audio player.
- */
- virtual void HandleAudioPlayerInitComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
-
- /**
- * This funciton is called after the playing complete successfully.
- * @param aId The id of the audio player.
- */
- virtual void HandlePlayingComplete(
- TInt aId = KPhoneAudioPlayerNotSpecified ) = 0;
- };
-
-#endif // MPHONEAUDIOPLAYEROBSERVER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphonecoveruiobserver.h
--- a/phoneapp/phoneringingtoneplayer/inc/mphonecoveruiobserver.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* 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 MPHONECOVERUIOBSERVER_H
-#define MPHONECOVERUIOBSERVER_H
-
-// Class declaration
-
-/**
-* Cover UI observer interface.
-*
-*/
-class MPhoneCoverUiObserver
- {
- public:
-
- /**
- * This function is called when Mediator receives response to the sent
- * ShowMultiMediaRingingTone command.
- * @param aStatus - Standard Symbian error code indicating the
- * success of the command.
- */
- virtual void ShowMultimediaRingingToneResponseL( TInt aStatus ) = 0;
- };
-
-#endif // MPHONECOVERUIOBSERVER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphoneringingtoneobserver.h
--- a/phoneapp/phoneringingtoneplayer/inc/mphoneringingtoneobserver.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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 MPHONERINGINGTONEOBSERVER_H
-#define MPHONERINGINGTONEOBSERVER_H
-
-// INCLUDES
-#include
-
-// CLASS DECLARATION
-
-/**
-* Observer interface for ringing tone playing
-*
-* @since Series 60 3.1
-*/
-class MPhoneRingingToneObserver
- {
- public:
- /**
- * Observer the ringing tone playing
- * @param aPlayingAudio ETrue is ringing tone audio is playing.
- * @param aPlayingVideo ETrue is ringing tone video is playing.
- */
- virtual void RingingTonePlaying(
- TBool aPlayingAudio,
- TBool aPlayingVideo ) = 0;
- };
-
-#endif // MPHONERINGINGTONEOBSERVER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphonetoneserver.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/mphonetoneserver.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010-2010 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: Interface class for phone ringing tone server.
+*
+*/
+
+
+#ifndef MPHONETONESERVER_H
+#define MPHONETONESERVER_H
+
+// CLASS DECLARATION
+class MPhoneToneServer
+ {
+public:
+
+ virtual void RunDown() const = 0;
+
+ };
+
+#endif // MPHONETONESERVER_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphonevideoplayer.h
--- a/phoneapp/phoneringingtoneplayer/inc/mphonevideoplayer.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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 M_PHONEVIDEOPLAYER_H
-#define M_PHONEVIDEOPLAYER_H
-
-// Forward declarations
-class MPhoneVideoPlayerObserver;
-
-/**
- * Abstract video playing interface.
- *
- *
- * @lib Phone.exe
- * @since S60 v3.2
- */
-class MPhoneVideoPlayer
- {
-public:
- /** Play modes */
- enum TPlayMode
- {
- EPlayInLoop,
- EPlayOnce,
- EPlayAscending
- };
-
-public:
- /**
- * Plays given video ringing tone.
- *
- * @since S60 S60 v3.2
- * @param aFileName File name.
- * @param aPlayMode Playing mode.
- * @param aVolumeLevel Playing volume, range: 0-10.
- * @param aArbitraryScaling Set ETrue if arbitrary scaling supported.
- * @param aObserver Observer for playback events.
- */
- virtual void PlayVideoRingTone( const TDesC& aFileName,
- TPlayMode aPlayMode,
- TInt aVolumeLevel,
- TBool aArbitraryScaling,
- MPhoneVideoPlayerObserver* aObserver ) = 0;
-
- /**
- * Stops ringing.
- *
- * @since S60 S60 v3.2
- */
- virtual void StopVideoRingTone() = 0;
-
- /**
- * Mutes ringing tone playing.
- *
- * @since S60 S60 v3.2
- */
- virtual void MuteVideoRingTone() = 0;
-
- /**
- * Cancels ringing tone playing.
- *
- * @since S60 S60 v3.2
- */
- virtual void CancelVideoRingTone() = 0;
- };
-
-
-#endif // M_PHONEVIDEOPLAYER_H
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/mphonevideoplayerobserver.h
--- a/phoneapp/phoneringingtoneplayer/inc/mphonevideoplayerobserver.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-/*
-* 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 MPHONEVIDEOPLAYEROBSERVER_H
-#define MPHONEVIDEOPLAYEROBSERVER_H
-
-// Class declaration
-
-/**
-* Video player observer interface.
-*
-* @lib Phone.app
-* @since Series 60 3.1
-*/
-class MPhoneVideoPlayerObserver
- {
- public:
-
- // Enumerates different failure events.
- //
- enum TPhoneVideoPlayerErrorEvent
- {
- EVideoPlayerInitializingFailure, // Failure during initialization
- EVideoPlayerPlayingFailure // Failure during playback
- };
-
- /**
- * This function is called for video player errors.
- * @param aEvent The error event happend in initializing or playing.
- * @param aError The error code return by MMF video player.
- */
- virtual void HandleVideoPlayerError(
- TPhoneVideoPlayerErrorEvent aEvent,
- TInt aError ) = 0;
-
- /**
- * This function is called when video player initialization complete
- */
- virtual void HandleVideoPlayerInitComplete() = 0;
-
- /**
- * This function is called after the playing completes successfully
- */
- virtual void HandleVideoPlayerPlayingComplete() = 0;
- };
-
-#endif // MPHONEVIDEOPLAYEROBSERVER_H
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/phoneringingtonetrace.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/phoneringingtonetrace.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* ============================================================================
+* Name : phoneringingtonetrace.h
+* Part of : PhoneRingingtone
+* Description : Macros for tracing.
+* Version :
+*
+* Copyright © 2010 Nokia. All rights reserved.
+* This material, including documentation and any related computer
+* programs, is protected by copyright controlled by Nokia. All
+* rights are reserved. Copying, including reproducing, storing,
+* adapting or translating, any or all of this material requires the
+* prior written consent of Nokia. This material also contains
+* confidential information which may not be disclosed to others
+* without the prior written consent of Nokia.
+* ============================================================================
+* Template version: 4.1
+*/
+
+
+#ifndef PHONERINGINGTONETRACE_H
+#define PHONERINGINGTONETRACE_H
+
+
+
+
+// INCLUDES
+#include
+
+#if ( defined (_DEBUG) && !defined (__WINS__) )
+
+// CONSTANTS
+
+const TInt KPhoneRingingtoneDebugBufferSize = 300;
+
+// MACROS
+
+typedef TBuf TPhonePhoneRingingtoneDebBuf;
+
+#define PHONERINGINGTONE_PRINT(x) { _LIT( KPhoneRingingtoneDebugPrintPrefix, "PhoneRingingtone: ");\
+ TPhonePhoneRingingtoneDebBuf buf( KPhoneRingingtoneDebugPrintPrefix);\
+ if ((_L(x).Length()) + buf.Length() <= KPhoneRingingtoneDebugBufferSize )\
+ buf.Append(_L(x)); RDebug::Print(buf); }
+
+#define PHONERINGINGTONE_PRINTF(x,y) { _LIT( KPhoneRingingtoneDebugPrintPrefix, "PhoneRingingtone: ");\
+ TPhonePhoneRingingtoneDebBuf buf( KPhoneRingingtoneDebugPrintPrefix);\
+ if ((_L(x).Length()) + buf.Length() <= KPhoneRingingtoneDebugBufferSize )\
+ buf.Append(_L(x)); RDebug::Print(buf,y);}
+
+#define PHONERINGINGTONE_PRINTF2(x,y,z) { _LIT( KPhoneRingingtoneDebugPrintPrefix, "PhoneRingingtone: ");\
+ TPhonePhoneRingingtoneDebBuf buf( KPhoneRingingtoneDebugPrintPrefix);\
+ if ((_L(x).Length()) + buf.Length() <= KPhoneRingingtoneDebugBufferSize )\
+ buf.Append(_L(x)); RDebug::Print(buf,y,z); }
+
+#define PHONERINGINGTONE_PRINTF3(v,x,y,z) { _LIT( KPhoneRingingtoneDebugPrintPrefix, "PhoneRingingtone: ");\
+ TPhonePhoneRingingtoneDebBuf buf( KPhoneRingingtoneDebugPrintPrefix);\
+ if ((_L(v).Length()) + buf.Length() <= KPhoneRingingtoneDebugBufferSize )\
+ buf.Append(_L(v)); RDebug::Print(buf,x,y,z); }
+
+#else // !_DEBUG
+
+#define PHONERINGINGTONE_PRINT(x)
+#define PHONERINGINGTONE_PRINTF(x,y)
+#define PHONERINGINGTONE_PRINTF2(x,y,z)
+#define PHONERINGINGTONE_PRINTF3(v,x,y,z)
+
+#endif // _DEBUG
+
+#endif // PHONERINGINGTONETRACE_H
+
+// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/inc/rphonetoneclient.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/inc/rphonetoneclient.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2010-2010 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: Client interface for phone ringing tone server.
+*
+*/
+
+
+#ifndef RPHONETONECLIENT_H
+#define RPHONETONECLIENT_H
+
+// INCLUDES
+#include
+
+// FORWARD DECLARATIONS
+class TPhoneCommandParam;
+
+// CLASS DECLARATION
+
+class RPhoneToneClient : public RSessionBase
+ {
+public:
+
+ IMPORT_C RPhoneToneClient();
+
+ IMPORT_C ~RPhoneToneClient();
+
+ /**
+ * Starts playing the ringing tone.
+ * Method plays tone according to values of parameter
+ * @param aCommandParam contais ringingtone file name, volume etc.
+ */
+ IMPORT_C void PlayRingingToneL( TPhoneCommandParam *aCommandParam );
+
+ /**
+ * Stops playing the ringing tone.
+ * Method does not do anything if ringing tone is not playing.
+ */
+ IMPORT_C void StopPlayingL();
+
+ /**
+ * Establishes a connection with Server.
+ * @return Result code indicating the success of operation.
+ */
+ IMPORT_C TInt Connect();
+
+ };
+
+#endif // RPHONETONECLIENT_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/src/cphoneaudioplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1063 +0,0 @@
-/*
-* 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:
-*
-*/
-
-// INCLUDE FILES
-#include
-#include
-#include
-#include
-#include
-#include // for converting data for tts
-#include
-#include
-
-#include "cphoneaudioplayer.h"
-#include "cphoneringingtone.h"
-#include "mphoneaudioplayerobserver.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-#include "phoneui.pan"
-
-
-// CONSTANTS
-
-
-_LIT( KFileListRngMimeType, "application/vnd.nokia.ringing-tone" );
-//Min volume level
-const TInt KMinVolumeLevel = 1;
-//Max volume level
-const TInt KMaxVolumeLevel = 10;
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::CPhoneAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::CPhoneAudioPlayer( TAudioDataFormat aDataFormat,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aPriority,
- TUint aPreference,
- TInt aId )
- : iFormat( aDataFormat ),
- iObserver( aObserver ),
- iPriority( aPriority ),
- iPreference( aPreference ),
- iId( aId )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructL(
- const TDesC& aFileName,
- CMdaServer* aMdaServer )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructL()" );
- if ( iFormat == EFormatTone )
- {
- iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
- iTonePlayer->PrepareToPlayFileSequence( aFileName );
- iPlayerStatus = EToneLoading;
- }
- else
- {
- //audio sample player
- __PHONELOG3(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::ConstructL - aFileName(%S), iPriority(%d), iPreference(%d)",
- &aFileName,
- iPriority,
- iPreference );
-
- iSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL(
- aFileName,
- *this,
- iPriority,
- static_cast< TMdaPriorityPreference >( iPreference ),
- aMdaServer );
- iPlayerStatus = EToneLoading;
-
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructSeqL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructSeqL(
- const TDesC8& aSequence,
- CMdaServer* aMdaServer )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructSeqL()" );
- iTonePlayer = CMdaAudioToneUtility::NewL( *this, aMdaServer );
- iSequence = aSequence.AllocL();
- iTonePlayer->PrepareToPlayDesSequence( *iSequence );
- iPlayerStatus = EToneLoading;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConstructTtsL
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ConstructTtsL(
- const TDesC& aTtsText,
- TInt aPriority,
- TUint aPreference )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ConstructTtsL()" );
- delete iTtsPlayer; // if any
- iTtsPlayer = NULL;
- iTtsPlayer =
- CMdaAudioPlayerUtility::NewL(
- *this, aPriority,
- static_cast< TMdaPriorityPreference >( aPreference ) );
-
- delete iTtsText; // if any
- iTtsText = NULL;
- // UTF-8 strings can take up to 4 bytes per character
- iTtsText = HBufC8::NewL( aTtsText.Length() << KTimesToMultiply );
-
- TPtr8 refText = iTtsText->Des();
- User::LeaveIfError(
- CnvUtfConverter::ConvertFromUnicodeToUtf8( refText, aTtsText ) );
-
- // UTF-8 chars can be up to 4 bytes long, but usually
- // take 1-2 bytes, 3 for asian chars.
- HBufC8* oldText = iTtsText;
- iTtsText = iTtsText->ReAlloc( iTtsText->Length() );
- if ( !iTtsText )
- {
- // ReAlloc failed, set back to original.
- iTtsText = oldText;
- }
-
- iTtsPlayer->OpenDesL( *iTtsText );
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::New
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::New(
- const CPhoneRingingTone& aRingingTone,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId,
- CMdaServer* aMdaServer,
- TBool aExtSecNeeded )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::New()" );
- CPhoneAudioPlayer* self = NULL;
- TRAPD( err, self = CPhoneAudioPlayer::NewL(
- aRingingTone,
- aPriority,
- aPreference,
- aObserver,
- aId,
- aMdaServer,
- aExtSecNeeded ) );
- if ( err != KErrNone )
- {
- return NULL;
- }
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewL(
- const CPhoneRingingTone& aRingingTone,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId,
- CMdaServer* aMdaServer,
- TBool aExtSecNeeded )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewL()" );
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - aExtSecNeeded(%d)",
- aExtSecNeeded );
-
- // Check the file DRM property if extend secure is needed.
- if ( aExtSecNeeded )
- {
- if ( !aRingingTone.IsFileInRom() &&
- !aRingingTone.IsFileDrmProtected() )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - DRM extend security check permission denied" );
- User::Leave( KErrPermissionDenied );
- }
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::NewL - DRM extend security check ok" );
- }
- // RNG file types have to be played with CMdaAudioToneUtility player.
- // Otherwise use sample player
- TAudioDataFormat format =
- ( aRingingTone.MimeType().CompareF( KFileListRngMimeType ) == KErrNone )
- ? EFormatTone :EFormatSample;
-
- CPhoneAudioPlayer* self =
- new (ELeave) CPhoneAudioPlayer(
- format,
- aObserver,
- aPriority,
- aPreference,
- aId );
-
- CleanupStack::PushL( self );
- self->ConstructL( aRingingTone.FileName(), aMdaServer );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewL(
- const TDesC& aFileName,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId,
- CMdaServer* aMdaServer,
- TBool aExtSecNeeded )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewL()" );
- CPhoneRingingTone* tone = CPhoneRingingTone::NewL( aFileName );
- CleanupStack::PushL( tone );
-
- CPhoneAudioPlayer* player = CPhoneAudioPlayer::NewL( *tone,
- aPriority,
- aPreference,
- aObserver,
- aId,
- aMdaServer,
- aExtSecNeeded );
-
- CleanupStack::PopAndDestroy( tone );
-
- return player;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewSeqL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewSeqL(
- const TDesC8& aSequence,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId,
- CMdaServer* aMdaServer )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewSeqL()" );
- CPhoneAudioPlayer* self =
- new (ELeave) CPhoneAudioPlayer(
- EFormatTone,
- aObserver,
- aPriority,
- aPreference,
- aId );
-
- CleanupStack::PushL( self );
- self->ConstructSeqL( aSequence, aMdaServer );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::NewTtsL
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneAudioPlayer::NewTtsL(
- const TDesC& aText,
- TInt aPriority,
- TUint aPreference,
- MPhoneAudioPlayerObserver& aObserver,
- TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::NewTtsL()" );
- CPhoneAudioPlayer* self =
- new (ELeave) CPhoneAudioPlayer(
- EFormatTts,
- aObserver,
- aPriority,
- aPreference,
- aId );
-
- CleanupStack::PushL( self );
- self->ConstructTtsL( aText, aPriority, aPreference );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::~CPhoneAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::~CPhoneAudioPlayer()
- {
-
- if ( iAudioOutput )
- {
- delete iAudioOutput;
- }
- if ( iTonePlayer )
- {
- delete iTonePlayer;
- }
- if ( i3DPlugin )
- {
- i3DPlugin->Stop();
- delete i3DPlugin;
- }
- // ECom cleanup
- REComSession::FinalClose();
- if ( iSamplePlayer )
- {
- delete iSamplePlayer;
- }
- if ( iTtsPlayer )
- {
- delete iTtsPlayer;
- }
- if ( iSequence )
- {
- delete iSequence;
- }
- if ( iTtsText )
- {
- delete iTtsText;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::Play
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::Play( TRingingType aRingType, TInt aVolume, TInt aTTsToBePlayed )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::Play()" );
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::Play - iFormat(%d), iPlayerStatus(%d)",
- iFormat,
- iPlayerStatus );
- __PHONELOG3(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::Play - aRingType(%d), aVolume(%d), aTTsToBePlayed(%d)",
- aRingType,
- aVolume,
- aTTsToBePlayed );
- iRingType = aRingType;
- iVolume = aVolume;
- iTTsToBePlayed = aTTsToBePlayed;
-
- if ( iFormat == EFormatTone )
- {
- switch ( iPlayerStatus )
- {
- case ETonePlaying:
- iTonePlayer->CancelPlay();
- DoPlay();
- break;
-
- case EToneReady:
- iPlayerStatus = ETonePlaying;
- DoPlay();
- break;
-
- case EToneLoading:
- iToBePlaying = ETrue;
- break;
-
- default:
- __ASSERT_DEBUG( EFalse,
-
- Panic( EPhoneViewCaseNotHandled ) );
- }
- }
- else if ( iFormat == EFormatTts )
- {
- switch ( iPlayerStatus )
- {
- case ETonePlaying:
- //stop previous playing
- iTtsPlayer->Stop();
- DoPlay();
- break;
-
- case EToneReady:
- iPlayerStatus = ETonePlaying;
- DoPlay();
- break;
-
- case EToneLoading:
- iToBePlaying = ETrue;
- break;
-
- default:
- __ASSERT_DEBUG( EFalse,
- Panic( EPhoneViewCaseNotHandled ) );
- }
- }
- else
- {
- switch ( iPlayerStatus )
- {
- case ETonePlaying:
- //stop previous playing
- StopPlaying();
- iPlayerStatus = ETonePlaying;
- DoPlay();
- break;
-
- case EToneReady:
- iPlayerStatus = ETonePlaying;
- DoPlay();
- break;
-
- case EToneLoading:
- iToBePlaying = ETrue;
- break;
-
- default:
- __ASSERT_DEBUG( EFalse,
-
- Panic( EPhoneViewCaseNotHandled ) );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ReStartPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::ReStartPlaying()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::ReStartPlaying()" );
- __PHONELOG3(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::ReStartPlaying - iFormat(%d), iRingType(%d), iVolume(%d)",
- iFormat,
- iRingType,
- iVolume );
-
- if ( iFormat == EFormatTone )
- {
- iTonePlayer->Play();
- iPlayerStatus = ETonePlaying;
- }
- else if ( iFormat == EFormatTts )
- {
- iTtsPlayer->Play();
- iPlayerStatus = ETonePlaying;
- }
- else
- {
- iSamplePlayer->Play();
- iPlayerStatus = ETonePlaying;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::StopPlaying()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::StopPlaying()" );
- iToBePlaying = EFalse;
-
- if ( iFormat == EFormatTone )
- {
- if ( EMdaAudioToneUtilityPrepared == iTonePlayer->State() )
- {
- iTonePlayer->CancelPrepare();
- }
- else if ( EMdaAudioToneUtilityPlaying == iTonePlayer->State() )
- {
- iTonePlayer->CancelPlay();
- }
- }
- else if ( iFormat == EFormatTts )
- {
- iTtsPlayer->Stop();
- }
- else
- {
- if ( i3DPlugin )
- {
- i3DPlugin->Stop();
- delete i3DPlugin;
- i3DPlugin = NULL;
- }
- else
- {
- iSamplePlayer->Stop();
- }
- }
-
- iPlayerStatus = EToneReady;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MapcInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MapcInitComplete(
- TInt aError,
- const TTimeIntervalMicroSeconds& /*aDuration*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MapcInitComplete()" );
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MapcInitComplete - aError(%d)",
- aError );
- __ASSERT_DEBUG( ( ( iFormat == EFormatSample ) || ( iFormat == EFormatTts ) ) &&
- ( iPlayerStatus == EToneLoading ), Panic( EPhoneViewGeneralError ) );
- if ( aError == KErrNone )
- {
- if ( iToBePlaying )
- {
- iPlayerStatus = ETonePlaying;
- iToBePlaying = EFalse;
- DoPlay();
- }
- else
- {
- iPlayerStatus = EToneReady;
- }
- iObserver.HandleAudioPlayerInitComplete( iId );
- }
- else
- {
- iObserver.HandleAudioPlayerError(
- MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure,
- aError, iId );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MapcPlayComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MapcPlayComplete( TInt aError )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MapcPlayComplete()" );
- __PHONELOG2( EBasic, EPhoneControl, "CPhoneAudioPlayer::MapcPlayComplete - iFormat(%d), aError(%d)",
- iFormat, aError );
- iPlayerStatus = EToneReady;
-
- //Destruct 3D plugin before player itself gets destructed.
- //In case of continuous ringing type, stopplaying() handles
- //3d plugin destruction
- if ( i3DPlugin )
- {
- i3DPlugin->Stop();
- delete i3DPlugin;
- i3DPlugin = NULL;
- }
-
- if ( aError != KErrNone )
- {
- iObserver.HandleAudioPlayerError(
- MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure,
- aError, iId );
- }
- else
- {
- iObserver.HandlePlayingComplete( iId );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MatoPrepareComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MatoPrepareComplete( TInt aError )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MatoPrepareComplete()" );
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MatoPrepareComplete - aError(%d)",
- aError );
-
- __ASSERT_DEBUG( ( iFormat == EFormatTone ) && ( iPlayerStatus == EToneLoading ),
- Panic( EPhoneViewGeneralError ) );
- if ( aError == KErrNone )
- {
- if ( iToBePlaying )
- {
- iPlayerStatus = ETonePlaying;
- iToBePlaying = EFalse;
- DoPlay();
- }
- else
- {
- iPlayerStatus = EToneReady;
- }
- iObserver.HandleAudioPlayerInitComplete( iId );
- }
- else
- {
- iObserver.HandleAudioPlayerError(
- MPhoneAudioPlayerObserver::EAudioPlayerInitializingFailure,
- aError, iId );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MatoPlayComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MatoPlayComplete(TInt aError)
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::MatoPlayComplete()" );
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::MatoPlayComplete - aError(%d)",
- aError );
- if ( aError != KErrNone )
- {
- iObserver.HandleAudioPlayerError(
- MPhoneAudioPlayerObserver::EAudioPlayerPlayingFailure,
- aError, iId );
- }
- else
- {
- iObserver.HandlePlayingComplete( iId );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::DoPlay
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::DoPlay()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::DoPlay()" );
- __ASSERT_DEBUG( iPlayerStatus == ETonePlaying,
- Panic( EPhoneViewGeneralError ) );
-
- SetRingingTypeProperties();
-
- TInt err(KErrNone);
- if ( iFormat == EFormatTone )
- {
- iTonePlayer->Play();
- }
- else if ( iFormat == EFormatTts )
- {
- iTtsPlayer->Play();
- }
- else
- {
- TRAP( err,i3DPlugin = C3DRingingToneInterface::NewL( KNullUid ) );
- if ( !err && i3DPlugin )
- {
- i3DPlugin->SetAttr( E3DRTIAttrAudioPlayerUtility, iSamplePlayer );
- TRAP( err,i3DPlugin->PlayL() )
- }
- if ( err || !i3DPlugin )
- {
- if ( !iAudioOutput )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::DoPlay c aud ");
- TRAP (err, iAudioOutput = CAudioOutput::NewL( *iSamplePlayer ) );
- if ( err )
- {
- __PHONELOG1(EBasic, EPhoneControl,
- "P.AudPlayer.DoPlay.iAudioOutput.err ", err );
- }
- }
- if ( !err && iAudioOutput )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::DoPlay EALL ");
- TRAP (err, iAudioOutput->SetAudioOutputL( CAudioOutput::EAll ) );
- if ( err )
- {
- __PHONELOG1( EBasic, EPhoneControl,
- "P.AudPlayer.DoPlay.SetAudioOutputL.err ", err );
- }
-
- }
- iSamplePlayer->Play();
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetRingingTypeProperties
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::SetRingingTypeProperties()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::SetRingingTypeProperties()" );
- __PHONELOG2( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetRingingTypeProperties - iFormat(%d), iRingType(%d)",
- iFormat, iRingType );
- TInt rampTime( 0 );
- if ( iFormat == EFormatTone )
- {
- switch ( iRingType )
- {
- case ETypeRinging:
- //If we have TTS activated and ringingtype is ringing:
- //We need to play TTS sequence again when ringingtone restarts.
- //Thats why we need to set ringingtype to ETypeRingingOnce because
- //it is the only way of knowing when ringingtone is completed.
- //Then we can restart it with new TTS iterations.
- if ( iTTsToBePlayed )
- {
- //play only once
- iTonePlayer->SetRepeats( 0,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone with TTS, Set volume(%d) and ring once",
- iVolume );
- }
- else
- {
- iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing tone, Set volume(%d)",
- iVolume );
- }
- break;
-
- case ETypeRingingOnce:
- //play only once
- iTonePlayer->SetRepeats( 0,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once tone, set volume(%d)",
- iVolume );
- break;
-
- case ETypeAscending:
- iTonePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
-
- //Special case for TTs + ascending profile. Volume
- //and ramptime needs to be different as usual
- if ( iTTsToBePlayed )
- {
- //rampTime in this case is only 3 seconds and volume is 1.
- rampTime = KPhoneAudioAscendingRampDuration;
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone with TTS, Start from lowest volume, rampTime(%d)",
- rampTime );
- iTonePlayer->SetVolumeRamp(
- TTimeIntervalMicroSeconds( rampTime ) );
-
- iCurrentVolume = 1; //we start from the lowest volume
- iTonePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
- }
- else
- {
- //rampTime: time for one step * volume level
- rampTime = KPhoneAudioAscendingRampDuration*iVolume;
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending tone, Set volume(%d), rampTime(%d)",
- iVolume, rampTime );
- iTonePlayer->SetVolumeRamp(
- TTimeIntervalMicroSeconds( rampTime ) );
-
- iCurrentVolume = 1; //we start from the lowest volume
- iTonePlayer->SetVolume( ConvertVolume( iVolume ) );
- }
- break;
-
- default:
- Panic( EPhoneViewGeneralError );
- break;
- }
-
- __PHONELOG3(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Tone, iPriority(%d), iPreference(%d), iVolume(%d)",
- iPriority, iPreference, iVolume );
-
- //Set priority and preference
- iTonePlayer->SetPriority( iPriority,
- static_cast< TMdaPriorityPreference >( iPreference ) );
- }
- else if ( iFormat == EFormatTts )
- {
- switch ( iRingType )
- {
- case ETypeRinging:
- case ETypeAscending:
- // Not possible iRingType for TTS.
- break;
-
- case ETypeRingingOnce:
- iTtsPlayer->SetRepeats( 0, // play only once
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iTtsPlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - TTS, Set volume(%d)",
- iVolume );
- break;
-
- default:
- __ASSERT_DEBUG( EFalse,
- Panic( EPhoneViewCaseNotHandled ) );
- }
- __PHONELOG(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - TTS" );
- }
- else
- {
- switch ( iRingType )
- {
- case ETypeRinging:
- //If we have TTS activated and ringingtype is ringing:
- //We need to play TTS sequence again when ringingtone restarts.
- //Thats why we need to set ringingtype to ETypeRingingOnce because
- //it is theonly way of knowing when ringingtone is completed.
- //Then we can restartit with new TTS iterations.
- if ( iTTsToBePlayed )
- {
- //play only once
- iSamplePlayer->SetRepeats( 0,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample with TTS, Ring only once, Set volume(%d)",
- iVolume );
- }
- else
- {
- iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ringing sample, Set volume(%d)",
- iVolume );
- }
- break;
-
- case ETypeRingingOnce:
- iSamplePlayer->SetRepeats( 0,//play only once
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
- iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ring once sample, set volume(%d)",
- iVolume );
- break;
-
- case ETypeAscending:
- iSamplePlayer->SetRepeats( KPhoneMdaAudioToneRepeatForever,
- TTimeIntervalMicroSeconds(
- KPhoneRingingRepeatsTrailPause ) );
-
- //Special case for TTs + ascending profile. Volume
- //and ramptime needs to be different as usual
- if ( iTTsToBePlayed )
- {
- //rampTime in this case is only 3 seconds and volume is 1.
- rampTime = KPhoneAudioAscendingRampDuration;
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample with TTS, Start from lowest volume, rampTime(%d)",
- rampTime );
- iSamplePlayer->SetVolumeRamp(
- TTimeIntervalMicroSeconds( rampTime ) );
-
- iCurrentVolume = 1; //we start from the lowest volume
- iSamplePlayer->SetVolume( ConvertVolume( iCurrentVolume ) );
- }
- else
- {
- //rampTime: time for one step * volume level
- rampTime = KPhoneAudioAscendingRampDuration*iVolume;
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Ascending sample, Set volume(%d), rampTime(%d)",
- iVolume, rampTime );
- iSamplePlayer->SetVolumeRamp(
- TTimeIntervalMicroSeconds( rampTime ) );
-
- iCurrentVolume = 1; //we start from the lowest volume
- iSamplePlayer->SetVolume( ConvertVolume( iVolume ) );
- }
- break;
-
- default:
- Panic( EPhoneViewGeneralError );
- break;
- }
-
- __PHONELOG(
- EBasic,
- EPhoneControl,
- "CPhoneAudioPlayer::SetRingingTypeProperties - Sample" );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::SetNewVolumeAndRamptime( TInt aVolume, TInt aRamptime )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime()" );
-
- //Check that volume is in valid range.
- TInt volume = aVolume<1 ? 1:aVolume;
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - aVolume(%d)",
- aVolume );
-
- if ( iFormat == EFormatTone && iTonePlayer )
- {
- iTonePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
- iTonePlayer->SetVolume( ConvertVolume( volume ) );
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Tone player" );
- }
- else if ( iFormat == EFormatTts && iTtsPlayer )
- {
- iTtsPlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
- iTtsPlayer->SetVolume( ConvertVolume( volume ) );
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - TTS player" );
- }
- else
- {
- iSamplePlayer->SetVolumeRamp(TTimeIntervalMicroSeconds( aRamptime ) );
- iSamplePlayer->SetVolume( ConvertVolume( volume ) );
- __PHONELOG( EBasic, EPhoneControl, "CPhoneAudioPlayer::SetNewVolumeAndRamptime - Sample player" );
- }
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::ConvertVolume
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneAudioPlayer::ConvertVolume( TInt aVolume )
- {
- //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.aVolume", aVolume );
-
- TInt result( 0 );
-
- if ( iFormat == EFormatTone && iTonePlayer)
- {
- result = iTonePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
- }
- else if ( iFormat == EFormatTts && iTtsPlayer )
- {
- result = iTtsPlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
- }
- else
- {
- result = iSamplePlayer->MaxVolume() * aVolume / KMaxVolumeLevel;
- }
-
- // if user has selected minimum volume level
- // set HW volume 1
- if ( aVolume == KMinVolumeLevel && result == 0 )
- {
- result = 1;
- }
-
- //_DDPRINT( 5, "P.AudPlayer.ConvertVolume.result", result );
- return result;
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::SetTTsToBePlayed
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::SetTTsToBePlayed( TBool aTTsToBePlayed )
- {
- iTTsToBePlayed = aTTsToBePlayed;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneAudioPlayer::MutePlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneAudioPlayer::MutePlaying()
- {
- //_DPRINT( 5, "P.Aud.Mute" );
- if ( iPlayerStatus == ETonePlaying )
- {
- if ( iFormat == EFormatTone )
- {
- iTonePlayer->SetVolume(0);
- }
- else if ( iFormat == EFormatTts )
- {
- iTtsPlayer->SetVolume(0);
- }
- else // EFormatSample
- {
- iSamplePlayer->SetVolume(0);
- }
- }
- else
- {
- // Mute called during EToneLoading state.
- iToBePlaying = EFalse;
- }
- }
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp
--- a/phoneapp/phoneringingtoneplayer/src/cphoneringingtone.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-// INCLUDE FILES
-#include
-#include
-#include
-#include
-#include
-#include "cphoneringingtone.h"
-#include "cphonecenrepproxy.h"
-#include "phonelogger.h"
-#include "phoneconstants.h"
-#include "phonelogger.h"
-
-// CONSTANTS
-// Rich audio file MIME types
-_LIT(KAac, "audio/aac");
-_LIT(KMp3, "audio/mp3");
-_LIT(KMpeg, "audio/mpeg");
-_LIT(K3gpp, "audio/3gpp");
-_LIT(KMp4, "audio/mp4");
-_LIT(KAmrWb, "audio/amr-wb");
-_LIT(KWavX, "audio/x-wav");
-_LIT(KWav, "audio/wav");
-
-// Rich video file MIME types
-_LIT(KV3gpp, "video/3gpp");
-_LIT(KVMp4, "video/mp4");
-_LIT(KV3gpp2, "video/3gpp2");
-
-//file size limit
-const TUint KPhoneToneFileSizeLimitKB = 5000;
-
-// MACROS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::CPhoneRingingTone
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTone::CPhoneRingingTone( TBool aDrmInPlayback ) :
- iDrmInPlayback( aDrmInPlayback )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::ConstructL( const TDesC& aFileName )
- {
- iFileName = aFileName.AllocL();
-
- GetMaxToneFileSize();
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingTone* CPhoneRingingTone::NewL(
- const TDesC& aFileName,
- TBool aDrmInPlayback )
- {
- CPhoneRingingTone* self = new( ELeave ) CPhoneRingingTone(
- aDrmInPlayback );
-
- CleanupStack::PushL( self );
- self->ConstructL( aFileName );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// Destructor
-CPhoneRingingTone::~CPhoneRingingTone()
- {
- delete iFileName;
- delete iMimeType;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::SetFileName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::SetFileName( const TDesC& aFileName )
- {
- delete iFileName;
- iFileName = NULL;
- iFileName = aFileName.Alloc();
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::SetVolume
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::SetVolume( const TInt aVolume )
- {
- iVolume = aVolume;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::SetRingingType
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::SetRingingType( TProfileRingingType aRingingType)
- {
- iRingingType = aRingingType;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::Volume
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTone::Volume() const
- {
- return iVolume;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::RingingType
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TProfileRingingType CPhoneRingingTone::RingingType() const
- {
- return iRingingType;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::FileName
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CPhoneRingingTone::FileName() const
- {
- // iFileName is never NULL
- return *iFileName;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::SetTtsToneToBePlayed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::SetTtsToneToBePlayed( TBool aTtsToneToBePlayed )
- {
- iTtsToneToBePlayed = aTtsToneToBePlayed;
- }
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::TtsToneToBePlayed
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::TtsToneToBePlayed() const
- {
-
- return iTtsToneToBePlayed;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::MimeType
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-const TDesC& CPhoneRingingTone::MimeType() const
- {
- if ( iMimeType )
- {
- return *iMimeType;
- }
- else
- {
- return KNullDesC;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsVideoRingingTone
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::IsVideoRingingTone()
- {
-#ifdef RD_VIDEO_AS_RINGING_TONE
- if ( RefreshMime() != KErrNone )
- {
- // try to handle as audio
- return EFalse;
- }
-
- TBool isVideo( EFalse );
-
- if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneVideoMime ) !=
- KErrNotFound )
- {
- isVideo = ETrue;
- }
- else if ( iMimeType && iMimeType->MatchF( KPhoneRingingToneRealVideoMime ) !=
- KErrNotFound )
- {
- isVideo = ETrue;
- }
-
- if ( isVideo )
- {
- if ( IsFileInRom() && !IsFileInVideoDirectory() )
- {
- // For ROM files check also location, because
- // MIME check is not fully reliable.
- isVideo = EFalse;
- }
- }
-
- return isVideo;
-#else
- // if extended security -> refresh MIME
- if ( iDrmInPlayback )
- {
- RefreshMime();
- }
-
- return EFalse;
-#endif
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileDrmProtected
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::IsFileDrmProtected() const
- {
- const TDesC& type = MimeType();
-
- if ( type == KAac || type == KMp3 || type == KMpeg ||
- type == K3gpp || type == KMp4 || type == KAmrWb ||
- type == KWavX || type == KWav || type == KV3gpp ||
- type == KVMp4 || type == KV3gpp2 )
- {
- ContentAccess::CContent* content = NULL;
- TRAPD( err, content = ContentAccess::CContent::NewL( *iFileName ) );
- if ( err == KErrNone && content )
- {
- TInt drmProtected( 0 );
- content->GetAttribute( ContentAccess::EIsProtected, drmProtected );
- delete content;
- return drmProtected;
- }
- }
-
- return ETrue; // Other MIMEs can be played without DRM check.
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileInRom
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::IsFileInRom() const
- {
- TParsePtrC parsedName( *iFileName );
-
- // Files on rom are not DRM checked
- if ( parsedName.Drive().CompareF( KPhoneRingingToneDriveZ ) == 0 )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::IsFileInVideoDirectory
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::IsFileInVideoDirectory() const
- {
- TParsePtrC parsedName( *iFileName );
-
- if ( PathInfo::PathType( parsedName.DriveAndPath() ) ==
- PathInfo::EVideosPath )
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::RefreshMime
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTone::RefreshMime()
- {
- TRAPD( err, RefreshMimeL() );
- return err;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingTone::RefreshMimeL
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::RefreshMimeL()
- {
- RApaLsSession apaLsSession;
- User::LeaveIfError( apaLsSession.Connect() );
- CleanupClosePushL( apaLsSession );
-
- TUid dummyUid = { 0 };
- TDataType dataType( dummyUid );
-
- User::LeaveIfError(
- apaLsSession.AppForDocument( *iFileName, dummyUid, dataType ) );
-
- CleanupStack::PopAndDestroy(); // CleanupClosePushL
-
- delete iMimeType;
- iMimeType = NULL;
- iMimeType = dataType.Des().AllocL();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingTone::CheckAndHandleToneSizeLimit()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::CheckAndHandleToneSizeLimit()" );
-
- TBool bValidSize = ETrue;
-
- // If user has somehow managed to get a too large file as ringing tone,
- // play default tone instead.
- if ( iToneFileSizeLimitKB )
- {
- if ( CheckToneFileSize( FileName(), iToneFileSizeLimitKB) != KErrNone )
- {
- bValidSize = EFalse;
- }
- }
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneRingingtone::CheckAndHandleToneSizeLimit - bValidSize(%d)",
- bValidSize);
-
- return bValidSize;
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingTone::CheckToneFileSize( const TDesC& aFile,
- TInt aSizeLimitKB )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::CheckToneFileSize()" );
- //return KErrNone;
-
- // Get file size
- TInt size = 0;
-
- RFs fs;
- TInt error = fs.Connect();
- TEntry entry;
- if ( KErrNone == error )
- {
- if (KErrNone == fs.Entry( aFile, entry ))
- {
- size = entry.iSize;
- }
-
- // Check
- aSizeLimitKB *= Kkilo;
- if ( aSizeLimitKB && size > aSizeLimitKB )
- {
- error = KErrTooBig;
- }
- }
-
- fs.Close();
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneRingingtonePlayer::CheckToneFileSize - size (%d)",
- size );
- return error;
-
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingTone::GetMaxToneFileSize()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtone::GetMaxToneFileSize()" );
- iToneFileSizeLimitKB = KPhoneToneFileSizeLimitKB;
- }
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphoneringingtonecontroller.cpp
--- a/phoneapp/phoneringingtoneplayer/src/cphoneringingtonecontroller.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,588 +0,0 @@
-/*
-* 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:
-*
-*/
-
-// INCLUDE FILES
-#include
-#include "cphoneringingtonecontroller.h"
-#include "phonelogger.h"
-#include "cphoneringingtone.h"
-#include "tphonecmdparamringtone.h"
-#include "cphonecenrepproxy.h"
-#include "cphoneringingtoneplayer.h"
-#include "cphonettsplayer.h"
-
-// CONSTANTS
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::NewL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CPhoneRingingToneController* CPhoneRingingToneController::NewL()
- {
- CPhoneRingingToneController* self =
- new ( ELeave ) CPhoneRingingToneController();
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::CPhoneRingingToneController
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingToneController::CPhoneRingingToneController()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::ConstructL()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ConstructL()" );
- //iMediatorSender = CPhoneMediatorSender::NewL();
- //iMediatorSender->AttachCoverUiObserverL( this );
-
- iRingingtonePlayer = CPhoneRingingtonePlayer::NewL();
-
- // Check video player configuration.
- iArbitraryVideoScaling =
- CPhoneCenRepProxy::Instance()->IsTelephonyFeatureSupported(
- KTelephonyLVFlagArbitraryVideoScaling );
-
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::~CPhoneRingingToneController
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingToneController::~CPhoneRingingToneController()
- {
- /*if ( iMediatorSender )
- {
- iMediatorSender->DetachCoverUiObserver( this );
- }*/
-
- //delete iMediatorSender;
- //iMediatorSender = NULL
-
-
- delete iAudioVideoRingingTone;
- iAudioVideoRingingTone = NULL;
- delete iTTSPlayer;
- iTTSPlayer = NULL;
- delete iRingingtonePlayer;
- iRingingtonePlayer = NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::PlayRingToneL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneRingingToneController::PlayRingToneL(
- TPhoneCommandParam* aCommandParam )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayRingToneL()" );
-
- if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdRingTone )
- {
- TPhoneCmdParamRingTone* ringToneParam =
- static_cast( aCommandParam );
-
- const TInt volume = ringToneParam->Volume();
- TProfileRingingType ringingType =
- static_cast( ringToneParam->RingingType() );
-
- if ( !iAudioVideoRingingTone )
- {
- iAudioVideoRingingTone = CPhoneRingingTone::NewL(
- ringToneParam->RingTone() );
- }
-
- // Store pofile based parameters.
- iAudioVideoRingingTone->SetFileName( ringToneParam->RingTone() );
- iAudioVideoRingingTone->SetVolume( volume );
- iAudioVideoRingingTone->SetRingingType ( ringingType );
- iAudioVideoRingingTone->SetTtsToneToBePlayed(
- ringToneParam->TextToSay().Length()? ETrue : EFalse);
-
-
- // Caller contact text and image and image has
- // higher priority than video ringing tone set for caller.
- if ( iAudioVideoRingingTone->IsVideoRingingTone() )
- {
- if ( ringToneParam->IsCallerImage() )
- {
- // Play only audio from video ringingtone
- PlayAudioRingTone(
- volume,
- ringingType );
- }
- else
- {
- // Play video ring tone
- const TBool ringToneIsPersonal = ringToneParam->Type() ==
- EPhoneRingTonePersonal;
- PlayVideoRingingTone(
- *iAudioVideoRingingTone,
- volume,
- ringingType,
- ringToneIsPersonal );
- }
- }
- else
- {
- // Play text to speech, if available
- if ( ringToneParam->TextToSay().Length() )
- {
- if (iTTSPlayer)
- {
- delete iTTSPlayer;
- iTTSPlayer = NULL;
- }
- iTTSPlayer = CPhoneTTSPlayer::NewL(iRingingtonePlayer);
- iTTSPlayer->AddTtsPlaybackIfNeeded();
- iTTSPlayer->PlayTtsTone(
- ringToneParam->TextToSay(),
- iAudioVideoRingingTone );
- }
- // Play audio ring tone
- PlayAudioRingTone(
- volume,
- ringingType );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::PlayAudioRingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::PlayAudioRingTone(
- TInt aVolume,
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayAudioRingTone()" );
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneRingingToneController::PlayAudioRingTone - aVolume(%d), aRingingType(%d)",
- aVolume,
- aRingingType );
-
- if ( !iAudioVideoRingingTone ||
- !iAudioVideoRingingTone->CheckAndHandleToneSizeLimit() )
- {
- iRingingtonePlayer->PlayDefaultTone( aVolume, aRingingType );
- }
- else if ( aRingingType == EProfileRingingTypeSilent )
- {
- iRingingtonePlayer->PlaySilentTone();
- }
- else if ( aRingingType == EProfileRingingTypeBeepOnce )
- {
- iRingingtonePlayer->PlayBeepOnce( aVolume );
- }
- else
- {
- iRingingtonePlayer->PlayProfileBasedTone(iAudioVideoRingingTone);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::MuteRingingToneOnAnswer
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneRingingToneController::MuteRingingToneOnAnswer()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::MuteRingingToneOnAnswer()" );
-
- /* if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying )
- {
- // Mute the video audio
- iVideoPlayer->MuteVideoRingTone();
- iTonePlayingStatus = ESilentVideoTonePlaying;
- iVolume = 0;
- }
- else
- {*/
- DoMuteRingingTone();
- //}
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::MuteRingingTone
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneRingingToneController::MuteRingingTone()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::MuteRingingTone()" );
-
- /* if ( iVideoPlayer && iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying )
- {
- // Mute the video audio
- iVideoPlayer->MuteVideoRingTone();
- iTonePlayingStatus = ESilentVideoTonePlaying;
- iVolume = 0;
- }
- else
- {*/
- StopPlaying();
- //}
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::StopPlaying
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPhoneRingingToneController::StopPlaying()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::StopPlaying()" );
- if ( iTTSPlayer )
- {
- iTTSPlayer->StopPlaying();
- delete iTTSPlayer;
- iTTSPlayer = NULL;
- }
- iRingingtonePlayer->StopPlaying();
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::DoMuteRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::DoMuteRingingTone()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::DoMuteRingingTone()" );
-
- /* switch( iTonePlayingStatus )
- {
- case EVideoTonePlaying: // video ringing tone, fall through
- case EPersonalVideoTonePlaying: // fall through
- case ESilentVideoTonePlaying:
- if ( iVideoPlayer )
- {
- iVideoPlayer->MuteVideoRingTone();
- return;
- }
- break;
-
- default:
- break;
- }*/
-
- iRingingtonePlayer->MuteActiveAudioPlayer();
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::ConvertVideoRingingType
-// -----------------------------------------------------------------------------
-//
-MPhoneVideoPlayer::TPlayMode CPhoneRingingToneController::ConvertVideoRingingType(
- TProfileRingingType aRingingType )
- {
- MPhoneVideoPlayer::TPlayMode playMode;
-
- switch ( aRingingType )
- {
- case EProfileRingingTypeAscending:
- playMode = MPhoneVideoPlayer::EPlayAscending;
- break;
- case EProfileRingingTypeRingingOnce:
- playMode = MPhoneVideoPlayer::EPlayOnce;
- break;
- case EProfileRingingTypeRinging:
- default:
- playMode = MPhoneVideoPlayer::EPlayInLoop;
- break;
- }
-
- return playMode;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::SetVideoPlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::SetVideoPlayer(
- MPhoneVideoPlayer* aVideoPlayer )
- {
- iVideoPlayer = aVideoPlayer;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::PlayVideoRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::PlayVideoRingingTone(
- const CPhoneRingingTone& /*aRingingTone*/,
- TInt /*aVolume*/,
- TProfileRingingType /*aRingingType*/,
- TBool /*aPersonalTone*/ )
- {
- /*
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayVideoRingingTone()" );
-
- __ASSERT_DEBUG( iVideoPlayer, Panic( EPhoneViewGeneralError ) );
-
- iVolume = aVolume;
- iRingingType = aRingingType;
- TBool startTimer( ETrue );
-
- // Extended security check
- if ( ExtendedSecurity() )
- {
- if ( !aRingingTone.IsFileInRom() &&
- !aRingingTone.IsFileDrmProtected() )
- {
- __PHONELOG( EBasic,
- EPhoneControl,
- "CPhoneRingingToneController::HandleVideoPlayerError - PermissionDenied" );
- iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );
- return;
- }
- __PHONELOG( EBasic,
- EPhoneControl,
- "CPhoneRingingToneController::HandleVideoPlayerError - ExtSecChk ok" );
- }
-
- // If flip is closed then show video on Cover UI
- TBool videoPlaySentToCoverUi( EFalse );
- TInt leaveCode( KErrNone );
- if ( FeatureManager::FeatureSupported( KFeatureIdCoverDisplay ) )
- {
- const TInt flipOpen = CPhonePubSubProxy::Instance()->Value(
- KPSUidUikon, KUikFlipStatus );
- if( !flipOpen )
- {
- TRAP( leaveCode, videoPlaySentToCoverUi = CoverUIPlayVideoRingingToneL(
- aRingingTone ) );
- }
- }
- // Play ringing tone here if video play sending did leave or
- // video playing wasn't delegated to Cover UI
- if( !leaveCode && videoPlaySentToCoverUi )
- {
- iTimer->After( KPhoneMaxRingingWaiting, this );
- return;
- }
-
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingToneController::PlayVideoRingingTone - play" );
- switch( aRingingType )
- {
- case EProfileRingingTypeSilent:
- iVideoPlayer->PlayVideoRingTone(
- aRingingTone.FileName(),
- ConvertVideoRingingType( aRingingType ),
- 0,
- iArbitraryVideoScaling,
- this );
- iRingingtonePlayer->PlaySilentTone();
- iVolume = 0; // for repeat
- startTimer = EFalse; // no need for fallback
- break;
-
- case EProfileRingingTypeBeepOnce:
- iVideoPlayer->PlayVideoRingTone(
- aRingingTone.FileName(),
- ConvertVideoRingingType( aRingingType ),
- 0,
- iArbitraryVideoScaling,
- this );
- iRingingtonePlayer->BeepOnce( aVolume );
- iVolume = 0; // for repeat
- startTimer = EFalse; // no need for fallback
- break;
- default:
- iVideoPlayer->PlayVideoRingTone(
- aRingingTone.FileName(),
- ConvertVideoRingingType( aRingingType ),
- iVolume,
- iArbitraryVideoScaling,
- this );
- break;
- }
-
- if ( aPersonalTone )
- {
- iTonePlayingStatus = EPersonalVideoTonePlaying;
- }
- else
- {
- iTonePlayingStatus = EVideoTonePlaying;
- }
-
- if ( startTimer && !iTimer->IsActive() )
- {
- // Start timer to guard video opening
- iTimer->After( KPhoneMaxRingingWaiting, this );
- }
- */
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::HandleVideoPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::HandleVideoPlayerError(
- TPhoneVideoPlayerErrorEvent /*aEvent*/,
- TInt /*aError*/ )
- {
- /* __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerError()" );
-
- if ( aError )
- {
- __PHONELOG1( EBasic,
- EPhoneControl,
- "CPhoneRingingToneController::HandleVideoPlayerError - error (%d)",
- aError );
- }
-
- // cancel guarding timer
- iTimer->Cancel();
-
- // to remove video window
- iVideoPlayer->CancelVideoRingTone();
-
- if ( iTonePlayingStatus == EPersonalVideoTonePlaying )
- {
- // Play default tone (active profile tone).
- if ( iAudioVideoRingingTone &&
- !iAudioVideoRingingTone->IsVideoRingingTone() )
- {
- PlayAudioRingTone( iVolume, iRingingType );
- }
- else // audio/video tone is video
- {
- PlayDefaultVideoAsync();
- }
- }
- else
- {
- // Play backup tone
- iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );
- }
-*/
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::HandleVideoPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::HandleVideoPlayerInitComplete()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerInitComplete()" );
-
- // cancel guarding timer
- //iTimer->Cancel();
-
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::HandleVideoPlayerPlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::HandleVideoPlayerPlayingComplete()" );
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::PlayDefaultVideoAsync
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::PlayDefaultVideoAsync()
- {
- /* __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::PlayDefaultVideoAsync()" );
-
- Cancel();
-
- iState = EPlayingDefaultVideo;
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();*/
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::ExtendedSecurity
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingToneController::ExtendedSecurity() const
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ExtendedSecurity()" );
- return EFalse;
- //return iExtSecNeeded;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::CoverUIPlayVideoRingingToneL
-// -----------------------------------------------------------------------------
-//
-TBool CPhoneRingingToneController::CoverUIPlayVideoRingingToneL(
- const CPhoneRingingTone& aRingingTone )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::CoverUIPlayVideoRingingToneL()" );
-
- TBool showVideo( EFalse );
-
- RBuf8 data;
- CleanupClosePushL( data );
- data.CreateL( aRingingTone.FileName().Length() );
- data.Copy( aRingingTone.FileName() );
- /*TInt err = iMediatorSender->IssueCommand(
- EPhoneCmdCoverUiShowMultimediaRingingTone,
- data );
- if ( err == KErrNone )
- {
- showVideo = ETrue;
- iActiveCoverUICommand = ETrue;
- }*/
- CleanupStack::PopAndDestroy(); //data
-
- return showVideo;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingToneController::ShowMultimediaRingingToneResponseL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingToneController::ShowMultimediaRingingToneResponseL(
- TInt aStatus )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingToneController::ShowMultimediaRingingToneResponseL()" );
-
- //iTimer->Cancel();
- if( aStatus != KErrNone && iActiveCoverUICommand )
- {
- iRingingtonePlayer->PlayDefaultTone( iVolume, iRingingType );
- }
- iActiveCoverUICommand = EFalse;
- }
-
-
-
-// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/src/cphoneringingtoneplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,967 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "cphoneringingtoneplayer.h"
-#include "cphoneaudioplayer.h"
-#include "cphoneringingtone.h"
-#include "phonelogger.h"
-#include "cphonecenrepproxy.h"
-#include "cphonepubsubproxy.h"
-#include "cphonetimer.h"
-#include "phoneconstants.h"
-#include "phoneui.pan"
-
-CPhoneRingingtonePlayer::CPhoneRingingtonePlayer():
-CActive( CActive::EPriorityStandard ), iAsyncDeletePlayers( EPlayerCount )
-{
- CActiveScheduler::Add( this );
-}
-
-CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer()
- {
- iAsyncDeletePlayers.ResetAndDestroy();
- iAsyncDeletePlayers.Close();
-
- delete iTimer;
-
- CleanupPlayers();
-
- Cancel();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::CleanupPlayers()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::CleanupPlayers()" );
-
- delete iAudioPlayer;
- iAudioPlayer = NULL;
- delete iDefaultPlayer;
- iDefaultPlayer = NULL;
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
- delete iSilentPlayer;
- iSilentPlayer = NULL;
- delete iBackupPlayer;
- iBackupPlayer = NULL;
- delete iMdaServer;
- iMdaServer = NULL;
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingtonePlayer* CPhoneRingingtonePlayer::NewL()
- {
- CPhoneRingingtonePlayer* self =
- new ( ELeave ) CPhoneRingingtonePlayer();
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructL()
- {
-
- // Construct timer.
- iTimer = CPhoneTimer::NewL();
-
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- User::LeaveIfError(
- iAsyncDeletePlayers.Append( NULL ) );
- }
-
- //disabling the DRM for the TB10.1wk46 release. Lets see if need to put it back and how.
- //iExtSecNeeded = ( ( err == KErrNone ) && extSecNeeded ) ? ETrue : EFalse;
- iExtSecNeeded = EFalse;
-
- // Construct players.
- if ( !iMdaServer )
- {
- iMdaServer = CMdaServer::NewL();
- }
-
- // Backup player.
- ConstructBackupPlayer();
- ConstructDefaultPlayerL();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayProfileBasedTone( CPhoneRingingTone* aAudioVideoRingingTone )
- {
- iAudioVideoRingingTone = aAudioVideoRingingTone;
- // Construct player for line 1.
- if ( !iAudioPlayer )
- {
- iAudioPlayer = ConstructTonePlayer(
- *iAudioVideoRingingTone,
- EPlayerAudio );
- if ( !iTimer->IsActive() )
- {
- // Start timer, since the player is constructed.
- iTimer->After( KPhoneMaxRingingWaiting, this );
- }
- }
-
- // Start playing.
- if ( !iAudioPlayer )
- {
- iTimer->Cancel();
- PlayDefaultTone( aAudioVideoRingingTone->Volume(),
- aAudioVideoRingingTone->RingingType() );
- }
- else
- {
- __PHONELOG(
- EBasic,
- EPhoneControl,
- "CPhoneRingingtonePlayer::PlayAudioRingTone - Start playing audio" );
- iVolume = aAudioVideoRingingTone->Volume();
- iRingingType = aAudioVideoRingingTone->RingingType();
- //AddTtsPlaybackIfNeeded( aRingingType );
- iTonePlayingStatus = EAudioTonePlaying;
- iAudioPlayer->Play(
- ConvertRingingType( aAudioVideoRingingTone->RingingType() ),
- aAudioVideoRingingTone->Volume(),
- aAudioVideoRingingTone->TtsToneToBePlayed());
- }
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayBeepOnce( TInt aVolume )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::BeepOnce()" );
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::BeepOnce - aVolume(%d)",
- aVolume );
-
- if ( !iBeepOncePlayer )
- {
- ConstructSequencePlayer( EPlayerBeepOnce );
- }
-
- if ( iBeepOncePlayer )
- {
- __PHONELOG(
- EBasic,
- EPhoneControl,
- "CPhoneRingingtonePlayer::BeepOnce - Play" );
- iTonePlayingStatus = EBeepOnce;
- iBeepOncePlayer->Play( CPhoneAudioPlayer::ETypeRingingOnce,
- aVolume, EFalse );
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlaySilentTone()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlaySilentTone()" );
-
- if ( !iSilentPlayer )
- {
- ConstructSequencePlayer( EPlayerSilent );
- }
-
- if ( iSilentPlayer )
- {
- __PHONELOG(
- EBasic,
- EPhoneControl,
- "CPhoneRingingtonePlayer::PlaySilentTone - play" );
- iTonePlayingStatus = ESilentTonePlaying;
- iSilentPlayer->Play( CPhoneAudioPlayer::ETypeRinging, 0, EFalse );
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayDefaultTone(
- TInt aVolume,
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone()" );
-
- if( aRingingType == EProfileRingingTypeSilent ||
- aRingingType == EProfileRingingTypeBeepOnce )
- {
- return;
- }
-
- if ( !iDefaultRingingTone )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - default tone does not exist, play backup..." );
- PlayBackupTone( aVolume, aRingingType );
- return;
- }
-
- // Construct player.
- if ( !iDefaultPlayer )
- {
- iDefaultPlayer = ConstructTonePlayer(
- *iDefaultRingingTone,
- EPlayerDefault );
- if ( !iTimer->IsActive() )
- {
- iTimer->After( KPhoneMaxRingingWaiting, this );
- }
- }
-
- // Start playing backup.
- if ( !iDefaultPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - player not constructed, play backup..." );
- iTimer->Cancel();
- PlayBackupTone( aVolume, aRingingType );
- }
- else
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayDefaultTone - play" );
- iVolume = aVolume;
- iRingingType = aRingingType;
- iTonePlayingStatus = EDefaultTonePlaying;
- iDefaultPlayer->Play(
- ConvertRingingType( aRingingType ), aVolume,
- iAudioVideoRingingTone->TtsToneToBePlayed());
- }
-
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayBackupTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayBackupTone(
- TInt aVolume,
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::PlayBackupTone()" );
- __ASSERT_DEBUG( iBackupPlayer, Panic( EPhoneViewGeneralError ) );
-
- if ( !iBackupPlayer )
- {
- ConstructBackupPlayer();
- }
-
- if ( iBackupPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::PlayBackupTone - play" );
- iTonePlayingStatus = EBackupTonePlaying;
-/*
- // playing text-to-speech, if necessary
- iTtsToneToBePlayed = EFalse;
- iTTsTimeOutCounter = 0;
- iTtsDelayTimer->Cancel();
- if ( iTtsPlayer )
- {
- iTtsPlayer->StopPlaying();
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }*/
-
- iBackupPlayer->Play(
- ConvertRingingType( aRingingType ), aVolume, EFalse );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::StopPlaying()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::StopPlaying()" );
-
- iTimer->Cancel();
-
- switch( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- if( iAudioPlayer )
- {
- iAudioPlayer->StopPlaying();
- delete iAudioPlayer;
- iAudioPlayer = NULL;
- }
- break;
- case EDefaultTonePlaying:
- if ( iDefaultPlayer )
- {
- iDefaultPlayer->StopPlaying();
- delete iDefaultPlayer;
- iDefaultPlayer = NULL;
- }
- break;
- case EBeepOnce:
- if( iBeepOncePlayer )
- {
- iBeepOncePlayer->StopPlaying();
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
- }
- break;
- case EBackupTonePlaying:
- if( iBackupPlayer )
- {
- iBackupPlayer->StopPlaying();
- }
- break;
- case ESilentTonePlaying:
- if( iSilentPlayer )
- {
- iSilentPlayer->StopPlaying();
- delete iSilentPlayer;
- iSilentPlayer = NULL;
- }
- break;
- case EVideoTonePlaying: // video ringing tone
- case EPersonalVideoTonePlaying:
- case ESilentVideoTonePlaying:
- if ( iBeepOncePlayer )
- {
- iBeepOncePlayer->StopPlaying();
- delete iBeepOncePlayer;
- iBeepOncePlayer = NULL;
- }
-
- if ( iSilentPlayer )
- {
- iSilentPlayer->StopPlaying();
- delete iSilentPlayer;
- iSilentPlayer = NULL;
- }
- /*if ( iVideoPlayer )
- {
- iVideoPlayer->StopVideoRingTone();
- }*/
- if ( iAudioVideoRingingTone )
- {
- delete iAudioVideoRingingTone;
- iAudioVideoRingingTone = NULL;
- }
- break;
- case EIdle:
- // Do nothing here.
- return;
- default:
- Panic( EPhoneViewCaseNotHandled );
- break;
- }
-
- iTonePlayingStatus = EIdle;
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer* CPhoneRingingtonePlayer::ConstructTonePlayer(
- const CPhoneRingingTone& aRingingTone,
- TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructTonePlayer()" );
- return CPhoneAudioPlayer::New(
- aRingingTone,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- aId,
- iMdaServer,
- aId == EPlayerDefault ? EFalse : iExtSecNeeded );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingtonePlayer::ConstructBackupPlayer()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructBackupPlayer()" );
- TRAPD( err, ConstructBackupPlayerL() );
- return err;
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructBackupPlayerL()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructBackupPlayerL()" );
-
- // Construct Backup player.
- if ( !iBackupPlayer )
- {
- TFileName defaultSoundFile( KDriveZ );
- defaultSoundFile.Append( KPhoneDefaultSoundFile );
- iBackupPlayer = CPhoneAudioPlayer::NewL(
- defaultSoundFile,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBackup,
- iMdaServer
- );
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructDefaultPlayerL()
- {
- // Construct the default ringing tone
- TBuf defaultTone;
- defaultTone = _L("z:\\data\\sounds\\digital\\Nokia tune.aac");
- TInt err(KErrNone);
-
- if ( err == KErrNone )
- {
- iDefaultRingingTone = CPhoneRingingTone::NewL( defaultTone );
- }
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructSequencePlayer( TPlayerId aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructSequencePlayer()" );
-
- // Construct players.
- TRAPD( err, ConstructSequencePlayerL( aId ) );
- if ( err )
- {
- __PHONELOG1( EBasic, EPhoneControl,
- "CPhoneRingingtonePlayer::ConstructSequencePlayer - err(%d)", err );
- }
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructSequencePlayerL( TPlayerId aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConstructSequencePlayerL()" );
- // Construct beep once player
- if ( aId == EPlayerBeepOnce )
- {
-#ifdef __WINS__
- TParse* fp = new (ELeave) TParse();
- fp->Set( KPhoneBeepOnceSoundFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( fp->FullName() );
- delete fp;
-
- iBeepOncePlayer = CPhoneAudioPlayer::NewL(
- fileName,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBeepOnce );
-#else
- iBeepOncePlayer = CPhoneAudioPlayer::NewSeqL(
- KPhoneBeepSequence(),
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerBeepOnce );
-#endif // __WINS__
- }
-
- // Construct Silent Player.
- else if ( aId == EPlayerSilent )
- {
-#ifdef __WINS__
- TParse* fp = new (ELeave) TParse();
- fp->Set( KPhoneSilentSoundFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( fp->FullName() );
- delete fp;
-
- iSilentPlayer = CPhoneAudioPlayer::NewL(
- fileName,
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerSilent );
-#else
- iSilentPlayer = CPhoneAudioPlayer::NewSeqL(
- KPhoneNoSoundSequence(),
- KAudioPriorityPhoneCall,
- KAudioPrefIncomingCall,
- *this,
- EPlayerSilent );
-#endif // __WINS__
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent /*aEvent*/,
- TInt aError,
- TInt /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleAudioPlayerError()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- __PHONELOG1( EBasic,
- EPhoneControl,
- "CPhoneRingingtonePlayer::HandleAudioPlayerError - error (%d)",
- aError );
-
- const TBool deleteAll = ( aError == KErrServerTerminated );
-
- if ( deleteAll )
- {
- // KErrServerTerminated is considered as fatal error. So we
- // need to delete everything.
-
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- DeletePlayerAsync( static_cast< TPlayerId >( i ) );
- }
-
- // Now all member audio players point to NULL, except
- // those players in iAsyncDeletePlayers. Recreate
- // players.
-
- ConstructBackupPlayer(); // Ignore error code.
- }
-
- iTimer->Cancel();
- DoHandlePlayerError( !deleteAll, EFalse );
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete( TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- if ( iTonePlayingStatus == EAudioTonePlaying && aId == EPlayerAudio ||
- iTonePlayingStatus == EDefaultTonePlaying && aId == EPlayerDefault )
- {
- iTimer->Cancel();
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandlePlayingComplete( TInt /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
-
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete - delete player - iTonePlayingStatus(%d)",
- iTonePlayingStatus );
-/* if (iAudioVideoRingingTone->TtsToneToBePlayed() &&
- iAudioVideoRingingTone->RingingType() == EProfileRingingTypeRinging )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::HandlePlayingComplete - return" );
- return;
- }*/
-
- switch( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- DeletePlayerAsync( EPlayerAudio );
- iAudioPlayer = NULL;
- break;
-
- case EDefaultTonePlaying:
- DeletePlayerAsync( EPlayerDefault );
- iDefaultPlayer = NULL;
- break;
-
- case ESilentTonePlaying:
- DeletePlayerAsync( EPlayerSilent );
- iSilentPlayer = NULL;
- break;
-
- case EBeepOnce:
- DeletePlayerAsync( EPlayerBeepOnce );
- iBeepOncePlayer = NULL;
- break;
-
- case EVideoTonePlaying:
- case EPersonalVideoTonePlaying:
- DeletePlayerAsync( EPlayerBeepOnce );
- iBeepOncePlayer = NULL;
- return; // beep once + video
-
- case EBackupTonePlaying:
- break;
-
- default:
- Panic( EPhoneViewCaseNotHandled );
- break;
- }
-
- iTonePlayingStatus = EIdle;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DeletePlayerAsync( TPlayerId aPlayer )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DeletePlayerAsync()" );
- __ASSERT_DEBUG( aPlayer >= EPlayerFirst && aPlayer < iAsyncDeletePlayers.Count(),
- Panic( EPhoneViewInvariant ) );
-
- // Player is not deleted here, but in RunL.
- Cancel();
-
- if ( iAsyncDeletePlayers[ aPlayer ] )
- {
- delete iAsyncDeletePlayers[ aPlayer ];
- iAsyncDeletePlayers[ aPlayer ] = NULL;
- }
-
- CPhoneAudioPlayer** players[] =
- {
- &iAudioPlayer,
- &iBeepOncePlayer,
- &iSilentPlayer,
- &iDefaultPlayer,
- &iBackupPlayer,
- &iTtsPlayer
- };
-
- __ASSERT_DEBUG( iAsyncDeletePlayers.Count() > aPlayer, Panic( EPhoneUtilsIndexOutOfBounds ) );
- iAsyncDeletePlayers[ aPlayer ] =
- *(players[ aPlayer ]);
- *(players[ aPlayer ]) = NULL;
-
- iState = EDeletingAudioPlayer;
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::RunL()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::RunL()" );
-
- switch ( iState )
- {
- case EDeletingAudioPlayer:
- {
- for ( TInt i = EPlayerFirst; i <= EPlayerLast; i++ )
- {
- delete iAsyncDeletePlayers[ i ];
- iAsyncDeletePlayers[ i ] = NULL;
- }
- }
- break;
-
- case EPlayingDefaultVideo:
- {
- //PlayAudioRingTone( iVolume, iRingingType );
- }
- break;
-
- case EIdleState:
- default:
- break;
- } // switch iState
-
- iState = EIdleState;
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DoCancel()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DoCancel()" );
- // Request is completed immediately before SetActive.
- }
-
-
-// -----------------------------------------------------------
-// CPhoneRingingtonePlayer::HandleCenRepChangeL
-// -----------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleCenRepChangeL(
- const TUid& aUid,
- const TUint /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleCenRepChangeL()");
-
- if ( aUid == KCRUidDRMHelperServer )
- {
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleTimeOutL()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::HandleTimeOutL()" );
- /* if( iActiveCoverUICommand )
- {
- iMediatorSender->CancelCommand(
- EPhoneCmdCoverUiShowMultimediaRingingTone );
- PlayDefaultTone( iVolume, iRingingType );
- iActiveCoverUICommand = EFalse;
- }*/
-
- // Guarding timer for startup has expired
- if ( iTonePlayingStatus == EVideoTonePlaying ||
- iTonePlayingStatus == ESilentVideoTonePlaying ||
- iTonePlayingStatus == EPersonalVideoTonePlaying )
- {
- //iVideoPlayer->CancelVideoRingTone(); // close video ringtone display
- PlayDefaultTone( iVolume, iRingingType );
- }
- else
- {
- // Start new audio player synchronously.
- DoHandlePlayerError( ETrue, ETrue );
- }
-
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DoHandlePlayerError(TBool aDelete, TBool aSync )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::DoHandlePlayerError()" );
- switch ( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- if ( aDelete )
- {
- if ( aSync )
- {
- delete iAudioPlayer;
- }
- else
- {
- DeletePlayerAsync( EPlayerAudio );
- }
-
- iAudioPlayer = NULL;
- }
-
-#ifdef __WINS__
- //PlayAudioRingTone( iVolume, iRingingType );
- iTonePlayingStatus = EDefaultTonePlaying;
-#else
- PlayDefaultTone( iVolume, iRingingType );
-#endif
- break;
- case EDefaultTonePlaying:
- if ( aDelete )
- {
- if ( aSync )
- {
- delete iDefaultPlayer;
- }
- else
- {
- DeletePlayerAsync( EPlayerDefault );
- }
-
- iDefaultPlayer = NULL;
- }
-
- PlayBackupTone( iVolume, iRingingType );
- break;
- case ESilentTonePlaying:
- case EBeepOnce:
- case EBackupTonePlaying:
- break;
- default:
- break;
- }
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneRingingtonePlayer::ConvertRingingType(
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ConvertRingingType()" );
-
- CPhoneAudioPlayer::TRingingType ringingType =
- CPhoneAudioPlayer::ETypeRinging;
- switch ( aRingingType )
- {
- case EProfileRingingTypeRinging:
- ringingType = CPhoneAudioPlayer::ETypeRinging;
- break;
-
- case EProfileRingingTypeAscending:
- ringingType = CPhoneAudioPlayer::ETypeAscending;
- break;
-
- case EProfileRingingTypeRingingOnce:
- ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
- break;
-
- default:
- break;
- }
- return ringingType;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer*
-CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs()" );
-
- if( iAudioPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - audio player" );
- return iAudioPlayer;
- }
- else if ( iDefaultPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - default player" );
- return iDefaultPlayer;
- }
- else if( iBackupPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayerWithTTs - backup player" );
- return iBackupPlayer;
- }
- else
- {
- return NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::MuteActiveAudioPlayer()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneRingingtonePlayer::ActiveAudioPlayer()" );
-
- switch( iTonePlayingStatus )
- {
- case EAudioTonePlaying:
- if( iAudioPlayer )
- {
- iAudioPlayer->MutePlaying();
- }
- break;
-
- case EDefaultTonePlaying:
- if ( iDefaultPlayer )
- {
- return iDefaultPlayer->MutePlaying();
- }
- break;
-
- case EBeepOnce:
- if( iBeepOncePlayer )
- {
- return iBeepOncePlayer->MutePlaying();
- }
- break;
-
- case EBackupTonePlaying:
- if( iBackupPlayer )
- {
- return iBackupPlayer->MutePlaying();
- }
- break;
-
- case ESilentTonePlaying:
- if( iSilentPlayer )
- {
- return iSilentPlayer->MutePlaying();
- }
- break;
-
- case EVideoTonePlaying: // video ringing tone
- case EPersonalVideoTonePlaying:
- case ESilentVideoTonePlaying:
- if ( iBeepOncePlayer )
- {
- return iBeepOncePlayer->MutePlaying();
- }
- else if ( iSilentPlayer )
- {
- return iSilentPlayer->MutePlaying();
- }
- break;
-
- default:
- break;
- }
- }
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphonetoneserver.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphonetoneserver.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2010 - 2010 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: Ringing tone server.
+*
+*/
+
+
+// INCLUDE FILES
+#include
+#include
+
+#include "phoneringingtonetrace.h"
+#include "cphonetoneserver.h"
+#include "cphonetoneserversession.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::CPhoneToneServer
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServer::CPhoneToneServer()
+ : CServer2( EPriorityHigh )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::CPhoneToneServer <");
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::CPhoneToneServer >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::~CPhoneToneServer
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServer::~CPhoneToneServer()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::~CPhoneToneServer <");
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::~CPhoneToneServer >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::NewLC
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServer* CPhoneToneServer::NewLC()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::NewLC <");
+ CPhoneToneServer* self = new( ELeave )CPhoneToneServer;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::NewLC >");
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServer::ConstructL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::ConstructL <");
+ StartL( KRingingToneServerName );
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::ConstructL >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::NewSessionL
+// -----------------------------------------------------------------------------
+//
+CSession2* CPhoneToneServer::NewSessionL( const TVersion& /*aVersion*/,
+ const RMessage2& /*aMessage*/ ) const
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::NewSessionL <");
+ if ( iHasConnection )
+ {
+ // Server should be unique connectable.
+ User::Leave( KErrAccessDenied );
+ //return NULL;
+ }
+ CSession2* session = CPhoneToneServerSession::NewL(*this );
+ iHasConnection = ETrue;
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::NewSessionL >");
+ return session;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::ThreadEntryFunc
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneToneServer::ThreadEntryFunc( TAny* /*aPtr*/ )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::ThreadEntryFunc <");
+ CTrapCleanup* cleanup = CTrapCleanup::New();
+ CActiveScheduler* scheduler = new CActiveScheduler;
+
+ // Check that all allocations were ok
+ if ( !cleanup || !scheduler )
+ {
+ // Out of memory
+ delete scheduler;
+ delete cleanup;
+ return KErrNoMemory;
+ }
+ // Install active scheduler
+ CActiveScheduler::Install( scheduler );
+ // Run the server
+ TRAPD( err, CPhoneToneServer::RunServerL() );
+ // Uninstall active scheduler
+ CActiveScheduler::Install( NULL );
+ // Cleanup
+ delete scheduler;
+ delete cleanup;
+
+ PHONERINGINGTONE_PRINTF("CPhoneToneServer::ThreadEntryFunc - err(%d)",err);
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::ThreadEntryFunc >");
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::RunDown
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServer::RunDown() const
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::RunDown <");
+ CActiveScheduler::Stop();
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::RunDown >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServer::RunServerL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServer::RunServerL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::RunServerL <");
+ // Allocate server
+ CPhoneToneServer* server = CPhoneToneServer::NewLC();
+ // Notify that we're running
+ RThread::Rendezvous( KErrNone );
+ // Start active scheduler
+ CActiveScheduler::Start();
+ CleanupStack::PopAndDestroy(); // server
+ PHONERINGINGTONE_PRINT("CPhoneToneServer::RunServerL >")
+ }
+
+// End of file.
+
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphonetoneserverplaybackcontroller.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphonetoneserverplaybackcontroller.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,417 @@
+
+/*
+* Copyright (c) 2010 - 2010 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: Playback controller class for phone ringingtone server.
+*
+*/
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "cphonetoneserverplaybackcontroller.h"
+#include "cphonetoneserver.h"
+#include "cphonetoneserversession.h"
+#include "mphonetoneserver.h"
+#include "phoneconstants.h"
+#include "phoneringingtonetrace.h"
+
+const TInt KMinVolumeLevel = 1;
+const TInt KMaxVolumeLevel = 10;
+
+#if defined( __WINS__ )
+
+_LIT( KFileListRngMimeType, "rng" );
+_LIT8( KPhoneNoSoundSequence, "\x00\x11\x06\x05\xFC\x0A\x08\x40\x32\x0A\xF7\x40\x64\x06\x0B" );
+
+#else
+
+_LIT( KFileListRngMimeType, "application/vnd.nokia.ringing-tone" );
+
+#endif
+
+_LIT( KDefaultTone, "z:\\data\\sounds\\digital\\Nokia tune.aac" );
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerPlaybackController* CPhoneToneServerPlaybackController::NewL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::NewL <");
+ CPhoneToneServerPlaybackController* self =
+ new( ELeave )CPhoneToneServerPlaybackController;
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::NewL >");
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::ConstructL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::ConstructL <");
+ CTimer::ConstructL();
+ iRingingType = EProfileRingingTypeSilent;
+ iSilentPlayer = CMdaAudioToneUtility::NewL( *this );
+ iSilentPlayer->PrepareToPlayDesSequence( KPhoneNoSoundSequence() );
+ iDefaultPlayer = CMdaAudioPlayerUtility::NewFilePlayerL(
+ KDefaultTone(),
+ *this,
+ KAudioPriorityPhoneCall,
+ static_cast< TMdaPriorityPreference >( KAudioPrefIncomingCall ) );
+
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::ConstructL >");
+ }
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::CPhoneToneServerPlaybackController
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerPlaybackController::CPhoneToneServerPlaybackController():
+ CTimer(EPriorityHigh),
+ iRingingType( EProfileRingingTypeSilent )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::CPhoneToneServerPlaybackController <");
+ CActiveScheduler::Add(this);
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::CPhoneToneServerPlaybackController <");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::~CPhoneToneServerPlaybackController
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerPlaybackController::~CPhoneToneServerPlaybackController()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::~CPhoneToneServerPlaybackController <");
+ delete iSilentPlayer;
+ delete iDefaultPlayer;
+ delete iProfileSamplePlayer;
+ delete iProfileTonePlayer;
+ Cancel();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::~CPhoneToneServerPlaybackController <");
+ }
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::RunL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::RunL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::RunL <");
+ StopAndDeleteProfilePlayer();
+ PlayDefaultTone();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::RunL >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::ConvertVolume
+// -----------------------------------------------------------------------------
+//
+TInt CPhoneToneServerPlaybackController::ConvertVolume( TInt aMaxVolume, TInt aVolume )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::ConvertVolume <");
+ TInt result = aMaxVolume * aVolume / KMaxVolumeLevel;
+ if ( aVolume == KMinVolumeLevel && result == 0 )
+ {
+ result = 1;
+ }
+ PHONERINGINGTONE_PRINTF("CPhoneToneServerPlaybackController::ConvertVolume - result(%d)", result);
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::ConvertVolume >");
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::PlayProfileTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::PlayProfileTone()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayProfileTone <");
+ if ( iProfileSamplePlayer )
+ {
+ iProfileSamplePlayer->SetVolume(
+ ConvertVolume( iProfileSamplePlayer->MaxVolume(), iVolume ) );
+ iProfileSamplePlayer->SetRepeats(KPhoneMdaAudioToneRepeatForever,
+ TTimeIntervalMicroSeconds( KPhoneRingingRepeatsTrailPause ));
+ iProfileSamplePlayer->Play();
+ }
+ else if ( iProfileTonePlayer )
+ {
+ iProfileTonePlayer->SetVolume(
+ ConvertVolume( iProfileTonePlayer->MaxVolume(), iVolume ) );
+ iProfileTonePlayer->SetRepeats(KPhoneMdaAudioToneRepeatForever,
+ TTimeIntervalMicroSeconds( KPhoneRingingRepeatsTrailPause ));
+ iProfileTonePlayer->Play();
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayProfileTone >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::StopAndDeleteProfilePlayer
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::StopAndDeleteProfilePlayer()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::DeleteProfilePlayer() <");
+ if ( iProfileSamplePlayer )
+ {
+ iProfileSamplePlayer->Stop();
+ iProfileSamplePlayer->Close();
+ delete iProfileSamplePlayer;
+ iProfileSamplePlayer = NULL;
+ }
+ else if ( iProfileTonePlayer )
+ {
+ if ( EMdaAudioToneUtilityPlaying == iProfileTonePlayer->State() )
+ {
+ iProfileTonePlayer->CancelPlay();
+ }
+ else if (EMdaAudioToneUtilityNotReady == iProfileTonePlayer->State() )
+ {
+ iProfileTonePlayer->CancelPrepare();
+ }
+ delete iProfileTonePlayer;
+ iProfileTonePlayer = NULL;
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::DeleteProfilePlayer() >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::IsRngL
+// -----------------------------------------------------------------------------
+//
+TBool CPhoneToneServerPlaybackController::IsRngL( const TDesC& aFile )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::IsRng <");
+#if defined( __WINS__ )
+
+ TInt index = aFile.Find( KFileListRngMimeType() );
+
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::IsRng >");
+ return ( KErrNotFound != index );
+
+#else
+
+ RApaLsSession apaLsSession;
+ User::LeaveIfError( apaLsSession.Connect() );
+ CleanupClosePushL( apaLsSession );
+ TUid dummyUid = { 0 };
+ TDataType dataType( dummyUid );
+ User::LeaveIfError(
+ apaLsSession.AppForDocument( aFile, dummyUid, dataType ) );
+ CleanupStack::PopAndDestroy( &apaLsSession );
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::IsRng >");
+ return ( dataType.Des().CompareF( KFileListRngMimeType ) == 0 );
+
+#endif
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::MapcInitComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::MapcInitComplete( TInt aError,
+ const TTimeIntervalMicroSeconds& /*aDuration*/ )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MapcInitComplete <");
+ PHONERINGINGTONE_PRINTF("CPhoneToneServerPlaybackController::MapcInitComplete - aError(%d)",aError);
+ if ( !iDefaultPlayerInitialized && !aError )
+ {
+ // This player will be initialized first.
+ iDefaultPlayerInitialized = ETrue;
+ iDefaultPlayer->SetRepeats(KPhoneMdaAudioToneRepeatForever,
+ TTimeIntervalMicroSeconds( KPhoneRingingRepeatsTrailPause ));
+ return;
+ }
+ // Player is initialized at startup
+ if ( EProfileRingingTypeSilent == iRingingType )
+ {
+ return;
+ }
+
+ // Cancel backup player timer.
+ Cancel();
+
+ if ( !aError )
+ {
+ PlayProfileTone();
+ }
+ else if ( iDefaultPlayerInitialized )
+ {
+ PlayDefaultTone();
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MapcInitComplete >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::MatoPrepareComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::MatoPrepareComplete( TInt aError )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MatoPrepareComplete <");
+ PHONERINGINGTONE_PRINTF("CPhoneToneServerPlaybackController::MatoPrepareComplete - aError(%d)",aError);
+
+ // Player is initialized at startup
+ if ( EProfileRingingTypeSilent == iRingingType )
+ {
+ return;
+ }
+
+ // Cancel backup player timer.
+ Cancel();
+
+ if ( !aError )
+ {
+ PlayProfileTone();
+ }
+ else if ( iDefaultPlayerInitialized )
+ {
+ PlayDefaultTone();
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MatoPrepareComplete >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::MapcPlayComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::MapcPlayComplete( TInt aError )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MapcPlayComplete <");
+ PHONERINGINGTONE_PRINTF("CPhoneToneServerPlaybackController::MapcPlayComplete - aError(%d)",aError);
+#if defined (__WINS__)
+
+ // S^4 onwards MdaAudioPlayer returns -5 (Not Supported)
+ // for audio files in emulator.
+ // Error code is ignored to avoid unwanted situation.
+ if ( aError == KErrNotSupported )
+ {
+ aError = KErrNone;
+ }
+#endif
+
+ if ( aError && iDefaultPlayerInitialized )
+ {
+ PlayDefaultTone();
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MapcPlayComplete >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::MatoPlayComplete
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::MatoPlayComplete( TInt aError )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MatoPlayComplete <");
+ PHONERINGINGTONE_PRINTF("CPhoneToneServerPlaybackController::MatoPlayComplete - aError(%d)",aError);
+ if ( aError && iDefaultPlayerInitialized )
+ {
+ PlayDefaultTone();
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::MatoPlayComplete >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::PlaySilentTone
+// -----------------------------------------------------------------------------
+
+void CPhoneToneServerPlaybackController::PlaySilentTone()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlaySilentTone <");
+ iSilentPlayer->Play();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlaySilentTone >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerPlaybackController::PlayNormalTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::PlayNormalToneL(
+ const TFileName& aName,
+ TInt aVolume,
+ TProfileRingingType aType )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayNormalTone <");
+ PHONERINGINGTONE_PRINTF3("CPhoneToneServerPlaybackController::PlayNormalTone - aName(%S), aVolume(%d), aType(%d)",&aName, aVolume, aType );
+
+ iVolume = aVolume;
+ iRingingType = aType;
+
+ StopAndDeleteProfilePlayer();
+ Cancel();
+ After( KPhoneMaxRingingWaiting );
+
+ if ( !aName.Length() )
+ {
+ PlayDefaultTone();
+ }
+ // RNG file types have to be played with CMdaAudioToneUtility player.
+ // Otherwise use sample player
+ else if ( IsRngL( aName ) )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayNormalTone - toneplayer");
+ iProfileTonePlayer = CMdaAudioToneUtility::NewL( *this );
+ iProfileTonePlayer->PrepareToPlayFileSequence( aName );
+ }
+ else
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayNormalTone - sampleplayer");
+ iProfileSamplePlayer = CMdaAudioPlayerUtility::NewFilePlayerL(
+ aName,
+ *this,
+ KAudioPriorityPhoneCall,
+ static_cast< TMdaPriorityPreference >( KAudioPrefIncomingCall ));
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::PlayNormalTone >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::PlayDefaultTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::PlayDefaultTone()
+ {
+ Cancel();
+ iDefaultPlayer->SetVolume(
+ ConvertVolume( iDefaultPlayer->MaxVolume(), iVolume ) );
+ iDefaultPlayer->Play();
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::StopTone
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerPlaybackController::StopTone()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::StopTone() <");
+
+ Cancel();
+ StopAndDeleteProfilePlayer();
+
+ iDefaultPlayer->Stop();
+
+ iSilentPlayer->CancelPlay();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerPlaybackController::StopTone() >");
+ }
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphonetoneserversession.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/cphonetoneserversession.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2010 - 2010 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: Phone ringing tone server session.
+*
+*/
+
+
+// INCLUDE FILES
+#include
+#include
+
+#include "phoneconstants.h"
+#include "mphonetoneserver.h"
+#include "cphonetoneserver.h"
+#include "phoneringingtonetrace.h"
+#include "cphonetoneserversession.h"
+#include "cphonetoneserverplaybackcontroller.h"
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::CPhoneToneServerSession
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerSession::CPhoneToneServerSession( const MPhoneToneServer& aServer )
+ : iServer( aServer )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::CPhoneToneServerSession <");
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::CPhoneToneServerSession >");
+ }
+
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::~CPhoneToneServerSession
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerSession::~CPhoneToneServerSession()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::~CPhoneToneServerSession <");
+ delete iController;
+ iServer.RunDown();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::~CPhoneToneServerSession >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::NewL
+// -----------------------------------------------------------------------------
+//
+CPhoneToneServerSession* CPhoneToneServerSession::NewL( const MPhoneToneServer& aServer )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::NewL <");
+ CPhoneToneServerSession* self = new( ELeave )CPhoneToneServerSession( aServer );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::NewL >");
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::ConstructL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerSession::ConstructL()
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ConstructL <");
+ iController = CPhoneToneServerPlaybackController::NewL();
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ConstructL >");
+ }
+
+// -----------------------------------------------------------------------------
+// CPhoneToneServerSession::ServiceL
+// -----------------------------------------------------------------------------
+//
+void CPhoneToneServerSession::ServiceL( const RMessage2& aMessage )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ServiceL <");
+ TInt volume = aMessage.Int1();
+ TProfileRingingType ringingType = ( TProfileRingingType )aMessage.Int2();
+
+ switch ( aMessage.Function() )
+ {
+
+ //S^4 onwards supported types are
+ //EProfileRingingTypeRinging and EProfileRingingTypeSilent
+ case EPlayAudioRingTone:
+ {
+ if ( EProfileRingingTypeSilent == ringingType )
+ {
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ServiceL - EProfileRingingTypeSilent");
+ iController->PlaySilentTone();
+ }
+ else
+ {
+ TFileName filename;
+ if ( aMessage.GetDesLength( 0 ) < filename.MaxLength() )
+ {
+ // Ignore error.
+ // Handling is done in audio playing sequence.
+ aMessage.Read( 0, filename );
+ }
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ServiceL - playNormalTone");
+ iController->PlayNormalToneL( filename, volume, ringingType );
+ }
+ }
+ break;
+
+ case EStopPlaying:
+ {
+ iController->StopTone();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ aMessage.Complete( KErrNone );
+ PHONERINGINGTONE_PRINT("CPhoneToneServerSession::ServiceL >");
+ }
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/cphonettsplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/src/cphonettsplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,502 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include "cphonettsplayer.h"
-#include "cphoneringingtone.h"
-#include "cphoneringingtoneplayer.h"
-#include "phonelogger.h"
-#include
-
-CPhoneTTSPlayer::CPhoneTTSPlayer(CPhoneRingingtonePlayer* aRingingtonePlayer):
-iRingingtonePlayer (aRingingtonePlayer)
- {
-
-
- }
-
-CPhoneTTSPlayer::~CPhoneTTSPlayer()
- {
- delete iTtsDelayTimer;
- delete iTtsPlayer;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneTTSPlayer* CPhoneTTSPlayer::NewL(CPhoneRingingtonePlayer* aRingingtonePlayer)
- {
- CPhoneTTSPlayer* self =
- new ( ELeave ) CPhoneTTSPlayer(aRingingtonePlayer);
-
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::ConstructL()
- {
- iTtsDelayTimer = CPhoneTimer::NewL();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::PlayTtsTone(
- const TDesC& aTextToSay,
- CPhoneRingingTone* aAudioVideoRingingTone )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::PlayTtsTone()" );
- //__PHONELOG2( EBasic, EPhoneControl, "CPhoneTTSPlayer::PlayTtsTone - aVolume(%d), aRingingType(%d)",
- // aVolume, aRingingType );
-
- if ( iTtsPlayer )
- {
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }
-
- //Set ringingtype for Tts.
- iTtsRingingType = aAudioVideoRingingTone->RingingType();
- iTtsVolume = aAudioVideoRingingTone->Volume();
-
- // TTS should be a bit louder, than main component.
- // No need to check for overflows, they are handled in SET_PHONE_VOLUME macro.
-
- TPtrC ttsHeader( KPhoneTtsHeader );
- HBufC* preparedString =
- HBufC::New( aTextToSay.Length() + ttsHeader.Length() );
-
- if ( preparedString )
- {
- TPtr pPreparedString = preparedString->Des();
- pPreparedString.Append( ttsHeader );
- pPreparedString.Append( aTextToSay );
-
- __PHONELOG1(
- EBasic,
- EPhoneControl,
- "CPhoneTTSPlayer::PlayTtsTone - about to say %S",
- &pPreparedString );
-
- TRAPD(
- error,
- iTtsPlayer = CPhoneAudioPlayer::NewTtsL(
- *preparedString,
- KAudioPriorityPhoneCall,
- KAudioPrefTextToSpeechCallHardCoded,
- *this,
- CPhoneRingingtonePlayer::EPlayerTts ) );
- if( error == KErrNone )
- {
- // To be played when default or personal tone will be played
- iTtsToneToBePlayed = ETrue;
- }
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneTTSPlayer::PlayTtsTone - error(%d), iTtsPhoneToBePlayed(%d)",
- error,
- iTtsToneToBePlayed );
-
- delete preparedString;
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::StopPlaying()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::StopPlaying()" );
-
- iTtsToneToBePlayed = EFalse;
- iTTsTimeOutCounter = 0;
- iTtsDelayTimer->Cancel();
- if ( iTtsPlayer )
- {
- iTtsPlayer->StopPlaying();
- delete iTtsPlayer;
- iTtsPlayer = NULL;
- }
- }
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent /*aEvent*/,
- TInt /*aError*/,
- TInt /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleAudioPlayerError()" );
-
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandleAudioPlayerInitComplete( TInt /*aId*/ )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleAudioPlayerInitComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- if( iTtsToneToBePlayed )
- {
- // Start TTS timer just before "normal ringtone component" starts
- // playing, i.e. after init completed.
- if ( iTtsDelayIndex < iTtsDelaysCount )
- {
- if ( !iTtsDelayTimer->IsActive() )
- {
- // There are TTS iterations to be played yet.
- iTtsDelayTimer->After(
- KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout, this ) );
- }
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandlePlayingComplete( TInt aId )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete()" );
- // This is called from CPhoneAudioPlayer - we do not
- // want to delete instances from which this method
- // is called.
-
- /* __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneTTSPlayer::HandlePlayingComplete - aId(%d), iRingingType(%d)",
- aId,
- iRingingType );*/
- __PHONELOG2(
- EBasic,
- EPhoneControl,
- "CPhoneTTSPlayer::HandlePlayingComplete - iTtsToneToBePlayed(%d), iTtsDelayIndex(%d)",
- iTtsToneToBePlayed,
- iTtsDelayIndex );
-
- if ( aId == CPhoneRingingtonePlayer::EPlayerTts )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS" );
-
- // TTS playing complete, normal tone player should volume up.
- if ( ( iTtsToneToBePlayed ) && ( ++iTtsDelayIndex < iTtsDelaysCount ) )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS first time" );
- //Callers name is said once. increase tone player volume.
- SolveNewVolumeAndRamptime( ESaidOnce );
-
- if ( !iTtsDelayTimer->IsActive() )
- {
- // There are TTS iterations to be played yet.
- iTtsDelayTimer->After( KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout,this ) );
- }
- }
- else
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - resuming after TTS second time" );
- SolveNewVolumeAndRamptime( ESaidTwice );
- }
-
- // No further processing. All TTS player-related events are not
- // "real" ringtone playing completions.
- return;
- }
- //Case: RingintonePlayer has completed playing with following set: ring once and
- // TTS is activated
- if ( iTtsRingingType == EProfileRingingTypeRingingOnce &&
- iTtsToneToBePlayed )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - ring once and TTS" );
- if ( iTtsDelayIndex < iTtsDelaysCount )
- {
- ReStartRingingTonePlayer();
- //Do not destroy player yet. Return.
- return;
- }
- }
- //Case: RingintonePlayer has completed playing with following set: ringing
- //and TTS is activated. We need to restart ringintoneplayer and new TTS
- //iterations are required.
- else if ( iTtsRingingType == EProfileRingingTypeRinging && iTtsToneToBePlayed )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - ringing and TTS" );
- if ( iTtsDelayIndex == iTtsDelaysCount )
- {
- //Case: Ringingtype is EProfileRingingTypeRinging. New TTS
- //iterations are required.
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::HandlePlayingComplete - need to restart TTS sequence" );
- //TTS has completed its iterations,set index to zero.
- iTtsDelayIndex = 0;
- if ( !iTtsDelayTimer->IsActive() )
- {
- //Restart TTS sequence
- iTtsDelayTimer->After(
- KPhoneTtsDelays[iTtsDelayIndex],
- TCallBack( HandleTtsDelayTimeout, this ) );
- }
- }
-
- ReStartRingingTonePlayer();
- //Do not destroy player yet. Return
- return;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneTTSPlayer::HandleTtsDelayTimeout( TAny* object )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::HandleTtsDelayTimeout()" );
- static_cast( object )->
- DoHandleTtsDelayTimeout();
- return KErrNone;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::DoHandleTtsDelayTimeout()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout()" );
- __PHONELOG2( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - iTtsRingingType(%d), iTTsTimeOutCounter(%d)",
- iTtsRingingType, iTTsTimeOutCounter );
-
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
-
- if ( !currPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - null current player" );
- return;
- }
- TInt volume( 0 );
- //Ascending case. TTs player needs to be ascending.
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- //Volume needs to be different in different ascending steps
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - play ascending" );
- if ( !iTTsTimeOutCounter )
- {
- //We are saying callers name for the first time in ascending mode.
- //Say callers name by volume level KTtsVolumeMin.
- volume = KTtsVolumeMin;
-
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- volume,
- iTtsToneToBePlayed );
- }
- else
- {
- //Checks the case that ringingtone is very quiet. Then do not play
- //TTS too loud
- volume = iTtsVolume < KTtsVolumeMin ? KTtsVolumeMin : KTtsVolumeAscendingRepeat;
-
- //We are saying callers name for the second time in ascending mode.
- //Say callers name by volume level KTtsVolumeAscendingRepeat and decrease current players volume
- //to KPlayerVolumeAscendingRepeat. RampTime is zero
- currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, 0 );
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- volume,
- iTtsToneToBePlayed );
- }
-
- }
- else //Normal ringing case.
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::DoHandleTtsDelayTimeout - play normal" );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume-5, 0 );
- iTtsPlayer->Play(
- ConvertRingingType( EProfileRingingTypeRingingOnce ),
- iTtsVolume,
- iTtsToneToBePlayed );
- }
-
- iTTsTimeOutCounter++;
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::AddTtsPlaybackIfNeeded
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::AddTtsPlaybackIfNeeded()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::AddTtsPlaybackIfNeeded()" );
- if ( iTtsToneToBePlayed )
- {
- iTtsDelayIndex = 0;
- iTtsDelaysCount = KPhoneTtsDelaysCount;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::SolveNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::SolveNewVolumeAndRamptime( TTtsStatus aStatus )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime()" );
-
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
- if ( !currPlayer )
- {
- __PHONELOG( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - null current player" );
- return;
- }
- TInt ramptime( 0 );
- //Here is handled the cases when Callers name is said. Sequence is:
- //3 sec. tone + name + 4 sec. tone + name +the tone until the end.
- switch ( aStatus )
- {
- case ESaidOnce:
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- //The ramptime could be ( 4 )* KPhoneTtsAscendingStep but now
- //we are setting this to 0 because when Say callers name is said
- //for first time: play ringing tone on level 3 for four secs.
- ramptime = 0;
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said once ascending - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( KPlayerVolumeAscendingRepeat, ramptime );
- }
- else
- {
- //Normal ringingtone case. Adjust volume back to profile level.
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said once normal - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
- }
- break;
-
- case ESaidTwice:
- if ( iTtsRingingType == EProfileRingingTypeAscending )
- {
- TInt vol = iTtsVolume;
- if ( vol > KPlayerVolumeAscendingRepeat )
- {
- vol = vol - KTtsVolumeAscendingDecrease;
- }
-
- //TTS playing complete for second time. increase tone player volume.
- ramptime = ( vol )*KPhoneTtsAscendingStep;
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said twice ascending - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, ramptime );
- }
- else
- {
- //Normal ringingtone case. Adjust volume back to profile level.
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneTTSPlayer::SolveNewVolumeAndRamptime - said twice normal - ramptime(%d)",
- ramptime );
- currPlayer->SetNewVolumeAndRamptime( iTtsVolume, 0 );
- }
- break;
-
- default:
- break;
- }
- }
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer*
-CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs()" );
-
- return iRingingtonePlayer->GetCurrentlyActiveAudioPlayer();
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::ReStartRingingTonePlayer()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::ReStartRingingTonePlayer()" );
-
- //First get currently active player which plays among TTS player.
- CPhoneAudioPlayer* currPlayer = NULL;
- currPlayer = GetCurrentlyActiveAudioPlayerWithTTs();
- if ( currPlayer )
- {
- currPlayer->ReStartPlaying();
- }
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneTTSPlayer::ConvertRingingType(
- TProfileRingingType aRingingType )
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneTTSPlayer::ConvertRingingType()" );
-
- CPhoneAudioPlayer::TRingingType ringingType =
- CPhoneAudioPlayer::ETypeRinging;
- switch ( aRingingType )
- {
- case EProfileRingingTypeRinging:
- ringingType = CPhoneAudioPlayer::ETypeRinging;
- break;
-
- case EProfileRingingTypeAscending:
- ringingType = CPhoneAudioPlayer::ETypeAscending;
- break;
-
- case EProfileRingingTypeRingingOnce:
- ringingType = CPhoneAudioPlayer::ETypeRingingOnce;
- break;
-
- default:
- break;
- }
- return ringingType;
- }
-
-
-
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/src/rphonetoneclient.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/src/rphonetoneclient.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2002-2005,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"
+* 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: Client interface of the phone ringing tone server.
+*
+*/
+
+
+// INCLUDE FILES
+#include
+#include
+#include
+
+#include "rphonetoneclient.h"
+#include "cphonetoneserver.h"
+#include "tphonecmdparamringtone.h"
+#include "phoneringingtonetrace.h"
+
+// LOCAL FUNCTION PROTOTYPES
+static TInt StartServer();
+
+// -----------------------------------------------------------------------------
+// RPhoneToneClient::RPhoneToneClient
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RPhoneToneClient::RPhoneToneClient() : RSessionBase()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// RPhoneToneClient::~RPhoneToneClient
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RPhoneToneClient::~RPhoneToneClient()
+ {
+ Close();
+ }
+
+// -----------------------------------------------------------------------------
+// RPhoneToneClient::Connect
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPhoneToneClient::Connect()
+ {
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::Connect <");
+
+ TBool reConnect( EFalse );
+
+ TInt err = CreateSession( KRingingToneServerName,
+ TVersion( KRingingToneSrvVersionMajor,
+ KRingingToneSrvVersionMinor,
+ KRingingToneSrvVersionBuild ) );
+
+ if ( KErrNotFound == err )
+ {
+ err = StartServer();
+
+ if ( !err )
+ {
+ reConnect = ETrue;
+ }
+ }
+
+ if ( reConnect )
+ {
+ err = CreateSession( KRingingToneServerName,
+ TVersion( KRingingToneSrvVersionMajor,
+ KRingingToneSrvVersionMinor,
+ KRingingToneSrvVersionBuild ) );
+ }
+
+ PHONERINGINGTONE_PRINTF("RPhoneToneClient::Connect - err(%d)", err);
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::Connect >");
+ return err;
+
+ }
+
+// -----------------------------------------------------------------------------
+// StartServer
+// -----------------------------------------------------------------------------
+//
+TInt StartServer()
+ {
+ PHONERINGINGTONE_PRINT("RPhoneToneClient - StartServer <");
+ // Form thread name
+ TTime time;
+ time.UniversalTime();
+
+ TFullName threadName;
+ threadName.Format( _L("PhoneRingingToneThread%Ld"), time.Int64() );
+
+ // Create thread
+ RThread thread;
+ TInt err = thread.Create( threadName,
+ CPhoneToneServer::ThreadEntryFunc,
+ 0x8000,
+ NULL,
+ NULL );
+
+ PHONERINGINGTONE_PRINTF("RPhoneToneClient - StartServer - err(%d)", err);
+ if ( err )
+ {
+ thread.Close();
+ return err;
+ }
+
+ thread.SetPriority( EPriorityAbsoluteHigh );
+ TRequestStatus status;
+ thread.Rendezvous( status );
+
+ thread.Resume();
+
+ // Wait for thread start or death
+ User::WaitForRequest( status );
+ thread.Close();
+ PHONERINGINGTONE_PRINT("RPhoneToneClient - StartServer >");
+ return status.Int();
+ }
+
+// -----------------------------------------------------------------------------
+// RPhoneToneClient::PlayRingingToneL
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPhoneToneClient::PlayRingingToneL( TPhoneCommandParam *aCommandParam )
+ {
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::PlayRingingToneL <");
+
+ if ( aCommandParam->ParamId() == TPhoneCommandParam::EPhoneParamIdRingTone )
+ {
+ TPhoneCmdParamRingTone* ringToneParam =
+ static_cast( aCommandParam );
+
+ TIpcArgs args( &( ringToneParam->RingTone() ),
+ ringToneParam->Volume(),
+ ringToneParam->RingingType() );
+ User::LeaveIfError( SendReceive( EPlayAudioRingTone, args ) );
+ }
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::PlayRingingToneL >");
+ }
+
+// -----------------------------------------------------------------------------
+// RPhoneToneClient::StopPlaying
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPhoneToneClient::StopPlayingL()
+ {
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::StopPlayingL <");
+ User::LeaveIfError( SendReceive( EStopPlaying ) );
+ PHONERINGINGTONE_PRINT("RPhoneToneClient::StopPlayingL >");
+ }
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/bwins/mt_phoneringingtoneplayeru.def
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/bwins/mt_phoneringingtoneplayeru.def Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+ ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
\ No newline at end of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/bld.inf Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2005-2006 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:
+*
+*/
+
+
+#include
+
+PRJ_PLATFORMS
+ WINSCW
+
+PRJ_EXPORTS
+
+// IBY file
+//../rom/mt_phoneringingtoneplayer.iby CORE_APP_LAYER_IBY_EXPORT_PATH(mt_phoneringingtoneplayer.iby)
+
+PRJ_MMPFILES
+
+PRJ_TESTMMPFILES
+mt_phoneringingtoneplayer.mmp
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/mt_phoneringingtoneplayer.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/mt_phoneringingtoneplayer.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010-2010 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: MT_phoneringingtoneplayer
+*
+*/
+
+
+#include
+#include
+
+TARGET mt_phoneringingtoneplayer.dll
+TARGETTYPE dll
+TARGETPATH /DigiaEUnit/Tests
+UID 0x1000af5a 0x01700000
+
+CAPABILITY EUNIT_CAPS
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE devsoundstub.cpp
+SOURCE mt_phoneringingtoneplayermain.cpp
+SOURCE mt_phoneringingtoneplayer.cpp
+
+SOURCEPATH ../../../src
+SOURCE cphonetoneserver.cpp
+SOURCE rphonetoneclient.cpp
+SOURCE cphonetoneserversession.cpp
+SOURCE cphonetoneserverplaybackcontroller.cpp
+SOURCEPATH ../../../../phoneuiutils/src/
+SOURCE tphonecommandparam.cpp
+SOURCE tphonecmdparamringtone.cpp
+
+USERINCLUDE ../../../inc
+USERINCLUDE ../../../../phoneuiutils/inc
+USERINCLUDE ../src
+USERINCLUDE ../../../../phoneui2/srcdata
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE ../../../../../inc
+SYSTEMINCLUDE /epoc32/include/Digia/EUnit
+
+
+LIBRARY EUnit.lib
+LIBRARY EUnitUtil.lib
+LIBRARY euser.lib
+
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/mt_phoneringingtoneplayer.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/group/mt_phoneringingtoneplayer.pkg Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,33 @@
+;
+; 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: For packing sssettings test compoment.
+;
+; Supported languages
+&en
+
+; Package header (one name for each supported language)
+#{"MT_SSSettings"},(0xA00001F2),1,0,0
+
+;Localised Vendor name
+%{"Nokia Test EN"}
+
+;Unique Vendor name
+:"Vendor"
+
+;Key and certificate
+*"rd-key.pem","rd.cer"
+
+; Language independent files that are always installed
+"\epoc32\release\armv5\urel\mt_phoneringingtoneplayer.dll"-"C:\DigiaEUnit\Tests\mt_phoneringingtoneplayer.dll"
+"\epoc32\release\armv5\urel\mt_phoneringingtoneplayer.dll"-"C:\sys\bin\mt_phoneringingtoneplayer.dll"
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/devsoundstub.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/devsoundstub.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,864 @@
+
+#include "devsoundstub.h"
+
+RPointerArray< CTestFunctionCallData > CMdaAudioPlayerUtility::iStaticTestData;
+
+RPointerArray< CTestFunctionCallData > CMdaAudioToneUtility::iStaticTestData;
+
+bool CMdaAudioPlayerUtility::iDelayedAudioLoading = EFalse;
+
+bool CMdaAudioPlayerUtility::iErrorInAudioLoading = EFalse;
+
+bool CMdaAudioToneUtility::iDelayedAudioLoading = EFalse;
+
+bool CMdaAudioToneUtility::iErrorInAudioLoading = EFalse;
+
+const TTimeIntervalMicroSeconds32 KNormalLoadingTime = TTimeIntervalMicroSeconds32( 1500000 );
+const TTimeIntervalMicroSeconds32 KDelayedLoadingTime = TTimeIntervalMicroSeconds32( 4000000 );
+
+const static TInt KGeneratedError = KErrNotFound;
+
+
+// -----------------------------------------------------------------------------
+// CMdaServer::NewL()
+// -----------------------------------------------------------------------------
+//
+CMdaServer* CMdaServer::NewL()
+ {
+ return new( ELeave )CMdaServer;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaServer::~CMdaServer()
+// -----------------------------------------------------------------------------
+//
+CMdaServer::~CMdaServer()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, HBufC* aString, TInt aInt1, TInt aInt2 )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, aString, aInt1, aInt2, TTimeIntervalMicroSeconds( 0 ) );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1, TInt aInt2 )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, aInt2, TTimeIntervalMicroSeconds( 0 ) );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1 )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, 0, TTimeIntervalMicroSeconds( 0 ) );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TInt aInt1, TTimeIntervalMicroSeconds aSeconds )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, aInt1, 0, aSeconds );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, TTimeIntervalMicroSeconds aSeconds )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, NULL, 0, 0, aSeconds );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::NewL
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData* CTestFunctionCallData::NewL( TInt aFunctionIndex, HBufC8* aString )
+ {
+ return new( ELeave )CTestFunctionCallData( aFunctionIndex, aString );
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::~CTestFunctionCallData()
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData::~CTestFunctionCallData()
+ {
+ delete iP1;
+ delete iP5;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::CTestFunctionCallData
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData::CTestFunctionCallData( TInt aFunctionIndex, HBufC* aPtr1, TInt aInt1, TInt aInt2, TTimeIntervalMicroSeconds aSeconds ) :
+ iFunctionIndex( aFunctionIndex ),
+ iP1( aPtr1 ),
+ iP2( aInt1 ),
+ iP3( aInt2 ),
+ iP4( aSeconds )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::CTestFunctionCallData
+// -----------------------------------------------------------------------------
+//
+CTestFunctionCallData::CTestFunctionCallData( TInt aFunctionIndex, HBufC8* aString ) : iFunctionIndex( aFunctionIndex ),
+ iP5( aString )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::DesC1()
+// -----------------------------------------------------------------------------
+//
+HBufC* CTestFunctionCallData::DesC1()
+ {
+ return iP1;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::DesC2()
+// -----------------------------------------------------------------------------
+//
+HBufC8* CTestFunctionCallData::DesC2()
+ {
+ return iP5;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::Int1()
+// -----------------------------------------------------------------------------
+//
+TInt CTestFunctionCallData::Int1()
+ {
+ return iP2;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::Int2()
+// -----------------------------------------------------------------------------
+//
+TInt CTestFunctionCallData::Int2()
+ {
+ return iP3;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::Seconds()
+// -----------------------------------------------------------------------------
+//
+TTimeIntervalMicroSeconds CTestFunctionCallData::Seconds()
+ {
+ return iP4;
+ }
+
+// -----------------------------------------------------------------------------
+// CTestFunctionCallData::FunctionIndex()
+// -----------------------------------------------------------------------------
+//
+TInt CTestFunctionCallData::FunctionIndex()
+ {
+ return iFunctionIndex;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::NewFilePlayerL
+// -----------------------------------------------------------------------------
+//
+TBool CTestFunctionCallData::operator ==( CTestFunctionCallData& aData )
+ {
+ TBool equals( ETrue );
+
+ if ( aData.FunctionIndex() != iFunctionIndex )
+ {
+ equals = EFalse;
+ }
+ else if ( iP1 && !aData.DesC1() )
+ {
+ equals = EFalse;
+ }
+ else if ( !iP1 && aData.DesC1() )
+ {
+ equals = EFalse;
+ }
+ else if ( iP1 && aData.DesC1() && iP1->Des().Compare( *aData.DesC1() ) )
+ {
+ equals = EFalse;
+ }
+ else if ( iP5 && !aData.DesC2() )
+ {
+ equals = EFalse;
+ }
+ else if (!iP5 && aData.DesC2() )
+ {
+ equals = EFalse;
+ }
+ else if ( iP5 && aData.DesC2() && iP5->Des().Compare( *aData.DesC2() ) )
+ {
+ equals = EFalse;
+ }
+ else if ( iP2 != aData.Int1() )
+ {
+ equals = EFalse;
+ }
+ else if ( iP3 != aData.Int2() )
+ {
+ equals = EFalse;
+ }
+ else if ( iP4 != aData.Seconds() )
+ {
+ equals = EFalse;
+ }
+ return equals;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::NewFilePlayerL
+// -----------------------------------------------------------------------------
+//
+CMdaAudioPlayerUtility* CMdaAudioPlayerUtility::NewFilePlayerL(const TDesC& aFileName,
+ MMdaAudioPlayerCallback& aCallback,
+ TInt aPriority,
+ TInt aPref,
+ CMdaServer* aServer )
+ {
+ HBufC* desc = HBufC::NewL( aFileName.Length() );
+ *desc = aFileName;
+ CleanupStack::PushL( desc );
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ENewFilePlayerL, desc, aPriority, aPref );
+ CleanupStack::Pop( desc );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ CMdaAudioPlayerUtility* self = new( ELeave )CMdaAudioPlayerUtility( aCallback, aPriority, aPref, aServer );
+ self->ConstructL( aFileName );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::NewL
+// -----------------------------------------------------------------------------
+//
+CMdaAudioPlayerUtility* CMdaAudioPlayerUtility::NewL( MMdaAudioPlayerCallback& aCallback,
+ TInt aPriority,
+ TInt aPref )
+ {
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ENewL, aPriority, aPref );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ CMdaAudioPlayerUtility* self = new( ELeave )CMdaAudioPlayerUtility( aCallback, aPriority, aPref, NULL );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::CMdaAudioPlayerUtility
+// -----------------------------------------------------------------------------
+//
+CMdaAudioPlayerUtility::CMdaAudioPlayerUtility( MMdaAudioPlayerCallback& aObserver, TInt aPriority, TInt aPref, CMdaServer* aServer ) :
+ CActive( EPriorityStandard ),
+ iObserver( aObserver ),
+ iMaxVolume( 10 ),
+ iVolume( 5 ),
+ iPriority( aPriority ),
+ iPref( aPref ),
+ iServer( aServer )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::~CMdaAudioPlayerUtility()
+// -----------------------------------------------------------------------------
+//
+CMdaAudioPlayerUtility::~CMdaAudioPlayerUtility()
+ {
+ //iTimer.Cancel();
+ Cancel();
+ iTimer.Close();
+ delete iFile;
+ delete iFile8;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::SetVolume
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioPlayerUtility::SetVolume(TInt aVolume)
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetVolume, aVolume ) );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::SetRepeats
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence )
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetRepeats, aRepeatNumberOfTimes, aTrailingSilence ) );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::SetVolumeRamp
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration)
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::ESetVolumeRamp, aRampDuration ) );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::MaxVolume()
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioPlayerUtility::MaxVolume()
+ {
+ return iMaxVolume;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::GetVolume
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioPlayerUtility::GetVolume(TInt& aVolume)
+ {
+ aVolume = iVolume;
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::OpenDesL
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::OpenDesL(const TDesC8& aDescriptor)
+ {
+ HBufC8* desc = HBufC8::NewL( aDescriptor.Length() );
+ *desc = aDescriptor;
+ CleanupStack::PushL( desc );
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EOpenDesL, desc );
+ CleanupStack::Pop( desc );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ ConstructL( aDescriptor );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::DoCancel()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::DoCancel()
+ {
+ iTimer.Cancel();
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::RunL()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::RunL()
+ {
+
+ TTimeIntervalMicroSeconds s( 0 );
+ if ( CMdaAudioPlayerUtility::iErrorInAudioLoading )
+ {
+ iObserver.MapcInitComplete( KGeneratedError, s );
+ }
+ else
+ {
+ iObserver.MapcInitComplete( KErrNone, s );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::DelayAudioLoading()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::DelayAudioLoading()
+ {
+ CMdaAudioPlayerUtility::iDelayedAudioLoading = ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::SimulateErrorInAudioLoading()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::SimulateErrorInAudioLoading()
+ {
+ CMdaAudioPlayerUtility::iErrorInAudioLoading = ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::TestData()
+// -----------------------------------------------------------------------------
+//
+RPointerArray< CTestFunctionCallData >& CMdaAudioPlayerUtility::TestData()
+ {
+ return CMdaAudioPlayerUtility::iStaticTestData;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::ResetTestData()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::ResetTestData()
+ {
+ CMdaAudioPlayerUtility::iStaticTestData.ResetAndDestroy();
+ CMdaAudioPlayerUtility::iDelayedAudioLoading = EFalse;
+ CMdaAudioPlayerUtility::iErrorInAudioLoading = EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::ConstructL()
+// -----------------------------------------------------------------------------
+//
+ void CMdaAudioPlayerUtility::ConstructL( const TDesC& aFileName )
+ {
+ iTimer.CreateLocal();
+
+ if ( CMdaAudioPlayerUtility::iDelayedAudioLoading )
+ {
+ iTimer.After( iStatus, KDelayedLoadingTime );
+ }
+ else
+ {
+ iTimer.After( iStatus, KNormalLoadingTime );
+ }
+ SetActive();
+
+ delete iFile;
+ iFile = NULL;
+
+ iFile = HBufC::NewL( aFileName.Length() );
+ *iFile = aFileName;
+ }
+
+void CMdaAudioPlayerUtility::ConstructL( const TDesC8& aFileName )
+ {
+ iTimer.CreateLocal();
+ if ( CMdaAudioPlayerUtility::iDelayedAudioLoading )
+ {
+ iTimer.After( iStatus, KDelayedLoadingTime );
+ }
+ else
+ {
+ iTimer.After( iStatus, KNormalLoadingTime );
+ }
+ SetActive();
+
+ delete iFile8;
+ iFile8 = NULL;
+
+ iFile8 = HBufC8::NewL( aFileName.Length() );
+ *iFile8 = aFileName;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::Play()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::Play()
+ {
+ CTestFunctionCallData* data( NULL );
+ if ( iFile )
+ {
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay, iFile, 0, 0 ) );
+ iFile = NULL;
+ }
+ else if ( iFile8 )
+ {
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay, iFile8 ) );
+ iFile8 = NULL;
+ }
+ else
+ {
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EPlay ) );
+ }
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::Stop()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::Stop()
+ {
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioPlayerUtility::EStop );
+ CMdaAudioPlayerUtility::iStaticTestData.Append( data );
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMdaAudioPlayerUtility::Close()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioPlayerUtility::Close()
+ {
+
+ }
+
+
+
+//***************************************
+/*
+**
+**
+** CMdaAudioToneUtility
+**
+**
+**
+*****************************************/
+
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::NewL
+// -----------------------------------------------------------------------------
+//
+/*
+CMdaAudioToneUtility* CMdaAudioToneUtility::NewL(MMdaAudioToneObserver& aObserver, CMdaServer* aServer )
+ {
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ENewL );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ CMdaAudioToneUtility* self = new( ELeave )CMdaAudioToneUtility( aObserver, 0, 0, aServer );
+ return self;
+ }
+*/
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::NewL
+// -----------------------------------------------------------------------------
+//
+CMdaAudioToneUtility* CMdaAudioToneUtility::NewL(MMdaAudioToneObserver& aObserver, CMdaServer* aServer,
+ TInt aPriority,
+ TInt aPref )
+ {
+ CTestFunctionCallData* data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ENewL, aPriority, aPref );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ CMdaAudioToneUtility* self = new( ELeave )CMdaAudioToneUtility( aObserver, aPriority, aPref, aServer );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::CMdaAudioToneUtility
+// -----------------------------------------------------------------------------
+//
+CMdaAudioToneUtility::CMdaAudioToneUtility( MMdaAudioToneObserver& aObserver, TInt aPriority, TInt aPref, CMdaServer* aServer ) :
+ CActive( EPriorityStandard ),
+ iObserver( aObserver ),
+ iPriority( aPriority ),
+ iPref( aPref ),
+ iServer( aServer )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::~CMdaAudioToneUtility()
+// -----------------------------------------------------------------------------
+//
+CMdaAudioToneUtility::~CMdaAudioToneUtility()
+ {
+ //iTimer.Cancel();
+ Cancel();
+ iTimer.Close();
+ delete iFile8;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::MaxVolume()
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioToneUtility::MaxVolume()
+ {
+ return iMaxVolume;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::Volume()
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioToneUtility::Volume()
+ {
+ return iVolume;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::SetVolume
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::SetVolume( TInt aVolume )
+ {
+ iVolume = aVolume;
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetVolume, aVolume ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::SetRepeats
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::SetRepeats( TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence )
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetRepeats, aRepeatNumberOfTimes, aTrailingSilence ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::SetVolumeRamp
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::SetVolumeRamp( const TTimeIntervalMicroSeconds& aRampDuration )
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ESetVolumeRamp, aRampDuration ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::FixedSequenceCount()
+// -----------------------------------------------------------------------------
+//
+TInt CMdaAudioToneUtility::FixedSequenceCount()
+ {
+ return 0;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::FixedSequenceName
+// -----------------------------------------------------------------------------
+//
+const TDesC& CMdaAudioToneUtility::FixedSequenceName( TInt /*aSequenceNumber*/ )
+ {
+ return KNullDesC();
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::PrepareToPlayTone
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::PrepareToPlayTone( TInt /*aFrequency*/, const TTimeIntervalMicroSeconds& /*aDuration*/ )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::PrepareToPlayDTMFString
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::PrepareToPlayDTMFString( const TDesC& /*aDTMF*/ )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::PrepareToPlayDesSequence
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::PrepareToPlayDesSequence( const TDesC8& aSequence )
+ {
+ HBufC8* des( NULL );
+ TRAP_IGNORE( des = HBufC8::NewL( aSequence.Length() ) );
+ TRAP_IGNORE( iFile8 = HBufC8::NewL( aSequence.Length() ) );
+
+ CTestFunctionCallData* data( NULL );
+ if ( des )
+ {
+ *des = aSequence;
+ }
+
+ if ( iFile8 )
+ {
+ *iFile8 = aSequence;
+ }
+
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::EPrepareToPlayDesSequence, des ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::PrepareToPlayFileSequence
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::PrepareToPlayFileSequence( const TDesC& aFileName )
+ {
+ HBufC* desc = HBufC::NewL( aFileName.Length() );
+ *desc = aFileName;
+ CleanupStack::PushL( desc );
+ CTestFunctionCallData* data( NULL );
+ data = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::EPrepareToPlayFileSequence, desc, 0, 0 );
+ CleanupStack::Pop( desc );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ ConstructL();
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::PrepareToPlayFixedSequence
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::PrepareToPlayFixedSequence( TInt /*aSequenceNumber*/ )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::CancelPrepare()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::CancelPrepare()
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::ECancelPrepare ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::Play()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::Play()
+ {
+ CTestFunctionCallData* data( NULL );
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::EPlay ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::State()
+// -----------------------------------------------------------------------------
+//
+TMdaAudioToneUtilityState CMdaAudioToneUtility::State()
+ {
+ TMdaAudioToneUtilityState retVal;
+ if ( IsActive() )
+ {
+ retVal = EMdaAudioToneUtilityNotReady;
+ }
+ else
+ {
+ retVal = EMdaAudioToneUtilityPlaying;
+ }
+ return retVal;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::CancelPlay()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::CancelPlay()
+ {
+ CTestFunctionCallData* data = NULL;
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::ECancelPlay ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::DelayAudioLoading()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::DelayAudioLoading()
+ {
+ CMdaAudioToneUtility::iDelayedAudioLoading = ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::SimulateErrorInAudioLoading()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::SimulateErrorInAudioLoading()
+ {
+ CMdaAudioToneUtility::iErrorInAudioLoading = ETrue;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::TestData()
+// -----------------------------------------------------------------------------
+//
+RPointerArray< CTestFunctionCallData >& CMdaAudioToneUtility::TestData()
+ {
+ return CMdaAudioToneUtility::iStaticTestData;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::ResetTestData()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::ResetTestData()
+ {
+ CMdaAudioToneUtility::iStaticTestData.ResetAndDestroy();
+ CMdaAudioToneUtility::iDelayedAudioLoading = EFalse;
+ CMdaAudioToneUtility::iErrorInAudioLoading = EFalse;
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::DoCancel()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::DoCancel()
+ {
+ iTimer.Cancel();
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::RunL()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::RunL()
+ {
+ if ( CMdaAudioToneUtility::iErrorInAudioLoading )
+ {
+ iObserver.MatoPrepareComplete( KGeneratedError );
+ }
+ else
+ {
+ iObserver.MatoPrepareComplete( KErrNone );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::Stop()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::Stop()
+ {
+ CTestFunctionCallData* data( NULL );
+ TRAP_IGNORE( data = CTestFunctionCallData::NewL( CMdaAudioToneUtility::EStop ) );
+ CMdaAudioToneUtility::iStaticTestData.Append( data );
+ }
+
+// -----------------------------------------------------------------------------
+// CMdaAudioToneUtility::ConstructL()
+// -----------------------------------------------------------------------------
+//
+void CMdaAudioToneUtility::ConstructL()
+ {
+ iTimer.CreateLocal();
+
+ if ( CMdaAudioToneUtility::iDelayedAudioLoading )
+ {
+ iTimer.After( iStatus, KDelayedLoadingTime );
+ }
+ else
+ {
+ iTimer.After( iStatus, KNormalLoadingTime );
+ }
+ SetActive();
+ }
+
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/devsoundstub.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/devsoundstub.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,290 @@
+
+#ifndef DEVSOUNDSTUB_H
+#define DEVSOUNDSTUB_H
+
+// Define tone & sample players, so the original headers won't get included afterwards.
+#define __MDAAUDIOTONEPLAYER_H__
+
+#define __MDAAUDIOSAMPLEPLAYER_H
+
+
+#include
+#include
+
+
+// Priority from devsound
+enum TMdaPriority
+ {
+ EMdaPriorityMin = -100,
+ EMdaPriorityNormal = 0,
+ EMdaPriorityMax = 100
+ };
+
+
+// Preference from devsound
+enum TMdaPriorityPreference
+ {
+ EMdaPriorityPreferenceNone = 0,
+ EMdaPriorityPreferenceTime = 1,
+ EMdaPriorityPreferenceQuality = 2,
+ EMdaPriorityPreferenceTimeAndQuality = 3
+ };
+
+// Mda server stub definition.
+class CMdaServer : public CBase
+ {
+public:
+ static CMdaServer* NewL();
+ ~CMdaServer();
+ };
+
+// Function call test data. These objects should be compared to define the test result. Devsound stub registers function call data in these objects.
+class CTestFunctionCallData : public CBase
+ {
+public:
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, HBufC* aString, TInt aInt1, TInt aInt2 );
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, TInt aInt1, TInt aInt2 );
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, TInt aInt1 = 0 );
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, TInt aInt1, TTimeIntervalMicroSeconds aSeconds );
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, TTimeIntervalMicroSeconds aSeconds );
+ static CTestFunctionCallData* NewL( TInt aFunctionIndex, HBufC8* aString );
+
+ ~CTestFunctionCallData();
+
+ CTestFunctionCallData( TInt aFunctionIndex, HBufC* aPtr1, TInt aInt1, TInt aInt2, TTimeIntervalMicroSeconds aSeconds );
+
+ CTestFunctionCallData( TInt aFunctionIndex, HBufC8* aString );
+
+ HBufC* DesC1();
+ HBufC8* DesC2();
+ TInt Int1();
+ TInt Int2();
+ TTimeIntervalMicroSeconds Seconds();
+
+ TInt FunctionIndex();
+
+ TBool operator ==( CTestFunctionCallData& aData );
+
+private:
+
+ TInt iFunctionIndex;
+ HBufC* iP1;
+ TInt iP2;
+ TInt iP3;
+ TTimeIntervalMicroSeconds iP4;
+ HBufC8* iP5;
+
+ };
+
+
+// M-interface from devsound for callbacks.
+class MMdaAudioToneObserver
+ {
+public:
+ virtual void MatoPrepareComplete(TInt aError) = 0;
+ virtual void MatoPlayComplete(TInt aError) = 0;
+ };
+
+
+// M-interface from devsound for callbacks.
+class MMdaAudioPlayerCallback
+ {
+public:
+ virtual void MapcInitComplete(TInt aError, const TTimeIntervalMicroSeconds& aDuration) = 0;
+ virtual void MapcPlayComplete(TInt aError) = 0;
+ };
+
+
+// Audio player utility stub. All imperative function calls are stored into iTestData static pointer array.
+class CMdaAudioPlayerUtility : public CActive
+ {
+public:
+
+ // function call index.
+ enum TFunctionCall
+ {
+ ENewFilePlayerL,
+ ENewL,
+ ESetVolume,
+ ESetRepeats,
+ ESetVolumeRamp,
+ EMaxVolume,
+ EGetVolume,
+ EOpenDesL,
+ EPlay,
+ EStop
+ };
+
+ static CMdaAudioPlayerUtility* NewFilePlayerL(const TDesC& aFileName,
+ MMdaAudioPlayerCallback& aCallback,
+ TInt aPriority = EMdaPriorityNormal,
+ TInt aPref = EMdaPriorityPreferenceTimeAndQuality,
+ CMdaServer* aServer = NULL );
+ static CMdaAudioPlayerUtility* NewL( MMdaAudioPlayerCallback& aCallback,
+ TInt aPriority = EMdaPriorityNormal,
+ TInt aPref = EMdaPriorityPreferenceTimeAndQuality );
+ CMdaAudioPlayerUtility(MMdaAudioPlayerCallback& aObserver, TInt aPriority, TInt aPref, CMdaServer* aServer );
+ ~CMdaAudioPlayerUtility();
+ TInt SetVolume(TInt aVolume );
+ void SetRepeats(TInt aRepeatNumberOfTimes, const TTimeIntervalMicroSeconds& aTrailingSilence);
+ void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration);
+ TInt MaxVolume();
+ TInt GetVolume(TInt& aVolume);
+ void OpenDesL(const TDesC8& aDescriptor);
+
+ void DoCancel();
+ void RunL();
+
+ void Play();
+ void Stop();
+ void Close();
+
+
+ // Static access to test data. If used, stub object must be allocated from the same memory space as the client.
+ static RPointerArray< CTestFunctionCallData >& TestData();
+ static void DelayAudioLoading();
+ static void SimulateErrorInAudioLoading();
+ static void ResetTestData();
+
+private:
+
+ void ConstructL( const TDesC& aFileName );
+
+ void ConstructL( const TDesC8& aFileName );
+private:
+
+ MMdaAudioPlayerCallback& iObserver;
+ TInt iVolume;
+ TInt iMaxVolume;
+ TInt iPriority;
+ TInt iPref;
+ CMdaServer* iServer;
+ HBufC* iFile;
+ HBufC8* iFile8;
+
+ RTimer iTimer;
+
+ static RPointerArray< CTestFunctionCallData > iStaticTestData;
+ static bool iDelayedAudioLoading;
+ static bool iErrorInAudioLoading;
+
+ };
+
+
+
+// The state of the audio tone utility.
+
+ enum TMdaAudioToneUtilityState
+ {
+ /** The audio tone utility has not been prepared to play a tone.
+ */
+ EMdaAudioToneUtilityNotReady=0,
+ /** The audio tone utility has been prepared to play a tone and is ready.
+ */
+ EMdaAudioToneUtilityPrepared,
+ /** The audio tone utility is currently playing a tone.
+ */
+ EMdaAudioToneUtilityPlaying,
+ /** The audio tone utility is currently paused.
+ This state is only reached if underlying DevSound implementations supports resume.
+ */
+ EMdaAudioToneUtilityPaused
+ };
+
+// Audio tone player utility stub. All imperative function calls are stored into iTestData static pointer array.
+class CMdaAudioToneUtility : public CActive
+ {
+public:
+
+
+ // function call index.
+ enum TFunctionCall
+ {
+ ENewL,
+ EMaxVolume,
+ EVolume,
+ ESetVolume,
+ ESetRepeats,
+ ESetVolumeRamp,
+ EFixedSequenceCount,
+ EFixedSequenceName,
+ EPrepareToPlayTone,
+ EPrepareToPlayDTMFString,
+ EPrepareToPlayDesSequence,
+ EPrepareToPlayFileSequence,
+ EPrepareToPlayFixedSequence,
+ ECancelPrepare,
+ ECancelPlay,
+ EPlay,
+ EStop
+ };
+
+ static CMdaAudioToneUtility* NewL( MMdaAudioToneObserver& aObserver,
+ CMdaServer* aServer = NULL,
+ TInt aPriority = EMdaPriorityNormal,
+ TInt aPref = EMdaPriorityPreferenceTimeAndQuality );
+
+
+ CMdaAudioToneUtility( MMdaAudioToneObserver& aObserver,
+ TInt aPriority, TInt aPref, CMdaServer* aServer );
+ ~CMdaAudioToneUtility();
+ virtual TInt MaxVolume();
+ virtual TInt Volume();
+ virtual void SetVolume(TInt aVolume );
+ virtual void SetRepeats(TInt aRepeatNumberOfTimes,
+ const TTimeIntervalMicroSeconds& aTrailingSilence );
+ virtual void SetVolumeRamp(const TTimeIntervalMicroSeconds& aRampDuration );
+ virtual TInt FixedSequenceCount();
+ virtual const TDesC& FixedSequenceName(TInt aSequenceNumber );
+ virtual void PrepareToPlayTone(TInt aFrequency,
+ const TTimeIntervalMicroSeconds& aDuration );
+ virtual void PrepareToPlayDTMFString(const TDesC& aDTMF);
+ virtual void PrepareToPlayDesSequence(const TDesC8& aSequence);
+ virtual void PrepareToPlayFileSequence(const TDesC& aFileName);
+ virtual void PrepareToPlayFixedSequence(TInt aSequenceNumber);
+ virtual void CancelPrepare();
+ virtual void Play();
+ virtual TMdaAudioToneUtilityState State();
+ virtual void CancelPlay();
+
+ // Static access to test data. If used, stub object must be allocated from the same memory space as the client.
+ static RPointerArray< CTestFunctionCallData >& TestData();
+ static void DelayAudioLoading();
+ static void SimulateErrorInAudioLoading();
+ static void ResetTestData();
+
+
+ void DoCancel();
+
+ void RunL();
+
+ void Stop();
+
+
+private:
+
+ void ConstructL();
+
+private:
+
+ MMdaAudioToneObserver& iObserver;
+ TInt iVolume;
+ TInt iMaxVolume;
+ TInt iPriority;
+ TInt iPref;
+ CMdaServer* iServer;
+ HBufC8* iFile8;
+
+
+ RTimer iTimer;
+
+
+ static RPointerArray< CTestFunctionCallData > iStaticTestData;
+ static bool iDelayedAudioLoading;
+ static bool iErrorInAudioLoading;
+
+ };
+
+#endif // DEVSOUNDSTUB_H
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mdaaudiosampleplayer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mdaaudiosampleplayer.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,4 @@
+
+#include "devsoundstub.h"
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mdaaudiotoneplayer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mdaaudiotoneplayer.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,4 @@
+
+#include "devsoundstub.h"
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayer.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayer.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,734 @@
+
+#include
+#include
+
+#include "tphonecmdparamringtone.h"
+#include
+#include "mt_phoneringingtoneplayer.h"
+#include
+
+
+const TTimeIntervalMicroSeconds32 KInitDelay( 7000000 );
+
+const TTimeIntervalMicroSeconds32 KPlayDelay( 1000000 );
+
+const TTimeIntervalMicroSeconds32 KDelayToPlaybackInitPhase( 1000000 );
+
+const TInt KPhoneRingingRepeatsTrailPause = 1000000;
+const TInt KPhoneMdaAudioToneRepeatForever = -2;
+
+
+_LIT( KTestDefaultTone, "z:\\data\\sounds\\digital\\Nokia tune.aac" );
+
+_LIT( KRandomSample, "z:\\data\\sounds\\gee.mp3" );
+
+_LIT( KRandomTone, "z:\\data\\sounds\\ring.rng" );
+
+
+_LIT8( KPhoneNoSoundSequence, "\x00\x11\x06\x05\xFC\x0A\x08\x40\x32\x0A\xF7\x40\x64\x06\x0B" );
+//_LIT8( KPhoneBeepSequence, "\x00\x11\x0A\x0A\x08\x73\x0A\x40\x28\x0A\xF7\x05\xFC\x40\x64\x0A\x08\x40\x32\x0A\xF7\x06\x0B" );
+
+
+MT_PhoneRingingTonePlayer* MT_PhoneRingingTonePlayer::NewL()
+ {
+ MT_PhoneRingingTonePlayer* self = MT_PhoneRingingTonePlayer::NewLC();
+ CleanupStack::Pop();
+ return self;
+ }
+
+MT_PhoneRingingTonePlayer* MT_PhoneRingingTonePlayer::NewLC()
+ {
+ MT_PhoneRingingTonePlayer* self = new( ELeave ) MT_PhoneRingingTonePlayer();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+
+MT_PhoneRingingTonePlayer::~MT_PhoneRingingTonePlayer()
+ {
+ Teardown();
+ }
+
+
+MT_PhoneRingingTonePlayer::MT_PhoneRingingTonePlayer()
+ {
+
+ }
+
+void MT_PhoneRingingTonePlayer::ConstructL()
+ {
+ CEUnitTestSuiteClass::ConstructL();
+ }
+
+
+void MT_PhoneRingingTonePlayer::SetupL()
+ {
+ iClient.Connect();
+ }
+
+
+void MT_PhoneRingingTonePlayer::Teardown()
+ {
+ CMdaAudioPlayerUtility::ResetTestData();
+ CMdaAudioToneUtility::ResetTestData();
+ iClient.Close();
+ User::After( KInitDelay );
+ }
+
+void MT_PhoneRingingTonePlayer::EmptySetupL()
+ {
+
+ }
+
+void MT_PhoneRingingTonePlayer::EmptyTeardown()
+ {
+
+ }
+
+void MT_PhoneRingingTonePlayer::MT_Empty()
+ {
+
+ }
+void MT_PhoneRingingTonePlayer::MT_CreateServerInstanceAndConnectL()
+ {
+ RPhoneToneClient client;
+ TInt error = client.Connect();
+ User::After( KInitDelay );
+ EUNIT_ASSERT_EQUALS( KErrNone, error );
+ CMdaAudioPlayerUtility::ResetTestData();
+ CMdaAudioToneUtility::ResetTestData();
+ client.Close();
+
+ }
+
+void MT_PhoneRingingTonePlayer::MT_CreateServerInstanceAndConnectTwiceL() // Inter-process communication fuzzing ( IPC - fuzz )
+ {
+ // SetupL creates a server instance and connects to it.
+ RPhoneToneClient client;
+ TInt error = client.Connect();
+ User::After( KInitDelay );
+ // Assert if server accepts multiple connections.
+ // Server should be uniquely connectable.
+ EUNIT_ASSERT_EQUALS( KErrNone != error, ETrue );
+
+ if ( !error )
+ {
+ client.Close();
+ }
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayDefaultL()
+ {
+ User::After( KInitDelay );
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume , randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomSampleL()
+ {
+ User::After( KInitDelay );
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomSample() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ //Wait that ringingtone is prepared.
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KRandomSample().Length() );
+ *tonePath = KRandomSample();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume ,
+ randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomSampleWithDelayL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioPlayerUtility::DelayAudioLoading();
+
+ TInt randomVolume( 10 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomSample() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume , randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+// Switch to default playback
+void MT_PhoneRingingTonePlayer::MT_PlayCustomSampleWithErrorL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioPlayerUtility::SimulateErrorInAudioLoading();
+
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomSample() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+
+ //Error will occur in initialization. Thus default tone should be played.
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume ,
+ randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+// backup timer callback
+void MT_PhoneRingingTonePlayer::MT_PlayCustomSampleWithDelayAndErrorL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioPlayerUtility::DelayAudioLoading();
+ CMdaAudioPlayerUtility::SimulateErrorInAudioLoading();
+
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomSample() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume,
+ randomVolume );
+
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsOnlyOneCall( CMdaAudioPlayerUtility::EPlay ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+
+/*******************************
+/ Next tests for rng file type
+/*******************************/
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomToneL()
+ {
+ User::After( KInitDelay );
+ TInt randomVolume( 1 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomTone() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KRandomTone().Length() );
+ *tonePath = KRandomTone();
+ CleanupStack::PushL( tonePath );
+
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::EPrepareToPlayFileSequence, tonePath,0,0 ); // Transfer tonePath ownership
+
+ CleanupStack::Pop( tonePath );
+
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::EPlay );
+
+ CleanupStack::PushL( data2 );
+ CTestFunctionCallData* data3 = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::ESetVolume, randomVolume );
+ /* do repeat check */
+// KPhoneMdaAudioToneRepeatForever,
+// TTimeIntervalMicroSeconds( KPhoneRingingRepeatsTrailPause )
+
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data2 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data3 ) , ETrue );
+ delete data3;
+ CleanupStack::PopAndDestroy( data2 );
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomToneWithDelayL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioToneUtility::DelayAudioLoading();
+
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomTone() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume , randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomToneWithErrorL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioToneUtility::SimulateErrorInAudioLoading();
+
+ TInt randomVolume( 4 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomTone() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay, tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume, randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayCustomToneWithDelayAndErrorL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioToneUtility::DelayAudioLoading();
+ CMdaAudioToneUtility::SimulateErrorInAudioLoading();
+
+ TInt randomVolume( 2 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ ringToneParam.SetRingTone( KRandomTone() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KInitDelay );
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume , randomVolume );
+
+ CleanupStack::PushL( data2 );
+
+ CTestFunctionCallData* data3 = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::ECancelPrepare );
+
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data3 ) , ETrue );
+ delete data3;
+ CleanupStack::PopAndDestroy( data2 );
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayAndStopL()
+ {
+ User::After( KInitDelay );
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingingType( EProfileRingingTypeRinging );
+ iClient.PlayRingingToneL( &ringToneParam );
+
+ User::After( KInitDelay );
+
+ iClient.StopPlayingL();
+
+ HBufC* tonePath = HBufC::NewL( KTestDefaultTone().Length() );
+ *tonePath = KTestDefaultTone();
+ CleanupStack::PushL( tonePath );
+ CTestFunctionCallData* data1 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::EPlay,
+ tonePath, 0, 0 ); // Transfer tonePath ownership
+ CleanupStack::Pop( tonePath );
+ CleanupStack::PushL( data1 );
+ CTestFunctionCallData* data2 = CTestFunctionCallData::NewL(
+ CMdaAudioPlayerUtility::ESetVolume , randomVolume );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCallData( data2 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCall( CMdaAudioPlayerUtility::EStop ) , ETrue );
+ delete data2;
+ CleanupStack::PopAndDestroy( data1 );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlayAndStopDuringInitL()
+ {
+ User::After( KInitDelay );
+
+ CMdaAudioToneUtility::DelayAudioLoading();
+
+ TInt randomVolume( 8 );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetVolume( randomVolume );
+ ringToneParam.SetRingTone( KRandomSample() );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KDelayToPlaybackInitPhase );
+
+ iClient.StopPlayingL();
+
+ User::After( KPlayDelay );
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCall(
+ CMdaAudioPlayerUtility::ENewFilePlayerL ) , ETrue );
+
+ // Shouldn't contain 'Play' call.
+ EUNIT_ASSERT_EQUALS( SamplePlayerContainsCall(
+ CMdaAudioPlayerUtility::EPlay ) , EFalse );
+ }
+
+void MT_PhoneRingingTonePlayer::MT_PlaySilentL()
+ {
+ User::After( KInitDelay );
+ TPhoneCmdParamRingTone ringToneParam;
+ ringToneParam.SetRingingType( EProfileRingingTypeSilent );
+ iClient.PlayRingingToneL( &ringToneParam );
+ User::After( KPlayDelay );
+
+ HBufC8* sequence( NULL );
+ TRAP_IGNORE( sequence = HBufC8::NewL( KPhoneNoSoundSequence().Length() ) );
+ if ( sequence )
+ {
+ *sequence = KPhoneNoSoundSequence();
+ }
+
+ CTestFunctionCallData* data( NULL );
+ data = CTestFunctionCallData::NewL(
+ CMdaAudioToneUtility::EPrepareToPlayDesSequence, sequence );
+
+ CleanupStack::PushL( data );
+ CTestFunctionCallData* data1( NULL );
+ data1 = CTestFunctionCallData::NewL( CMdaAudioToneUtility::EPlay );
+
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data1 ) , ETrue );
+ EUNIT_ASSERT_EQUALS( TonePlayerContainsCallData( data ), ETrue );
+ delete data1;
+ CleanupStack::PopAndDestroy( data );
+ }
+
+//*******************
+/* End of test cases
+********************/
+
+
+
+TBool MT_PhoneRingingTonePlayer::SamplePlayerContainsCall( CMdaAudioPlayerUtility::TFunctionCall aCall )
+ {
+ RPointerArray< CTestFunctionCallData >& array = CMdaAudioPlayerUtility::TestData();
+ TBool found( EFalse );
+ for( TInt i( 0 ); i < array.Count(); i++ )
+ {
+ CTestFunctionCallData* ptr = array[ i ];
+ if ( ptr->FunctionIndex() == aCall )
+ {
+ found = ETrue;
+ i = array.Count();
+ }
+ }
+ return found;
+ }
+
+TBool MT_PhoneRingingTonePlayer::SamplePlayerContainsCallData(
+ CTestFunctionCallData* aData )
+ {
+ if ( !aData )
+ {
+ return EFalse;
+ }
+
+ RPointerArray< CTestFunctionCallData >& array = CMdaAudioPlayerUtility::TestData();
+ TBool found( EFalse );
+ for( TInt i( 0 ); i < array.Count(); i++ )
+ {
+ CTestFunctionCallData* ptr = array[ i ];
+ if ( ( *ptr ) == *aData )
+ {
+ found = ETrue;
+ i = array.Count();
+ }
+ }
+ return found;
+ }
+
+TBool MT_PhoneRingingTonePlayer::SamplePlayerContainsOnlyOneCall(
+ CMdaAudioPlayerUtility::TFunctionCall aCall )
+ {
+ TInt count( 0 );
+ for( TInt i( 0 ); i < CMdaAudioPlayerUtility::TestData().Count(); i++ )
+ {
+ if ( CMdaAudioPlayerUtility::TestData()[ i ]->FunctionIndex() == aCall )
+ {
+ count++;
+ }
+ }
+ return ( 1 == count );
+ }
+
+TBool MT_PhoneRingingTonePlayer::TonePlayerContainsOnlyOneCall( CMdaAudioToneUtility::TFunctionCall aCall )
+ {
+ TInt count( 0 );
+ for( TInt i( 0 ); i < CMdaAudioToneUtility::TestData().Count(); i++ )
+ {
+ if ( CMdaAudioToneUtility::TestData()[ i ]->FunctionIndex() == aCall )
+ {
+ count++;
+ }
+ }
+ return ( 1 == count );
+ }
+
+TBool MT_PhoneRingingTonePlayer::TonePlayerContainsCall(
+ CMdaAudioToneUtility::TFunctionCall aCall )
+ {
+ RPointerArray< CTestFunctionCallData >& array = CMdaAudioToneUtility::TestData();
+ TBool found( EFalse );
+ for( TInt i( 0 ); i < array.Count(); i++ )
+ {
+ CTestFunctionCallData* ptr = array[ i ];
+ if ( ptr->FunctionIndex() == aCall )
+ {
+ found = ETrue;
+ i = array.Count();
+ }
+ }
+ return found;
+ }
+
+TBool MT_PhoneRingingTonePlayer::TonePlayerContainsCallData(
+ CTestFunctionCallData* aData )
+ {
+ if ( !aData )
+ {
+ return EFalse;
+ }
+ RPointerArray< CTestFunctionCallData >& array = CMdaAudioToneUtility::TestData();
+ TBool found( EFalse );
+ for( TInt i( 0 ); i < array.Count(); i++ )
+ {
+ CTestFunctionCallData* ptr = array[ i ];
+ if ( ( *ptr ) == *aData )
+ {
+ found = ETrue;
+ i = array.Count();
+ }
+ }
+ return found;
+ }
+
+
+
+///////////////////////////////////////////////////////////////////////////////////
+//// TEST TABLE
+///////////////////////////////////////////////////////////////////////////////////
+EUNIT_BEGIN_TEST_TABLE(
+ MT_PhoneRingingTonePlayer,
+ "Add test suite description here.",
+ "MODULE" )
+
+
+// EUNIT_TEST(
+// "PTP:Init and connect",
+// "RPhoneToneClient",
+// "Connect",
+// "FUNCTIONALITY",
+// EmptySetupL, MT_Empty, EmptyTeardown )
+
+EUNIT_TEST(
+ "PTP:Init and connect",
+ "RPhoneToneClient",
+ "Connect",
+ "FUNCTIONALITY",
+ EmptySetupL, MT_CreateServerInstanceAndConnectL, EmptyTeardown )
+
+
+EUNIT_TEST(
+ "PTP:Init and connect twice",
+ "RPhoneToneClient",
+ "ConnectTwice",
+ "FUNCTIONALITY",
+ SetupL, MT_CreateServerInstanceAndConnectTwiceL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play default",
+ "RPhoneToneClient",
+ "Play",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayDefaultL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play custom sample",
+ "RPhoneToneClient",
+ "Play",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomSampleL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play custom sample with delay",
+ "RPhoneToneClient",
+ "Play",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomSampleWithDelayL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play tone with error init",
+ "RPhoneToneClient",
+ "PlayWithError",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomSampleWithErrorL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play tone with delayed init and error",
+ "RPhoneToneClient",
+ "PlayWithDelay",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomSampleWithDelayAndErrorL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play custom tone",
+ "RPhoneToneClient",
+ "PlayCustomTone",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomToneL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play custom tone with delayed init",
+ "RPhoneToneClient",
+ "PlayCustomToneWithDelay",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomToneWithDelayL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play tone with error",
+ "RPhoneToneClient",
+ "PlayCustomToneWithError",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomToneWithErrorL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play custom tone with delay and error",
+ "RPhoneToneClient",
+ "PlayCustomToneWithDelayAndError",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayCustomToneWithDelayAndErrorL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play tone and stop",
+ "RPhoneToneClient",
+ "PlayAndStop",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayAndStopL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play tone and stop during playback init",
+ "RPhoneToneClient",
+ "PlayAndStop",
+ "FUNCTIONALITY",
+ SetupL, MT_PlayAndStopDuringInitL, Teardown )
+
+
+EUNIT_TEST(
+ "PTP:Play silent tone",
+ "RPhoneToneClient",
+ "PlaySilent",
+ "FUNCTIONALITY",
+ SetupL, MT_PlaySilentL, Teardown )
+
+
+EUNIT_END_TEST_TABLE
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayer.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,113 @@
+
+/*
+* Copyright (c) 2010-2010 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: MT_PhoneRingingTonePlayer
+*
+*/
+
+#ifndef __MT_PHONERINGINGTONEPLAYER_H__
+#define __MT_PHONERINGINGTONEPLAYER_H__
+
+#include
+
+#include "devsoundstub.h"
+#include "rphonetoneclient.h"
+
+#include
+#ifndef NONSHARABLE_CLASS
+ #define NONSHARABLE_CLASS(x) class x
+#endif
+
+NONSHARABLE_CLASS( MT_PhoneRingingTonePlayer )
+ : public CEUnitTestSuiteClass
+ {
+public:
+
+ static MT_PhoneRingingTonePlayer* NewL();
+ static MT_PhoneRingingTonePlayer* NewLC();
+ ~MT_PhoneRingingTonePlayer();
+
+private:
+
+ MT_PhoneRingingTonePlayer();
+ void ConstructL();
+
+private:
+
+ void SetupL();
+
+ void Teardown();
+
+ void EmptySetupL();
+
+ void EmptyTeardown();
+
+ // Test cases :
+
+ void MT_Empty();
+
+ /*done*/ void MT_CreateServerInstanceAndConnectL();
+
+ /*done*/ void MT_CreateServerInstanceAndConnectTwiceL(); // Inter-process communication fuzzing ( IPC - fuzz )
+
+ /*done*/ void MT_PlayDefaultL();
+
+ /*done*/ void MT_PlayCustomSampleL();
+
+ /*done*/ void MT_PlayCustomSampleWithDelayL();
+
+ /*done*/ void MT_PlayCustomSampleWithErrorL(); // Switch to default playback
+
+ /*done*/ void MT_PlayCustomSampleWithDelayAndErrorL(); // timer callback
+
+ /*done*/ void MT_PlayCustomToneL();
+
+ /*done*/ void MT_PlayCustomToneWithDelayL();
+
+ /*done*/ void MT_PlayCustomToneWithErrorL();
+
+ /*done*/ void MT_PlayCustomToneWithDelayAndErrorL();
+
+ /*done*/ void MT_PlayAndStopL();
+
+ /*done*/ void MT_PlayAndStopDuringInitL();
+
+ /*done*/ void MT_PlaySilentL();
+
+
+private:
+
+ // Utility functions
+
+ TBool SamplePlayerContainsCall( CMdaAudioPlayerUtility::TFunctionCall aCall );
+ TBool SamplePlayerContainsCallData( CTestFunctionCallData* aData );
+ TBool SamplePlayerContainsOnlyOneCall( CMdaAudioPlayerUtility::TFunctionCall aCall );
+ TBool TonePlayerContainsOnlyOneCall( CMdaAudioToneUtility::TFunctionCall aCall );
+ TBool TonePlayerContainsCall( CMdaAudioToneUtility::TFunctionCall aCall );
+ TBool TonePlayerContainsCallData( CTestFunctionCallData* aData );
+
+private:
+
+ RPhoneToneClient iClient;
+
+
+ EUNIT_DECLARE_TEST_TABLE;
+
+
+
+ };
+
+#endif // __MT_PHONERINGINGTONEPLAYER_H__
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayermain.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/mt_phoneringingtoneplayer/src/mt_phoneringingtoneplayermain.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2010-2010 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: MT_Phoneringingtoneplayer
+*
+*/
+
+// CLASS HEADER
+#include "mt_phoneringingtoneplayer.h"
+
+// EXTERNAL INCLUDES
+#include
+
+/**
+ * Test suite factory function.
+ */
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+ {
+ return MT_PhoneRingingTonePlayer::NewL();
+ }
+
+
+
+// END OF FILE
+
+
+
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/run_auto_tests.bat
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneringingtoneplayer/tsrc/run_auto_tests.bat Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,229 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of the License "Symbian Foundation License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+setlocal
+goto :startup
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function DEFAULT
+::
+:: Modify this function
+:: - TESTED_SRC can be changed to match tested code.
+:: Specifies path from testcode group directory to
+:: tested code
+:: - Add test directories to be runned
+:: ie. "call :build ut_projectdirectory" or use
+:: "for /f %%a in ('dir /b ut_*') do call :build %%a"
+:: which compiles, instruments and runs all test directories
+:: starting with "ut_".
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:DEFAULT
+set TESTED_SRC=..\..\..\src\*
+
+for /f %%a in ('dir /b ut_*') do call :build %%a
+
+if [%DOMODULESTESTS%] EQU [TRUE] (
+for /f %%a in ('dir /b mt_*') do call :build %%a
+)
+
+
+call :finish
+goto :END
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function STARTUP
+::
+:: Initializing script
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:STARTUP
+
+set BUILDTESTS=TRUE
+set RUNTESTS=TRUE
+set REMOVETESTS=TRUE
+set INSTRUMENT=TRUE
+set REMOVEINSTRUMENT=TRUE
+set DOMODULESTESTS=TRUE
+set SBS_CALL=sbs --config winscw_udeb.test --keepgoing BUILD
+set PATH_TO_DLL=\epoc32\release\winscw\udeb
+set PATH_TO_MOVE_DLL=\epoc32\release\winscw\udeb\z\sys\bin
+set PATH_TO_COVERAGE_DATA=\coverage_data
+
+
+if not exist %PATH_TO_DLL%\eunitexerunner.exe (
+echo EUnit not installed!
+goto end
+)
+
+if not exist %PATH_TO_COVERAGE_DATA% (
+mkdir %PATH_TO_COVERAGE_DATA%
+)
+
+if [%1] EQU [] ( goto default )
+
+call :%1
+call :%2
+call :%3
+call :%4
+call :%5
+echo Running tests = %RUNTESTS%
+echo Instrumenting tests = %INSTRUMENT%
+goto default
+
+:/NOCLEANUP
+set REMOVEINSTRUMENT=FALSE
+set REMOVETESTS=FALSE
+goto end
+
+:/NORUN
+set RUNTESTS=FALSE
+set REMOVEINSTRUMENT=FALSE
+set REMOVETESTS=FALSE
+goto end
+
+:/NOINSTRUMENT
+set INSTRUMENT=FALSE
+goto end
+
+:/NOBUILD
+set BUILDTESTS=FALSE
+goto end
+
+:/ONLYUNITTESTS
+set DOMODULESTESTS=FALSE
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function FINISH
+::
+:: Finishes run_auto_tests.bat
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:FINISH
+call :move
+
+if [%RUNTESTS%] EQU [TRUE] (
+call :runtests
+)
+
+if [%REMOVETESTS%] EQU [TRUE] (
+call :removetests
+)
+
+if [%INSTRUMENT%] EQU [TRUE] (
+call :calculatecoverage
+)
+
+if [%REMOVEINSTRUMENT%] EQU [TRUE] (
+call :removecoverage
+)
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function BUILD
+:: param directory
+::
+:: builds test from given directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:BUILD
+setlocal
+if [%BUILDTESTS%] EQU [FALSE] ( goto end )
+echo Building %1
+if not exist %1 (
+echo %1 Not found!
+goto end
+)
+
+pushd .
+call cd %1\group
+call sbs --config winscw_udeb.test --keepgoing CLEAN
+if [%INSTRUMENT%] EQU [TRUE] (
+call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
+) else (
+call %SBS_CALL%
+)
+
+popd
+endlocal
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function MOVE
+::
+:: moves compiled tests to eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:MOVE
+echo Moving tests
+call move %PATH_TO_DLL%\ut_*.dll %PATH_TO_MOVE_DLL%
+call move %PATH_TO_DLL%\mt_*.dll %PATH_TO_MOVE_DLL%
+goto end
+
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function RUNTESTS
+::
+:: Runs tests in eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:RUNTESTS
+echo Running tests
+call %PATH_TO_DLL%\eunitexerunner.exe -dtextshell --
+copy \epoc32\winscw\c\shared\EUnit\Logs\EUnit_log.xml \lastrun_EUnit_log.xml
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function CALCULATECOVERAGE
+::
+:: Calculates test coverage. Generates html
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:CALCULATECOVERAGE
+echo Calculating coverage
+ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
+call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVETESTS
+::
+:: Removes tests from eunit directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVETESTS
+echo Removing Test dlls
+call sleep 3
+call del %PATH_TO_MOVE_DLL%\t_*.dll
+call del %PATH_TO_MOVE_DLL%\mt_*.dll
+call del %PATH_TO_MOVE_DLL%\ut_*.dll
+call del %PATH_TO_MOVE_DLL%\it_*.dll
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function REMOVECOVERAGE
+::
+:: Removes data from coverage directory
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:REMOVECOVERAGE
+echo Removing deleting coverage data
+call del %PATH_TO_COVERAGE_DATA%\*.sym
+call del %PATH_TO_COVERAGE_DATA%\*.dat
+call del profile.txt
+goto end
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: function END
+::
+:: Prints done
+::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:END
+echo Done!
\ No newline at end of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/main.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/main.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-#include "t_phoneringingtoneplayer.h"
-
-
-int main(int argc, char *argv[])
-{
- HbApplication app (argc, argv);
- // main window widget instantiated.
- // includes decorators such as signal strength and battery life indicator.
- HbMainWindow mainWindow;
- t_phoneringingtoneplayer* player = new t_phoneringingtoneplayer ();
- mainWindow.addView(player);
- mainWindow.setCurrentView(player);
- mainWindow.show();
- return app.exec();
-}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/sample.mp3
Binary file phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/sample.mp3 has changed
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,214 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "t_phoneringingtoneplayer.h"
-#include "cphoneringingtonecontroller.h"
-#include "TPhoneCmdParamRingTone.h"
-
-
-_LIT(KNokiatune, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac");
-_LIT(KSamplemp3, "c:\\Data\\Sounds\\Digital\\sample.mp3");
-
-t_phoneringingtoneplayer::t_phoneringingtoneplayer(QGraphicsItem *parent)
- : HbView(parent), m_volume(10)
-{
- setTitle(tr("t_ringingtoneplayer"));
- createMenu();
- createContent();
-
- m_ringingtone.Format(KNokiatune);
- m_ringingtoneplayer = CPhoneRingingToneController::NewL();
-}
-
-t_phoneringingtoneplayer::~t_phoneringingtoneplayer()
-{
- delete m_ringingtoneplayer;
-}
-void t_phoneringingtoneplayer::createMenu()
-{
- HbMenu *optionsMenu = menu();
- /*connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneRingning()));
- connect(optionsMenu->addAction(tr("EProfileRingingTypeBeepOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneBeepOnce()));
- connect(optionsMenu->addAction(tr("EProfileRingingTypeSilent"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneSilence()));
- connect(optionsMenu->addAction(tr("EProfileRingingTypeRinging+tts"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneTTS()));
- connect(optionsMenu->addAction(tr("EProfileRingingTypeAscending"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneAscending()));
- connect(optionsMenu->addAction(tr("EProfileRingingTypeRingingOnce"))->action(), SIGNAL(triggered()), this, SLOT(PlayRingingtoneOnce()));
- connect(optionsMenu->addAction(tr("Stop ringingtone"))->action(), SIGNAL(triggered()), this, SLOT(StopRingingtone())); */
- connect(optionsMenu->addAction(tr("sample.mp3")), SIGNAL(triggered()), this, SLOT(SampleMP3()));
- connect(optionsMenu->addAction(tr("nokiatune.aac")), SIGNAL(triggered()), this, SLOT(Nokiatuneaac()));
- //connect(optionsMenu->addAction(tr("Quit"))->action(), SIGNAL(triggered()), qApp, SLOT(quit()));
-}
-
-void t_phoneringingtoneplayer::createContent()
-{
- QGraphicsLinearLayout *mainLayout = new QGraphicsLinearLayout(Qt::Vertical);
-
- HbPushButton *ringingButton = new HbPushButton(tr("EProfileRingingTypeRinging"), this);
- connect(ringingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneRingning()));
-
- HbPushButton *beeponceButton = new HbPushButton(tr("EProfileRingingTypeBeepOnce"), this);
- connect(beeponceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneBeepOnce()));
-
- HbPushButton *silenceButton = new HbPushButton(tr("EProfileRingingTypeSilent"), this);
- connect(silenceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneSilence()));
-
- HbPushButton *ttsButton = new HbPushButton(tr("EProfileRingingTypeRinging+tts"), this);
- connect(ttsButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneTTS()));
-
- HbPushButton *ascendingButton = new HbPushButton(tr("EProfileRingingTypeAscending"), this);
- connect(ascendingButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneAscending()));
-
- HbPushButton *ringingonceButton = new HbPushButton(tr("EProfileRingingTypeRingingOnce"), this);
- connect(ringingonceButton, SIGNAL(clicked()), this, SLOT(PlayRingingtoneOnce()));
-
- HbPushButton *stopButton = new HbPushButton(tr("Stop ringingtone"), this);
- connect(stopButton, SIGNAL(clicked()), this, SLOT(StopRingingtone()));
-
- HbPushButton *quitButton = new HbPushButton(tr("Quit"), this);
- connect(quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
-
- HbSlider *volumeslider = new HbSlider(this);
- //volumeslider->setSliderType(HbSlider::VolumeSlider);
- volumeslider->setOrientation( Qt::Horizontal);
- volumeslider->setMinimum(EProfileRingingVolumeLevel1);
- volumeslider->setMaximum(EProfileRingingVolumeLevel10);
- volumeslider->setSingleStep(1);
- volumeslider->setValue(m_volume);
- connect(volumeslider, SIGNAL(valueChanged(int)), this, SLOT(volumeSliderChanged(int)));
-
- mainLayout->addItem(volumeslider);
- mainLayout->addItem(ringingButton);
- mainLayout->addItem(beeponceButton);
- mainLayout->addItem(silenceButton);
- mainLayout->addItem(ttsButton);
- mainLayout->addItem(ascendingButton);
- mainLayout->addItem(ringingonceButton);
- mainLayout->addItem(stopButton);
- mainLayout->addItem(quitButton);
- //mainLayout->addStretch();
-
- setLayout(mainLayout);
-}
-
-void t_phoneringingtoneplayer::PlayRingingtoneRingning()
-{
- m_ringingtoneplayer->StopPlaying();
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeRinging);
- // Set the profile ring tone
- ringToneParam.SetRingTone( m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-void t_phoneringingtoneplayer::PlayRingingtoneBeepOnce()
-{
- m_ringingtoneplayer->StopPlaying();
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeBeepOnce);
- // Set the profile ring tone
- ringToneParam.SetRingTone( m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-
-void t_phoneringingtoneplayer::PlayRingingtoneSilence()
-{
- m_ringingtoneplayer->StopPlaying();
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeSilent);
- // Set the profile ring tone
- ringToneParam.SetRingTone( m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-void t_phoneringingtoneplayer::PlayRingingtoneTTS()
-{
- m_ringingtoneplayer->StopPlaying();
- _LIT(KTextToSay, "Mr. Brownstone");
- TBuf<30> texttosay (KTextToSay);
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeRinging);
- ringToneParam.SetTextToSay(texttosay);
- // Set the profile ring tone
- ringToneParam.SetRingTone( m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-void t_phoneringingtoneplayer::PlayRingingtoneAscending()
-{
- m_ringingtoneplayer->StopPlaying();
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeAscending);
- // Set the profile ring tone
- ringToneParam.SetRingTone( m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-void t_phoneringingtoneplayer::PlayRingingtoneOnce()
-{
- m_ringingtoneplayer->StopPlaying();
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(m_volume);
- ringToneParam.SetRingingType(EProfileRingingTypeRingingOnce);
- // Set the profile ring tone
- ringToneParam.SetRingTone(m_ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- m_ringingtoneplayer->PlayRingToneL( &ringToneParam );
-}
-
-
-void t_phoneringingtoneplayer::StopRingingtone()
-{
- m_ringingtoneplayer->StopPlaying();
-}
-
-void t_phoneringingtoneplayer::SampleMP3()
-{
- m_ringingtone.Format(KSamplemp3);
-}
-void t_phoneringingtoneplayer::Nokiatuneaac()
-{
- m_ringingtone.Format(KNokiatune);
-}
-void t_phoneringingtoneplayer::volumeSliderChanged(int value)
- {
- m_volume = value;
- }
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.h
--- a/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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 T_PHONERINGINGTONEPLAYER_H
-#define T_PHONERINGINGTONEPLAYER_H
-
-#include
-#include
-
-class CPhoneRingingToneController;
-
-class t_phoneringingtoneplayer : public HbView
-{
- Q_OBJECT
-
-public:
- t_phoneringingtoneplayer(QGraphicsItem *parent = 0);
- ~t_phoneringingtoneplayer();
-
-private:
- void createMenu();
- void createContent();
-
-protected slots:
- void PlayRingingtoneRingning();
- void StopRingingtone();
- void PlayRingingtoneBeepOnce();
- void PlayRingingtoneSilence();
- void PlayRingingtoneTTS();
- void PlayRingingtoneAscending();
- void PlayRingingtoneOnce();
- void SampleMP3();
- void Nokiatuneaac();
- void volumeSliderChanged(int value);
-
-private:
-
- TBuf<50> m_ringingtone;
- int m_volume;
- CPhoneRingingToneController *m_ringingtoneplayer;
-};
-
-#endif // T_PHONERINGINGTONEPLAYER_H
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro
--- a/phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer.pro Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-#
-# 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:
-#
-#
-
-TEMPLATE = app
-TARGET = t_phoneringingtoneplayer
-CONFIG += hb
-
-symbian {
-
- INCLUDEPATH += /epoc32/include/platform/mw \
- /epoc32/include/platform \
- ../../../phoneuiutils/inc \
- ../../../phoneuiview2/src \
- ../../../phoneuiqtviewadapter/inc \
- ../../inc \
- ../../../phonemediatorcenter/inc
- INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-
- LIBS += -lphoneringingtoneplayer \
- -lphoneuiutils
-
- TARGET.CAPABILITY = ALL -TCB
- DEFINES += FT_SYMBIAN_INTEGRATION
-}
-
-HEADERS += t_phoneringingtoneplayer.h
-SOURCES += t_phoneringingtoneplayer_reg.rss \
- main.cpp \
- t_phoneringingtoneplayer.cpp
-
-RESOURCES +=
-
-symbian:TARGET.UID3 = 0xE87E453C
-
-
-symbian:MMP_RULES += SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer_armv5_urel.sis
Binary file phoneapp/phoneringingtoneplayer/tsrc/t_phoneringingtoneplayer/t_phoneringingtoneplayer_armv5_urel.sis has changed
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/bwins/ut_cphoneringingtonecontrolleru.def
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/bwins/ut_cphoneringingtonecontrolleru.def Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * CreateTestSuiteL(void)
- ?StopPlaying@CPhoneRingingToneController@@QAEXXZ @ 2 NONAME ; void CPhoneRingingToneController::StopPlaying(void)
- ?PlayRingToneL@CPhoneRingingToneController@@QAEXPAVTPhoneCommandParam@@@Z @ 3 NONAME ; void CPhoneRingingToneController::PlayRingToneL(class TPhoneCommandParam *)
- ?NewL@CPhoneRingingToneController@@SAPAV1@XZ @ 4 NONAME ; class CPhoneRingingToneController * CPhoneRingingToneController::NewL(void)
- ?MuteRingingToneOnAnswer@CPhoneRingingToneController@@QAEXXZ @ 5 NONAME ; void CPhoneRingingToneController::MuteRingingToneOnAnswer(void)
- ?MuteRingingTone@CPhoneRingingToneController@@QAEXXZ @ 6 NONAME ; void CPhoneRingingToneController::MuteRingingTone(void)
-
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/bld.inf
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/bld.inf Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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:
-*
-*/
-
-PRJ_PLATFORMS
- DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-
-PRJ_TESTMMPFILES
-ut_cphoneringingtonecontroller.mmp
-
-
-// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/group/ut_cphoneringingtonecontroller.mmp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-
-TARGET ut_cphoneringingtonecontroller.dll
-TARGETTYPE dll
-UID 0x1000af5a 0x01700000
-
-CAPABILITY ALL -TCB -DRM
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE ut_cphoneringingtonecontroller.cpp
-SOURCE ut_cphoneringingtonecontroller_dllmain.cpp
-
-// Code under test
-SOURCEPATH ../../../src
-SOURCE cphoneringingtonecontroller.cpp
-SOURCE cphoneringingtone.cpp
-
-SOURCEPATH ../mocks
-SOURCE mock_cphoneringingtoneplayer.cpp
-SOURCE mock_cphonettsplayer.cpp
-
-USERINCLUDE ../src
-USERINCLUDE ../../../inc
-USERINCLUDE ../../../../phoneuiqtviewadapter/inc
-USERINCLUDE ../../../../phoneuicontrol/inc
-USERINCLUDE ../../../../phoneuiutils/inc
-USERINCLUDE ../../../../phoneui2/srcdata
-USERINCLUDE ../../../../phonemediatorcenter/inc
-
-APP_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/digia/eunit
-SYSTEMINCLUDE /epoc32/include/mda/client
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/mmf/common
-SYSTEMINCLUDE /epoc32/include/mmf/server
-SYSTEMINCLUDE ../../../../../inc // phone internal headers
-
-LIBRARY eunit.lib
-LIBRARY eunitutil.lib
-LIBRARY symbianmock.lib
-LIBRARY phoneuiutils.lib
-LIBRARY euser.lib
-LIBRARY efsrv.lib // TParse
-LIBRARY ecom.lib // for CSFIUtilsPhoneInterface plugin
-LIBRARY apgrfx.lib // Apa server
-LIBRARY mediaclient.lib
-LIBRARY mediaclientaudio.lib
-LIBRARY drmhelper.lib
-LIBRARY apmime.lib
-LIBRARY caf.lib
-LIBRARY charconv.lib // UTF-8 conversion for the TTS
-LIBRARY featmgr.lib // FeatureManager
-LIBRARY mediatorclient.lib
-LIBRARY audiooutputrouting.lib // Ringingtone output
-LIBRARY platformenv.lib // PathInfo
-LIBRARY cone.lib
-
-EPOCALLOWDLLDATA
-
-
-SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphoneringingtoneplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphoneringingtoneplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-#include "cphoneringingtone.h"
-#include "cphoneringingtoneplayer.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::CPhoneRingingtonePlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingtonePlayer::CPhoneRingingtonePlayer( )
- :CActive( CActive::EPriorityStandard )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructL( )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingtonePlayer::~CPhoneRingingtonePlayer( )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneRingingtonePlayer * CPhoneRingingtonePlayer::NewL( )
- {
- SMC_MOCK_NEWL0( CPhoneRingingtonePlayer * )
-
- CPhoneRingingtonePlayer* self = new( ELeave ) CPhoneRingingtonePlayer;
- CleanupStack::PushL( self );
- //self->ConstructL()
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayProfileBasedTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayProfileBasedTone(
- CPhoneRingingTone * aAudioVideoRingingTone )
- {
- SMC_MOCK_METHOD1( void, CPhoneRingingTone *, aAudioVideoRingingTone )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayBeepOnce
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayBeepOnce(
- TInt aVolume )
- {
- SMC_MOCK_METHOD1( void, TInt, aVolume )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlaySilentTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlaySilentTone( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayVideoRingingTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayVideoRingingTone(
- const CPhoneRingingTone & aRingingTone,
- TInt aVolume,
- TProfileRingingType aRingingType,
- TBool aPersonalTone )
- {
- SMC_MOCK_METHOD4( void, const CPhoneRingingTone &, aRingingTone,
- TInt, aVolume,
- TProfileRingingType, aRingingType,
- TBool, aPersonalTone )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayDefaultTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayDefaultTone(
- TInt aVolume,
- TProfileRingingType aRingingType )
- {
- SMC_MOCK_METHOD2( void, TInt, aVolume,
- TProfileRingingType, aRingingType )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::PlayBackupTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::PlayBackupTone(
- TInt aVolume,
- TProfileRingingType aRingingType )
- {
- SMC_MOCK_METHOD2( void, TInt, aVolume,
- TProfileRingingType, aRingingType )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::StopPlaying( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer * CPhoneRingingtonePlayer::GetCurrentlyActiveAudioPlayer( )
- {
- SMC_MOCK_METHOD0( CPhoneAudioPlayer * )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::MuteActiveAudioPlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::MuteActiveAudioPlayer( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandleCenRepChangeL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleCenRepChangeL(
- const TUid & aUid,
- const TUint aId )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD2( void, const TUid &, aUid,
- const TUint, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::RunL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::RunL( )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DoCancel( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandleAudioPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent aEvent,
- TInt aError,
- TInt aId )
- {
- SMC_MOCK_METHOD3( void, TPhoneAudioPlayerErrorEvent, aEvent,
- TInt, aError,
- TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleAudioPlayerInitComplete(
- TInt aId )
- {
- SMC_MOCK_METHOD1( void, TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandlePlayingComplete(
- TInt aId )
- {
- SMC_MOCK_METHOD1( void, TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::HandleTimeOutL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::HandleTimeOutL( )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::DeletePlayerAsync
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DeletePlayerAsync(
- TPlayerId aPlayer )
- {
- SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructSequencePlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructSequencePlayer(
- TPlayerId aPlayer )
- {
- SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructSequencePlayerL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructSequencePlayerL(
- TPlayerId aPlayer )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD1( void, TPlayerId, aPlayer )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructBackupPlayer
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneRingingtonePlayer::ConstructBackupPlayer( )
- {
- SMC_MOCK_METHOD0( TInt )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructBackupPlayerL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructBackupPlayerL( )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructDefaultPlayerL
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::ConstructDefaultPlayerL( )
- {
- EUNIT_LEAVE_POINT
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConstructTonePlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer * CPhoneRingingtonePlayer::ConstructTonePlayer(
- const CPhoneRingingTone & aRingingTone,
- TInt aId )
- {
- SMC_MOCK_METHOD2( CPhoneAudioPlayer *, const CPhoneRingingTone &, aRingingTone,
- TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConvertRingingType
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneRingingtonePlayer::ConvertRingingType(
- TProfileRingingType aRingingType )
- {
- SMC_MOCK_METHOD1( CPhoneAudioPlayer::TRingingType, TProfileRingingType, aRingingType )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::ConvertVideoRingingType
-// -----------------------------------------------------------------------------
-//
-MPhoneVideoPlayer::TPlayMode CPhoneRingingtonePlayer::ConvertVideoRingingType(
- TProfileRingingType aRingingType )
- {
- SMC_MOCK_METHOD1( MPhoneVideoPlayer::TPlayMode, TProfileRingingType, aRingingType )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::CleanupPlayers
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::CleanupPlayers( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneRingingtonePlayer::DoHandlePlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneRingingtonePlayer::DoHandlePlayerError(
- TBool aDelete,
- TBool aSync )
- {
- SMC_MOCK_METHOD2( void, TBool, aDelete,
- TBool, aSync )
- }
-
-
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphonettsplayer.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/mocks/mock_cphonettsplayer.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,205 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include "cphonettsplayer.h"
-#include "cphoneringingtone.h"
-#include "cphoneringingtoneplayer.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::CPhoneTTSPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneTTSPlayer::CPhoneTTSPlayer(
- CPhoneRingingtonePlayer * aRingingtonePlayer )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::ConstructL( )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::~CPhoneTTSPlayer
-// -----------------------------------------------------------------------------
-//
-CPhoneTTSPlayer::~CPhoneTTSPlayer( )
- {
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::NewL
-// -----------------------------------------------------------------------------
-//
-CPhoneTTSPlayer * CPhoneTTSPlayer::NewL(
- CPhoneRingingtonePlayer * aRingingtonePlayer )
- {
- SMC_MOCK_NEWL1( CPhoneTTSPlayer *, CPhoneRingingtonePlayer *, aRingingtonePlayer )
-
- CPhoneTTSPlayer* self = new( ELeave ) CPhoneTTSPlayer(aRingingtonePlayer);
- CleanupStack::PushL( self );
- //self->ConstructL()
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::PlayTtsTone
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::PlayTtsTone(
- const TDesC & aTextToSay,
- CPhoneRingingTone * aAudioVideoRingingTone )
- {
- SMC_MOCK_METHOD2( void, const TDesC &, aTextToSay,
- CPhoneRingingTone *, aAudioVideoRingingTone )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::StopPlaying
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::StopPlaying( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::AddTtsPlaybackIfNeeded
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::AddTtsPlaybackIfNeeded( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::HandleAudioPlayerError
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandleAudioPlayerError(
- TPhoneAudioPlayerErrorEvent aEvent,
- TInt aError,
- TInt aId )
- {
- SMC_MOCK_METHOD3( void, TPhoneAudioPlayerErrorEvent, aEvent,
- TInt, aError,
- TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::HandleAudioPlayerInitComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandleAudioPlayerInitComplete(
- TInt aId )
- {
- SMC_MOCK_METHOD1( void, TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::HandlePlayingComplete
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::HandlePlayingComplete(
- TInt aId )
- {
- SMC_MOCK_METHOD1( void, TInt, aId )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::HandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-TInt CPhoneTTSPlayer::HandleTtsDelayTimeout(
- TAny * object )
- {
- //SMC_MOCK_METHOD1( TInt, TAny *, object )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::DoHandleTtsDelayTimeout
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::DoHandleTtsDelayTimeout( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer * CPhoneTTSPlayer::GetCurrentlyActiveAudioPlayerWithTTs( )
- {
- SMC_MOCK_METHOD0( CPhoneAudioPlayer * )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::SolveNewVolumeAndRamptime
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::SolveNewVolumeAndRamptime(
- TTtsStatus aStatus )
- {
- SMC_MOCK_METHOD1( void, TTtsStatus, aStatus )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::ReStartRingingTonePlayer
-// -----------------------------------------------------------------------------
-//
-void CPhoneTTSPlayer::ReStartRingingTonePlayer( )
- {
- SMC_MOCK_METHOD0( void )
- }
-
-
-// -----------------------------------------------------------------------------
-// CPhoneTTSPlayer::ConvertRingingType
-// -----------------------------------------------------------------------------
-//
-CPhoneAudioPlayer::TRingingType CPhoneTTSPlayer::ConvertRingingType(
- TProfileRingingType aRingingType )
- {
- SMC_MOCK_METHOD1( CPhoneAudioPlayer::TRingingType, TProfileRingingType, aRingingType )
- }
-
-
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "ut_cphoneringingtonecontroller.h"
-#include "cphoneringingtonecontroller.h"
-#include "tphonecmdparamringtone.h"
-#include "cphoneringingtone.h"
-#include "cphonecenrepproxy.h"
-
-_LIT(KNokiatune, "Z:\\Data\\Sounds\\Digital\\Nokia tune.aac");
-
-
-
-// custom comparison method for matching expected and items
-TBool operator==( const CPhoneRingingTone& aData1,
- const CPhoneRingingTone& aData2 )
- {
- return ( aData1.FileName() == aData2.FileName()&&
- aData1.Volume() == aData2.Volume() &&
- aData1.RingingType() == aData2.RingingType()&&
- aData1.TtsToneToBePlayed() == aData2.TtsToneToBePlayed());
- }
-
-// - Construction -----------------------------------------------------------
-
-ut_cphoneringingtonecontroller* ut_cphoneringingtonecontroller::NewL()
- {
- ut_cphoneringingtonecontroller* self = ut_cphoneringingtonecontroller::NewLC();
- CleanupStack::Pop();
- return self;
- }
-
-ut_cphoneringingtonecontroller* ut_cphoneringingtonecontroller::NewLC()
- {
- ut_cphoneringingtonecontroller* self = new( ELeave ) ut_cphoneringingtonecontroller();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-ut_cphoneringingtonecontroller::~ut_cphoneringingtonecontroller()
- {
- CSmcMockContext::Release();
- }
-
-ut_cphoneringingtonecontroller::ut_cphoneringingtonecontroller()
- {
- }
-
-void ut_cphoneringingtonecontroller::ConstructL()
- {
- CEUnitTestSuiteClass::ConstructL();
- iMockContext = CSmcMockContext::InstanceL();
- }
-
-// - Test methods -----------------------------------------------------------
-
-
-
-void ut_cphoneringingtonecontroller::SetupL( )
- {
- iMockContext->InitializeL();
- // need to be created here otherwise memory leak can be detected.
- iPhoneCenRepProxy = CPhoneCenRepProxy::Instance();
- iRingingtoneplayer = CPhoneRingingToneController::NewL();
- }
-
-
-void ut_cphoneringingtonecontroller::Teardown( )
- {
- delete CPhoneCenRepProxy::Instance();
- UserSvr::DllFreeTls(KUidCenRepProxySingleton.iUid);
-
- delete iRingingtoneplayer;
- iRingingtoneplayer = NULL;
- iMockContext->Reset();
- }
-
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneRinging( )
- {
- // Expected data
- TBuf<50> ringingtone(KNokiatune);
- _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
- CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
- aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRinging);
- aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
- aAudioVideoRingingTone->SetVolume(5);
- iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeRinging);
- // Set the profile ring tone
- ringToneParam.SetRingTone( ringingtone );
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- delete aAudioVideoRingingTone;
-
- }
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneSilence( )
- {
- _LIT8( KMethod, "CPhoneRingingtonePlayer::PlaySilentTone" );
-
- iMockContext->ExpectCallL( KMethod() );
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeSilent);
- // Set the profile ring tone
- TBuf<50> ringingtone(KNokiatune);
- ringToneParam.SetRingTone( ringingtone );
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- }
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneBeepOnce( )
- {
- _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayBeepOnce" );
- iMockContext->ExpectCallL( KMethod() ).WithL(5);
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeBeepOnce);
- // Set the profile ring tone
- TBuf<50> ringingtone(KNokiatune);
- ringToneParam.SetRingTone( ringingtone );
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- }
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneAscending( )
- {
- TBuf<50> ringingtone(KNokiatune);
- _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
- CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
- aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeAscending);
- aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
- aAudioVideoRingingTone->SetVolume(5);
- iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeAscending);
- // Set the profile ring tone
- ringToneParam.SetRingTone( ringingtone );
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- delete aAudioVideoRingingTone;
- }
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneRingingOnce( )
- {
- TBuf<50> ringingtone(KNokiatune);
- _LIT8( KMethod, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
- CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
- aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRingingOnce);
- aAudioVideoRingingTone->SetTtsToneToBePlayed(EFalse);
- aAudioVideoRingingTone->SetVolume(5);
- iMockContext->ExpectCallL( KMethod() ).WithL(aAudioVideoRingingTone);
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeRingingOnce);
- // Set the profile ring tone
- ringToneParam.SetRingTone( ringingtone );
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- delete aAudioVideoRingingTone;
- }
-
-void ut_cphoneringingtonecontroller::T_PlayRingingtoneTTS()
-{
- // Expected data
- _LIT(KTextToSay, "Mr. Brownstone");
- TBuf<30> texttosay (KTextToSay);
- TBuf<50> ringingtone(KNokiatune);
- CPhoneRingingTone* aAudioVideoRingingTone = CPhoneRingingTone::NewL(ringingtone);
- aAudioVideoRingingTone->SetRingingType(EProfileRingingTypeRinging);
- aAudioVideoRingingTone->SetTtsToneToBePlayed(ETrue);
- aAudioVideoRingingTone->SetVolume(5);
- _LIT8( KMethod, "CPhoneTTSPlayer::NewL" );
- iMockContext->ExpectCallL( KMethod() );
- _LIT8( KMethod2, "CPhoneTTSPlayer::PlayTtsTone" );
- iMockContext->ExpectCallL( KMethod2() ).WithL(KTextToSay(), aAudioVideoRingingTone);
- _LIT8( KMethod3, "CPhoneRingingtonePlayer::PlayProfileBasedTone" );
- iMockContext->ExpectCallL( KMethod3() ).WithL(aAudioVideoRingingTone);
-
- TPhoneCmdParamRingTone ringToneParam;
- ringToneParam.SetVolume(5);
- ringToneParam.SetRingingType(EProfileRingingTypeRinging);
- ringToneParam.SetTextToSay(texttosay);
- // Set the profile ring tone
- ringToneParam.SetRingTone( ringingtone);
- ringToneParam.SetType( EPhoneRingToneProfile );
-
- iRingingtoneplayer->PlayRingToneL( &ringToneParam );
-
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
- delete aAudioVideoRingingTone;
-}
-
-void ut_cphoneringingtonecontroller::T_StopRingingtone()
-{
- _LIT8( KMethod, "CPhoneRingingtonePlayer::StopPlaying" );
- iMockContext->ExpectCallL( KMethod() );
-
- iRingingtoneplayer->StopPlaying();
- EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
-}
-// - EUnit test table -------------------------------------------------------
-
-EUNIT_BEGIN_TEST_TABLE(
- ut_cphoneringingtonecontroller,
- "Add test suite description here.",
- "UNIT" )
-
-EUNIT_TEST(
- "T_PlayRingingtoneRinging",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneRinging, Teardown)
-
-EUNIT_TEST(
- "T_PlayRingingtoneSilence",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneSilence, Teardown)
-
-EUNIT_TEST(
- "T_PlayRingingtoneBeepOnce",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneBeepOnce, Teardown)
-
-EUNIT_TEST(
- "T_PlayRingingtoneAscending",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneAscending, Teardown)
-
-EUNIT_TEST(
- "T_PlayRingingtoneAscending",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneRingingOnce, Teardown)
-
-EUNIT_TEST(
- "T_PlayRingingtoneTTS",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_PlayRingingtoneTTS, Teardown)
-
-EUNIT_TEST(
- "T_StopRingingtone",
- "",
- "",
- "FUNCTIONALITY",
- SetupL, T_StopRingingtone, Teardown)
-EUNIT_END_TEST_TABLE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.h
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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 __UT_CPHONERINGINGTONEPLAYER_H__
-#define __UT_CPHONERINGINGTONEPLAYER_H__
-
-// INCLUDES
-#include
-#include
-
-
-// FORWARD DECLARATIONS
-
-class CPhoneRingingToneController;
-class CSmcMockContext;
-class CPhoneRingingTone;
-class CPhoneCenRepProxy;
-
-
-// custom comparison method for matching expected and actual SData items
-TBool operator==( const CPhoneRingingTone& aData1, const CPhoneRingingTone& aData2 );
-// CLASS DEFINITION
-/**
- * Generated EUnit test suite class.
- */
-NONSHARABLE_CLASS( ut_cphoneringingtonecontroller )
- : public CEUnitTestSuiteClass
- {
- public: // Constructors and destructor
-
- static ut_cphoneringingtonecontroller* NewL();
- static ut_cphoneringingtonecontroller* NewLC();
- ~ut_cphoneringingtonecontroller();
-
- private: // Constructors
-
- ut_cphoneringingtonecontroller();
- void ConstructL();
-
- private: // New methods
-
- void SetupL();
-
- void Teardown();
-
- void T_PlayRingingtoneRinging();
-
- void T_PlayRingingtoneSilence();
-
- void T_PlayRingingtoneBeepOnce();
-
- void T_PlayRingingtoneAscending();
-
- void T_PlayRingingtoneRingingOnce();
-
- void T_PlayRingingtoneTTS();
-
- void T_StopRingingtone();
-
-
- private: // Data
-
- CPhoneRingingToneController* iRingingtoneplayer;
- CPhoneCenRepProxy* iPhoneCenRepProxy;
- CSmcMockContext* iMockContext;
-
- EUNIT_DECLARE_TEST_TABLE;
-
- };
-
-#endif // __UT_CPHONERINGINGTONEPLAYER_H__
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller_dllmain.cpp
--- a/phoneapp/phoneringingtoneplayer/tsrc/ut_cphoneringingtonecontroller/src/ut_cphoneringingtonecontroller_dllmain.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* 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:
-*
-*/
-
-#include "ut_cphoneringingtonecontroller.h"
-#include
-
-EXPORT_C MEUnitTest* CreateTestSuiteL()
- {
- return ut_cphoneringingtonecontroller::NewL();
- }
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonestringloader/src/stringloader.cpp
--- a/phoneapp/phonestringloader/src/stringloader.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonestringloader/src/stringloader.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -18,22 +18,10 @@
#include // must be before e32base.h so uncaught_exception gets defined
#include
#include "phoneresourceadapter.h"
-#include "phoneaction.h"
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
-// StringLoader::StringLoader
-// -----------------------------------------------------------------------------
-//
-/*
-StringLoader::StringLoader( )
- {
-
- }
-*/
-
-// -----------------------------------------------------------------------------
// StringLoader::Load
// -----------------------------------------------------------------------------
//
@@ -43,12 +31,8 @@
CCoeEnv * aLoaderEnv )
{
Q_UNUSED (aLoaderEnv);
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- aDest.Copy (text->text ().utf16 ());
- delete text;
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId);
+ aDest.Copy(text.utf16());
}
// -----------------------------------------------------------------------------
@@ -59,19 +43,8 @@
TInt aResourceId,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -85,19 +58,8 @@
TInt aInt,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, aInt);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aInt, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -111,19 +73,8 @@
const TDesC & aString,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aString, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -138,19 +89,8 @@
TInt aInt,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString, aInt);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aString, aInt, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -164,19 +104,8 @@
const CArrayFix & aInts,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aInts);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aInts, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -190,19 +119,8 @@
const MDesCArray & aStrings,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aStrings, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -217,19 +135,8 @@
const CArrayFix & aInts,
CCoeEnv * aLoaderEnv )
{
- Q_UNUSED (aLoaderEnv);
- HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings, &aInts);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewL (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::New (1);
- }
+ HBufC *buf = LoadLC(aResourceId, aStrings, aInts, aLoaderEnv);
+ CleanupStack::Pop(buf);
return buf;
}
@@ -244,17 +151,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -270,17 +169,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, aInt);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, aInt);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -296,17 +187,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, &aString);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -323,17 +206,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aString, aInt);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, &aString, aInt);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -350,17 +225,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aInts);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, &aInts);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -376,17 +243,9 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, &aStrings);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
@@ -403,16 +262,8 @@
{
Q_UNUSED (aLoaderEnv);
HBufC *buf;
- QMap map = PhoneResourceAdapter::Instance ()->convert (aResourceId, &aStrings, &aInts);
- if (map.contains (PhoneAction::Text)) {
- PhoneAction *text = map [PhoneAction::Text];
- buf = HBufC::NewLC (text->text ().size ());
- *buf = text->text ().utf16 ();
- delete text;
- } else {
- // TODO: this else branch MUST be removed after all strings are localized!
- // now here only to prevent crashing
- buf = HBufC::NewLC (1);
- }
+ QString text = PhoneResourceAdapter::Instance()->convert(aResourceId, &aStrings, &aInts);
+ buf = HBufC::NewLC(text.size());
+ *buf = text.utf16();
return buf;
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonestringloader/tsrc/ut_phonestringloader/phoneresourceadapter.h
--- a/phoneapp/phonestringloader/tsrc/ut_phonestringloader/phoneresourceadapter.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/phoneresourceadapter.h Fri Oct 15 12:58:46 2010 +0300
@@ -17,7 +17,6 @@
#include
#include
-#include "phoneaction.h"
#ifndef PHONERESOURCEADAPTER_H
#define PHONERESOURCEADAPTER_H
@@ -27,7 +26,7 @@
Q_OBJECT
public:
static PhoneResourceAdapter* Instance(QObject *parent = 0);
- QMap convert (int symbianResourceId, ...);
+ QString convert (int symbianResourceId, ...);
};
#endif
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp
--- a/phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phonestringloader/tsrc/ut_phonestringloader/unit_tests.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -21,7 +21,6 @@
#include
//#include
#include
-#include "phoneaction.h"
#include "phoneresourceadapter.h"
class TestPhoneStringLoader : public QObject
@@ -70,18 +69,16 @@
return m_resource_adapter;
}
-QMap PhoneResourceAdapter::convert (int symbianResourceId, ...)
+QString PhoneResourceAdapter::convert (int symbianResourceId, ...)
{
m_resourceId = symbianResourceId;
m_convertCalled = true;
- QMap map;
+ QString ret = "";
if (m_set_text_map) {
- PhoneAction *text = new PhoneAction;
- text->setText(tr("Test"));
- map[PhoneAction::Text] = text;
+ ret = tr("Test");
}
-
- return map;
+
+ return ret;
}
TestPhoneStringLoader::TestPhoneStringLoader ()
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/inc/hbphonemainwindow.h
--- a/phoneapp/phoneui2/inc/hbphonemainwindow.h Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* 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: Main window for PhoneUI
-*
-*/
-
-
-#ifndef HBPHONEMAINWINDOW_H_
-#define HBPHONEMAINWINDOW_H_
-
-#include
-#include
-
-class PhoneUiHouseHold;
-
-class HbPhoneMainWindow: public HbMainWindow
- {
- Q_OBJECT
-public:
-
- HbPhoneMainWindow(QWidget* parent = 0);
- ~HbPhoneMainWindow();
-
-signals:
- void focusLost();
- void focusGained();
-
-public slots:
- void onFocusLost();
- void onFocusGained();
-
-
-private: // data
- PhoneUiHouseHold* mHouseHold;
-
-
- };
-
-
-
-#endif /* HBPHONEMAINVIEW_H_ */
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/inc/phonemainwindow.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/inc/phonemainwindow.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* 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: Main window for PhoneUI
+*
+*/
+
+
+#ifndef HBPHONEMAINWINDOW_H_
+#define HBPHONEMAINWINDOW_H_
+
+#include
+#include
+
+class PhoneUiHouseHold;
+
+class PhoneMainWindow: public HbMainWindow
+ {
+ Q_OBJECT
+public:
+
+ PhoneMainWindow(QWidget* parent = 0);
+ ~PhoneMainWindow();
+ void ReloadTranslations();
+
+signals:
+ void focusLost();
+ void focusGained();
+
+public slots:
+ void onFocusLost();
+ void onFocusGained();
+
+protected:
+ void changeEvent(QEvent *event);
+
+
+private: // data
+ PhoneUiHouseHold* mHouseHold;
+
+
+ };
+
+
+
+#endif /* HBPHONEMAINVIEW_H_ */
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/inc/phoneuihousehold.h
--- a/phoneapp/phoneui2/inc/phoneuihousehold.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/inc/phoneuihousehold.h Fri Oct 15 12:58:46 2010 +0300
@@ -29,6 +29,7 @@
PhoneUiHouseHold (HbMainWindow &window);
~PhoneUiHouseHold ();
+ void reloadTranslators();
private:
PhoneUiHouseHoldPrivate* mHouseHoldPrivate;
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/inc/phoneuihousehold_p.h
--- a/phoneapp/phoneui2/inc/phoneuihousehold_p.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/inc/phoneuihousehold_p.h Fri Oct 15 12:58:46 2010 +0300
@@ -71,13 +71,20 @@
const TUint aKey,
const TInt aValue );
+ /**
+ * Creates new translators, loads translation files for current language
+ */
+ void loadTranslators();
+
private:
/**
* Constructor
*/
void ConstructL();
-
+
+ void resetTranslators();
+
private:
// Startup states.
// EPhoneStartupInitial - Initial state.
@@ -97,8 +104,8 @@
// Recovery id for startup signalling.
TRecoveryId iStartupSignalRecoveryId;
- //Boolean flag. ETrue iff we have reached light idle
- TBool iLightIdleReached;
+ //Boolean flag. True if we have reached light idle
+ bool iLightIdleReached;
CPhoneUIController* iPhoneUIController;
@@ -113,6 +120,8 @@
//List for translators
QList m_translators;
+ bool m_featMgrInit;
+
};
#endif
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/phoneui2.pro
--- a/phoneapp/phoneui2/phoneui2.pro Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/phoneui2.pro Fri Oct 15 12:58:46 2010 +0300
@@ -26,7 +26,7 @@
TARGET.CAPABILITY = ALL -TCB
TARGET.UID3 = 0x100058B3
TARGET.VID = VID_DEFAULT
- TARGET.EPOCHEAPSIZE = 0x1000 0xA00000
+ TARGET.EPOCHEAPSIZE = 0x1000 0xA00000 // codescanner::largeepocheapsizevalues
DEFINES += FT_SYMBIAN_INTEGRATION
VERSION = 10.0
@@ -57,7 +57,7 @@
RSS_RULES += "hidden = KAppIsHidden;"
}
-HEADERS += ./inc/hbphonemainwindow.h \
+HEADERS += ./inc/phonemainwindow.h \
./inc/phoneuikeyeventadapter.h \
./inc/phoneuicommandadapter.h \
./inc/phoneuihousehold.h \
@@ -67,7 +67,7 @@
SOURCES += ./src/main.cpp \
./src/phoneuikeyeventadapter.cpp \
./src/phoneuicommandadapter.cpp \
- ./src/hbphonemainwindow.cpp \
+ ./src/phonemainwindow.cpp \
./src/phoneuihousehold.cpp \
./src/phoneuihousehold_p.cpp \
./src/phoneapplication.cpp
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/hbphonemainwindow.cpp
--- a/phoneapp/phoneui2/src/hbphonemainwindow.cpp Mon Oct 04 16:06:10 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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: Main window class.
-*
-*/
-
-#include "hbphonemainwindow.h"
-#include "phoneuihousehold.h"
-
-HbPhoneMainWindow::HbPhoneMainWindow(QWidget *parent):
- HbMainWindow(parent)
-{
- mHouseHold = new PhoneUiHouseHold (*this);
-}
-
-HbPhoneMainWindow::~HbPhoneMainWindow ()
-{
- delete mHouseHold;
-}
-
-void HbPhoneMainWindow::onFocusLost()
-{
- emit focusLost();
-}
-void HbPhoneMainWindow::onFocusGained()
-{
- emit focusGained();
-}
-
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/main.cpp
--- a/phoneapp/phoneui2/src/main.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/src/main.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -21,14 +21,14 @@
#include
#include
-#include "hbphonemainwindow.h"
+#include "phonemainwindow.h"
#include "phoneapplication.h"
int main (int argc, char *argv[])
{
PhoneApplication app(argc, argv, Hb::NoSplash);
- HbPhoneMainWindow window;
+ PhoneMainWindow window;
QObject::connect(&app,SIGNAL(focusLost()),&window,SLOT(onFocusLost()));
QObject::connect(&app,SIGNAL(focusGained()),&window,SLOT(onFocusGained()));
XQServiceUtil::toBackground( true );
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/phoneapplication.cpp
--- a/phoneapp/phoneui2/src/phoneapplication.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/src/phoneapplication.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -37,7 +37,7 @@
const TWsEvent *wsevent = event->windowServerEvent();
if ( wsevent->Type() == EEventWindowVisibilityChanged ){
TUint visible = wsevent->VisibilityChanged()->iFlags;
- if ( visible & TWsVisibilityChangedEvent::EFullyVisible ){
+ if ( visible & TWsVisibilityChangedEvent::EPartiallyVisible ){
emit focusGained();
}else if (visible & TWsVisibilityChangedEvent::ENotVisible){
emit focusLost();
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/phonemainwindow.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneui2/src/phonemainwindow.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,52 @@
+/*
+* 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: Main window class.
+*
+*/
+
+#include
+#include "phonemainwindow.h"
+#include "phoneuihousehold.h"
+
+#include "qtphonelog.h"
+
+PhoneMainWindow::PhoneMainWindow(QWidget *parent):
+ HbMainWindow(parent)
+{
+ mHouseHold = new PhoneUiHouseHold (*this);
+}
+
+PhoneMainWindow::~PhoneMainWindow ()
+{
+ delete mHouseHold;
+}
+
+void PhoneMainWindow::onFocusLost()
+{
+ emit focusLost();
+}
+void PhoneMainWindow::onFocusGained()
+{
+ emit focusGained();
+}
+
+void PhoneMainWindow::changeEvent(QEvent *event)
+{
+ if (event->type() == QEvent::LocaleChange) {
+ PHONE_DEBUG("PhoneMainWindow::changeEvent, language changed");
+ mHouseHold->reloadTranslators();
+ }
+ HbMainWindow::changeEvent(event);
+}
+
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/phoneuihousehold.cpp
--- a/phoneapp/phoneui2/src/phoneuihousehold.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/src/phoneuihousehold.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -28,3 +28,7 @@
delete mHouseHoldPrivate;
}
+void PhoneUiHouseHold::reloadTranslators()
+{
+ mHouseHoldPrivate->loadTranslators();
+}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/src/phoneuihousehold_p.cpp
--- a/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/src/phoneuihousehold_p.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -41,26 +41,24 @@
PhoneUiHouseHoldPrivate::PhoneUiHouseHoldPrivate(HbMainWindow &window) :
iAppsReady (0), iStartupSignalRecoveryId (0), iLightIdleReached (EFalse),
- iPhoneUIController (0), m_window (window)
+ iPhoneUIController (0), m_window (window), m_featMgrInit(false)
{
PHONE_DEBUG("phoneui - Start phoneapp");
- TRAPD( error, ConstructL() );
- qt_symbian_throwIfError(error);
+ QT_TRAP_THROWING( ConstructL() );
}
PhoneUiHouseHoldPrivate::~PhoneUiHouseHoldPrivate()
{
- while (!m_translators.isEmpty()) {
- HbTranslator *translator = m_translators.takeFirst();
- delete translator;
- translator = 0;
- }
-
+ resetTranslators();
+
delete iKeyEventAdapter;
delete iCommandAdapter;
delete iPhoneUIController;
delete iViewAdapter;
+ if (m_featMgrInit) {
+ FeatureManager::UnInitializeLib();
+ }
}
TInt PhoneUiHouseHoldPrivate::DoStartupSignalL( TAny* aAny )
@@ -74,21 +72,16 @@
appUi->DoStartupSignalSecurityL();
}
-
TInt PhoneUiHouseHoldPrivate::DoStartupSignalIdleL()
{
PHONE_DEBUG("phoneui::DoStartupSignalIdleL()");
+ //Workaround: pre-load libs
+ m_window.show();
// Idle application has already started
if ( !( iAppsReady & EPhoneIdleStartedUp ) )
{
PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Idle App started ");
iAppsReady += EPhoneIdleStartedUp;
-
- // Remove Phone application from Fast Swap Window.
- // iPhoneViewController->SetHiddenL( ETrue );
-
- // Avkon removal
- // hack to make sure EPhonePhase1Ok is set - to be fixed properly
PHONE_DEBUG("phoneui::DoStartupSignalIdleL() Phone and Idle apps have both been started");
CPhonePubSubProxy::Instance()->ChangePropertyValue(
@@ -124,8 +117,7 @@
{
PHONE_DEBUG("phoneui::HandlePropertyChangedL()");
- if ( aCategory == KPSUidStartup )
- {
+ if ( aCategory == KPSUidStartup ){
const TInt startupState = CPhonePubSubProxy::Instance()->Value(
KPSUidStartup,
@@ -137,34 +129,24 @@
startupState == ESwStateEmergencyCallsOnly ||
startupState == ESwStateNormalRfOn ||
startupState == ESwStateNormalRfOff ||
- startupState == ESwStateNormalBTSap )
- {
+ startupState == ESwStateNormalBTSap ){
PHONE_DEBUG("phoneui::HandlePropertyChangedL() Try to update the startup signal again..." );
// Try to update the startup signal again
CPhoneRecoverySystem::Instance()->RecoverNow(
iStartupSignalRecoveryId,
CTeleRecoverySystem::EPhonePriorityHigh );
- }
}
+ }
}
void PhoneUiHouseHoldPrivate::ConstructL()
{
new( ELeave ) CPhoneLogger( KUidPhoneUILoggerSingleton );
FeatureManager::InitializeLibL();
+ m_featMgrInit = true;
- HbTranslator *translator = new HbTranslator(QString("telephone"));
-
- if (translator) {
- translator->loadCommon();
- m_translators.append(translator);
- }
+ loadTranslators();
- HbTranslator *translator2 = new HbTranslator(QString("telephone_cp"));
- if (translator2) {
- m_translators.append(translator2);
- }
-
PhoneUIQtView *view = new PhoneUIQtView(m_window);
iViewAdapter = new PhoneUIQtViewAdapter(*view);
iPhoneUIController = CPhoneUIController::NewL(iViewAdapter);
@@ -188,12 +170,6 @@
QObject::connect(iViewAdapter->noteController(), SIGNAL(command (int)),
iCommandAdapter, SLOT(handleCommand (int)));
- // Disable default Send key functionality in application framework
- // avkon removal
-// CAknAppUi *appUi = static_cast(CEikonEnv::Static()->AppUi());
-// appUi->SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
-// CAknAppUiBase::EDisableSendKeyLong );
-
// CLI Name.
TInt err = RProperty::Define(
KPSUidTelRemotePartyInformation,
@@ -315,3 +291,28 @@
}
}
+void PhoneUiHouseHoldPrivate::loadTranslators()
+{
+ PHONE_DEBUG2("PhoneUiHouseHoldPrivate::LoadTranslators, locale:", QLocale::system().name());
+ resetTranslators();
+
+ HbTranslator *translator2 = new HbTranslator(QString("telephone_cp"));
+ if (translator2) {
+ m_translators.append(translator2);
+ }
+
+ HbTranslator *translator = new HbTranslator(QString("telephone"));
+ if (translator) {
+ translator->loadCommon();
+ m_translators.append(translator); //most used translation file added last
+ }
+}
+
+void PhoneUiHouseHoldPrivate::resetTranslators()
+{
+ while (!m_translators.isEmpty()) {
+ HbTranslator *translator = m_translators.takeFirst();
+ delete translator;
+ translator = 0;
+ }
+}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.cpp
--- a/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -19,8 +19,10 @@
#include
#include
#include
-#include "hbphonemainwindow.h"
+#include "phonemainwindow.h"
+#include "phoneuihousehold.h"
+void PhoneUiHouseHold::reloadTranslators() {}
class U_PhoneMainWindow: public QObject
{
@@ -37,7 +39,7 @@
private:
- HbPhoneMainWindow* m_Window; // widget under test
+ PhoneMainWindow* m_Window; // widget under test
};
@@ -52,7 +54,7 @@
void U_PhoneMainWindow::initTestCase()
{
- m_Window = new HbPhoneMainWindow();
+ m_Window = new PhoneMainWindow();
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro
--- a/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneui2/tsrc/ut_phonemainwindow/ut_phonemainwindow.pro Fri Oct 15 12:58:46 2010 +0300
@@ -21,26 +21,21 @@
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
-INCLUDEPATH += ..\..\src
+INCLUDEPATH += ../../src
+INCLUDEPATH += ../../../../inc
# Input
-HEADERS += ..\..\inc\phoneuihousehold.h
-HEADERS += ..\..\inc\hbphonemainwindow.h
+HEADERS += ../../inc/phoneuihousehold.h
+HEADERS += ../../inc/phonemainwindow.h
SOURCES += phoneuihousehold_stub.cpp
SOURCES += hbmainwindow_stub.cpp
SOURCES += ut_phonemainwindow.cpp
-SOURCES += ..\..\src\hbphonemainwindow.cpp
-
-
-
-TARGET.CAPABILITY = ALL -TCB
+SOURCES += ../../src/phonemainwindow.cpp
-
-
-
-
-
-symbian:MMP_RULES += SMPSAFE
+symbian {
+ TARGET.CAPABILITY = ALL -TCB
+ MMP_RULES += SMPSAFE
+}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def
--- a/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/bwins/phoneuicontrolu.def Fri Oct 15 12:58:46 2010 +0300
@@ -22,130 +22,135 @@
?DialL@CPhoneStateIdle@@MAEXABVTDesC16@@W4TPhoneNumberType@1@W4TDialInitiationMethod@1@@Z @ 21 NONAME ; void CPhoneStateIdle::DialL(class TDesC16 const &, enum CPhoneStateIdle::TPhoneNumberType, enum CPhoneStateIdle::TDialInitiationMethod)
?HandlePhoneEngineMessageL@CPhoneStateIdle@@UAEXHH@Z @ 22 NONAME ; void CPhoneStateIdle::HandlePhoneEngineMessageL(int, int)
?HandleDialingL@CPhoneStateIdle@@MAEXH@Z @ 23 NONAME ; void CPhoneStateIdle::HandleDialingL(int)
- ?ClearNumberEntryContentCacheIfContentStored@CPhoneNumberEntryManager@@QAEXXZ @ 24 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCacheIfContentStored(void)
- ?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 25 NONAME ; void CPhoneStateMachine::ChangeState(int)
- ?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 26 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void)
- ?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 27 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int)
- ?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 28 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void)
- ?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 29 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 30 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
- ?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 31 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
- ?RemoveNumberEntryIfVisibilityIsFalseL@CPhoneNumberEntryManager@@QAEXXZ @ 32 NONAME ; void CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL(void)
- ?IsNumberEntryContentStored@CPhoneNumberEntryManager@@QAEHXZ @ 33 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryContentStored(void)
- ?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 34 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
- ?NumberEntryClearL@CPhoneNumberEntryManager@@QBEXXZ @ 35 NONAME ; void CPhoneNumberEntryManager::NumberEntryClearL(void) const
- ?DisconnectCallL@CPhoneState@@IAEHXZ @ 36 NONAME ; int CPhoneState::DisconnectCallL(void)
- ?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 37 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
- ?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 38 NONAME ; void CPhoneState::HandleDisconnectingL(int)
- ?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 39 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
- ?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 40 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
- ?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 41 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
- ?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 42 NONAME ; enum TPESimState CPhoneState::SimState(void) const
- ?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 43 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 44 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ?IsSimOk@CPhoneState@@QAEHXZ @ 45 NONAME ; int CPhoneState::IsSimOk(void)
- ?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 46 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
- ?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 47 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
- ?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 48 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
- ?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 49 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
- ??1CPhoneStateInCall@@UAE@XZ @ 50 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
- ?ConstructL@CPhoneStateInCall@@MAEXXZ @ 51 NONAME ; void CPhoneStateInCall::ConstructL(void)
- ?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 52 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
- ?IsVideoCallRingingL@CPhoneStateInCall@@MAEHXZ @ 53 NONAME ; int CPhoneStateInCall::IsVideoCallRingingL(void)
- ?ClearNumberEntryContentCache@CPhoneNumberEntryManager@@QAEXXZ @ 54 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCache(void)
- ?IsCustomizedDialerVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 55 NONAME ; int CPhoneNumberEntryManager::IsCustomizedDialerVisibleL(void) const
- ?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 56 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
- ?EikonEnv@CPhoneStateMachine@@QBEPAVCEikonEnv@@XZ @ 57 NONAME ; class CEikonEnv * CPhoneStateMachine::EikonEnv(void) const
- ?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 58 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
- ?DialMultimediaCallL@CPhoneState@@IAEXXZ @ 59 NONAME ; void CPhoneState::DialMultimediaCallL(void)
- ?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 60 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
- ?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 61 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
- ?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 62 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
- ??1CPhoneUIController@@UAE@XZ @ 63 NONAME ; CPhoneUIController::~CPhoneUIController(void)
- ?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 64 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
- ?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 65 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?RemoveDialogsAndSendPhoneToBackgroundL@CPhoneState@@IAEXXZ @ 66 NONAME ; void CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL(void)
- ?StoreNumberEntryContentL@CPhoneNumberEntryManager@@QAEXXZ @ 67 NONAME ; void CPhoneNumberEntryManager::StoreNumberEntryContentL(void)
- ?SendGlobalErrorNoteL@CPhoneState@@QAEXHH@Z @ 68 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int, int)
- ?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 69 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
- ?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 70 NONAME ; void CPhoneStateIncoming::ConstructL(void)
- ?UpdateCallHeaderAndUiCommandsL@CPhoneState@@IAEXH@Z @ 71 NONAME ; void CPhoneState::UpdateCallHeaderAndUiCommandsL(int)
- ?IsVideoCall@CPhoneState@@IAEHH@Z @ 72 NONAME ; int CPhoneState::IsVideoCall(int)
- ?IsAutoLockOn@CPhoneState@@UBEHXZ @ 73 NONAME ; int CPhoneState::IsAutoLockOn(void) const
- ?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 74 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?SendGlobalWarningNoteL@CPhoneState@@IAEXHH@Z @ 75 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int, int)
- ?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 76 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
- ?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 77 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
- ?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 78 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
- ?EndUiUpdate@CPhoneState@@IAEXXZ @ 79 NONAME ; void CPhoneState::EndUiUpdate(void)
- ?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 80 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
- ?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 81 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
- ?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 82 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
- ?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 83 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
- ?ProcessCommandL@CPhoneState@@UAEHH@Z @ 84 NONAME ; int CPhoneState::ProcessCommandL(int)
- ?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 85 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
- ??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 86 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 87 NONAME ; void CPhoneStateMachine::SetCallId(int)
- ?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 88 NONAME ; int CPhoneUIController::ProcessCommandL(int)
- ?DisplayCallHeaderL@CPhoneState@@QAEXHW4TNumberEntrySetRule@1@@Z @ 89 NONAME ; void CPhoneState::DisplayCallHeaderL(int, enum CPhoneState::TNumberEntrySetRule)
- ??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 90 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 91 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
- ?IsNumberEntryVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 92 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryVisibleL(void) const
- ??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 93 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 94 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 95 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
- ?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 96 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
- ?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 97 NONAME ; int CPhoneUIController::HandleCommandL(int)
- ?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 98 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
- ?SetNumberEntryVisibilityL@CPhoneNumberEntryManager@@QAEXH@Z @ 99 NONAME ; void CPhoneNumberEntryManager::SetNumberEntryVisibilityL(int)
- ?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 100 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
- ?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 101 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
- ??1CPhoneState@@UAE@XZ @ 102 NONAME ; CPhoneState::~CPhoneState(void)
- ?DialVoiceCallL@CPhoneState@@QAEXXZ @ 103 NONAME ; void CPhoneState::DialVoiceCallL(void)
- ?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 104 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
- ??1CPhoneStateMachine@@UAE@XZ @ 105 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
- ?SetVisibilityIfNumberEntryUsedL@CPhoneNumberEntryManager@@QAEHH@Z @ 106 NONAME ; int CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL(int)
- ?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 107 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
- ?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 108 NONAME ; void CPhoneUIController::HandleMessage(int, int)
- ?ConstructL@CPhoneStateStartup@@MAEXXZ @ 109 NONAME ; void CPhoneStateStartup::ConstructL(void)
- ?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 110 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
- ?ShowNoteL@CPhoneState@@IAEXH@Z @ 111 NONAME ; void CPhoneState::ShowNoteL(int)
- ?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 112 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
- ?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 113 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
- ?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 114 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
- ?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 115 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
- ?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 116 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
- ?PhoneNumberFromEntryLC@CPhoneNumberEntryManager@@QBEPAVHBufC16@@XZ @ 117 NONAME ; class HBufC16 * CPhoneNumberEntryManager::PhoneNumberFromEntryLC(void) const
- ??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 118 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
- ??1CPhoneStateIncoming@@UAE@XZ @ 119 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
- ?SendGlobalInfoNoteL@CPhoneState@@QAEXHH@Z @ 120 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int, int)
- ?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 121 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
- ?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 122 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
- ?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 123 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
- ?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 124 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 125 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
- ?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 126 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
- ?ConstructL@CPhoneStateIdle@@MAEXXZ @ 127 NONAME ; void CPhoneStateIdle::ConstructL(void)
- ?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 128 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
- ?SetEikonEnv@CPhoneState@@UAEXPAVCEikonEnv@@@Z @ 129 NONAME ; void CPhoneState::SetEikonEnv(class CEikonEnv *)
- ?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 130 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
- ?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 131 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
- ?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 132 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
- ?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 133 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
- ?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 134 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
- ?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 135 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
- ?GetRingingCallL@CPhoneStateInCall@@MAEHXZ @ 136 NONAME ; int CPhoneStateInCall::GetRingingCallL(void)
- ?EikonEnv@CPhoneState@@QBEPAVCEikonEnv@@XZ @ 137 NONAME ; class CEikonEnv * CPhoneState::EikonEnv(void) const
- ?UpdateCallHeader@CPhoneState@@IAEXH@Z @ 138 NONAME ; void CPhoneState::UpdateCallHeader(int)
- ?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 139 NONAME ; void CPhoneState::SetBackButtonActive(int)
- ?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 140 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
- ??1CPhoneStateIdle@@UAE@XZ @ 141 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
- ?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 142 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
- ?BaseConstructL@CPhoneState@@QAEXXZ @ 143 NONAME ; void CPhoneState::BaseConstructL(void)
- ?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 144 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
- ?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 145 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
- ??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 146 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
- ??1CPhoneStateStartup@@UAE@XZ @ 147 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
- ?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 148 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
- ?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 149 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
+ ?DialMultimediaCall@CPhoneState@@IAEXXZ @ 24 NONAME ; void CPhoneState::DialMultimediaCall(void)
+ ?ClearNumberEntryContentCacheIfContentStored@CPhoneNumberEntryManager@@QAEXXZ @ 25 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCacheIfContentStored(void)
+ ?ChangeState@CPhoneStateMachine@@UAEXH@Z @ 26 NONAME ; void CPhoneStateMachine::ChangeState(int)
+ ?IsSimStateNotPresentWithSecurityModeEnabled@CPhoneState@@IAEHXZ @ 27 NONAME ; int CPhoneState::IsSimStateNotPresentWithSecurityModeEnabled(void)
+ ?HandlePhoneEngineMessageL@CPhoneState@@UAEXHH@Z @ 28 NONAME ; void CPhoneState::HandlePhoneEngineMessageL(int, int)
+ ?HandleNumberEntryClearedL@CPhoneStateIncoming@@UAEXXZ @ 29 NONAME ; void CPhoneStateIncoming::HandleNumberEntryClearedL(void)
+ ?HandleKeyEventL@CPhoneUIController@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 30 NONAME ; enum TKeyResponse CPhoneUIController::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?HandleRemConCommandL@CPhoneStateIdle@@MAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 31 NONAME ; int CPhoneStateIdle::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+ ?HandleAudioPlayStoppedL@CPhoneStateIncoming@@MAEXXZ @ 32 NONAME ; void CPhoneStateIncoming::HandleAudioPlayStoppedL(void)
+ ?RemoveNumberEntryIfVisibilityIsFalseL@CPhoneNumberEntryManager@@QAEXXZ @ 33 NONAME ; void CPhoneNumberEntryManager::RemoveNumberEntryIfVisibilityIsFalseL(void)
+ ?IsNumberEntryContentStored@CPhoneNumberEntryManager@@QAEHXZ @ 34 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryContentStored(void)
+ ?ShowNumberBusyNoteL@CPhoneState@@IAEXXZ @ 35 NONAME ; void CPhoneState::ShowNumberBusyNoteL(void)
+ ?NumberEntryClearL@CPhoneNumberEntryManager@@QBEXXZ @ 36 NONAME ; void CPhoneNumberEntryManager::NumberEntryClearL(void) const
+ ?DisconnectCallL@CPhoneState@@IAEHXZ @ 37 NONAME ; int CPhoneState::DisconnectCallL(void)
+ ?HandleNumberEntryClearedL@CPhoneStateCallSetup@@MAEXXZ @ 38 NONAME ; void CPhoneStateCallSetup::HandleNumberEntryClearedL(void)
+ ?HandleDisconnectingL@CPhoneState@@IAEXH@Z @ 39 NONAME ; void CPhoneState::HandleDisconnectingL(int)
+ ?HandleAudioMuteChangedL@CPhoneState@@IAEXXZ @ 40 NONAME ; void CPhoneState::HandleAudioMuteChangedL(void)
+ ?HandleCommandL@CPhoneStateIncoming@@UAEHH@Z @ 41 NONAME ; int CPhoneStateIncoming::HandleCommandL(int)
+ ?UpdateSingleActiveCallL@CPhoneState@@IAEXH@Z @ 42 NONAME ; void CPhoneState::UpdateSingleActiveCallL(int)
+ ?SimState@CPhoneState@@IBE?AW4TPESimState@@XZ @ 43 NONAME ; enum TPESimState CPhoneState::SimState(void) const
+ ?HandleKeyEventL@CPhoneStateCallSetup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 44 NONAME ; void CPhoneStateCallSetup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?NewL@CPhoneStateStartup@@SAPAV1@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 45 NONAME ; class CPhoneStateStartup * CPhoneStateStartup::NewL(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ?CheckIfCallExists@PhoneCallUtil@@SAHIW4TPECallType@@@Z @ 46 NONAME ; int PhoneCallUtil::CheckIfCallExists(unsigned int, enum TPECallType)
+ ?IsSimOk@CPhoneState@@QAEHXZ @ 47 NONAME ; int CPhoneState::IsSimOk(void)
+ ?HandleCommandL@CPhoneStateIdle@@UAEHH@Z @ 48 NONAME ; int CPhoneStateIdle::HandleCommandL(int)
+ ?ViewCommandHandle@CPhoneStateHandle@@QAEPAVMPhoneViewCommandHandle@@XZ @ 49 NONAME ; class MPhoneViewCommandHandle * CPhoneStateHandle::ViewCommandHandle(void)
+ ?DialMultimediaCallL@CPhoneStateIdle@@IAEXXZ @ 50 NONAME ; void CPhoneStateIdle::DialMultimediaCallL(void)
+ ?DisconnectOutgoingCallL@CPhoneStateInCall@@IAEXXZ @ 51 NONAME ; void CPhoneStateInCall::DisconnectOutgoingCallL(void)
+ ??1CPhoneStateInCall@@UAE@XZ @ 52 NONAME ; CPhoneStateInCall::~CPhoneStateInCall(void)
+ ?DialMultimediaCall@PhoneCallUtil@@SAXXZ @ 53 NONAME ; void PhoneCallUtil::DialMultimediaCall(void)
+ ?IsAnyConnectedCalls@PhoneCallUtil@@SAHXZ @ 54 NONAME ; int PhoneCallUtil::IsAnyConnectedCalls(void)
+ ?ConstructL@CPhoneStateInCall@@MAEXXZ @ 55 NONAME ; void CPhoneStateInCall::ConstructL(void)
+ ?HandleError@CPhoneUIController@@UAEXABUTPEErrorInfo@@@Z @ 56 NONAME ; void CPhoneUIController::HandleError(struct TPEErrorInfo const &)
+ ?ClearNumberEntryContentCache@CPhoneNumberEntryManager@@QAEXXZ @ 57 NONAME ; void CPhoneNumberEntryManager::ClearNumberEntryContentCache(void)
+ ?IsCustomizedDialerVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 58 NONAME ; int CPhoneNumberEntryManager::IsCustomizedDialerVisibleL(void) const
+ ?HandleDtmfKeyToneL@CPhoneStateStartup@@EAEXABUTKeyEvent@@W4TEventCode@@@Z @ 59 NONAME ; void CPhoneStateStartup::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+ ?EikonEnv@CPhoneStateMachine@@QBEPAVCEikonEnv@@XZ @ 60 NONAME ; class CEikonEnv * CPhoneStateMachine::EikonEnv(void) const
+ ?ShowTextQueryL@CPhoneState@@IAEXHHHPAVTDes16@@H@Z @ 61 NONAME ; void CPhoneState::ShowTextQueryL(int, int, int, class TDes16 *, int)
+ ?NewL@CPhoneUIController@@SAPAV1@PAVMPhoneViewCommandHandle@@@Z @ 62 NONAME ; class CPhoneUIController * CPhoneUIController::NewL(class MPhoneViewCommandHandle *)
+ ?HandleCommandL@CPhoneStateCallSetup@@UAEHH@Z @ 63 NONAME ; int CPhoneStateCallSetup::HandleCommandL(int)
+ ?HandleErrorL@CPhoneState@@UAEXABUTPEErrorInfo@@@Z @ 64 NONAME ; void CPhoneState::HandleErrorL(struct TPEErrorInfo const &)
+ ??1CPhoneUIController@@UAE@XZ @ 65 NONAME ; CPhoneUIController::~CPhoneUIController(void)
+ ?HandleAudioOutputChangedL@CPhoneState@@IAEXXZ @ 66 NONAME ; void CPhoneState::HandleAudioOutputChangedL(void)
+ ?HandleKeyEventL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 67 NONAME ; void CPhoneState::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?RemoveDialogsAndSendPhoneToBackgroundL@CPhoneState@@IAEXXZ @ 68 NONAME ; void CPhoneState::RemoveDialogsAndSendPhoneToBackgroundL(void)
+ ?StoreNumberEntryContentL@CPhoneNumberEntryManager@@QAEXXZ @ 69 NONAME ; void CPhoneNumberEntryManager::StoreNumberEntryContentL(void)
+ ?SendGlobalErrorNoteL@CPhoneState@@QAEXHH@Z @ 70 NONAME ; void CPhoneState::SendGlobalErrorNoteL(int, int)
+ ?CreatePhoneEngineL@CPhoneStateMachine@@UAEPAVMPEPhoneModel@@AAVMEngineMonitor@@@Z @ 71 NONAME ; class MPEPhoneModel * CPhoneStateMachine::CreatePhoneEngineL(class MEngineMonitor &)
+ ?ConstructL@CPhoneStateIncoming@@MAEXXZ @ 72 NONAME ; void CPhoneStateIncoming::ConstructL(void)
+ ?UpdateCallHeaderAndUiCommandsL@CPhoneState@@IAEXH@Z @ 73 NONAME ; void CPhoneState::UpdateCallHeaderAndUiCommandsL(int)
+ ?IsVideoCall@CPhoneState@@IAEHH@Z @ 74 NONAME ; int CPhoneState::IsVideoCall(int)
+ ?IsAutoLockOn@CPhoneState@@UBEHXZ @ 75 NONAME ; int CPhoneState::IsAutoLockOn(void) const
+ ?HandleKeyEventL@CPhoneStateIdle@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 76 NONAME ; void CPhoneStateIdle::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?SendGlobalWarningNoteL@CPhoneState@@IAEXHH@Z @ 77 NONAME ; void CPhoneState::SendGlobalWarningNoteL(int, int)
+ ?DisconnectCallL@PhoneCallUtil@@SAHXZ @ 78 NONAME ; int PhoneCallUtil::DisconnectCallL(void)
+ ?HandlePhoneStartupL@CPhoneStateStartup@@UAEXXZ @ 79 NONAME ; void CPhoneStateStartup::HandlePhoneStartupL(void)
+ ?IsVideoCallActiveL@CPhoneStateInCall@@MAEHXZ @ 80 NONAME ; int CPhoneStateInCall::IsVideoCallActiveL(void)
+ ?StateMachine@CPhoneStateHandle@@QAEPAVMPhoneStateMachine@@XZ @ 81 NONAME ; class MPhoneStateMachine * CPhoneStateHandle::StateMachine(void)
+ ?EndUiUpdate@CPhoneState@@IAEXXZ @ 82 NONAME ; void CPhoneState::EndUiUpdate(void)
+ ?HandleKeyMessageL@CPhoneStateInCall@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 83 NONAME ; void CPhoneStateInCall::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+ ?SetRingingTonePlaybackL@CPhoneState@@IAEXH@Z @ 84 NONAME ; void CPhoneState::SetRingingTonePlaybackL(int)
+ ?BeginUiUpdateLC@CPhoneState@@IAEXXZ @ 85 NONAME ; void CPhoneState::BeginUiUpdateLC(void)
+ ?DecreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 86 NONAME ; void CPhoneState::DecreaseAudioVolumeL(void)
+ ?ProcessCommandL@CPhoneState@@UAEHH@Z @ 87 NONAME ; int CPhoneState::ProcessCommandL(int)
+ ?PhoneEngineInfo@CPhoneStateMachine@@UAEPAVMPEEngineInfo@@XZ @ 88 NONAME ; class MPEEngineInfo * CPhoneStateMachine::PhoneEngineInfo(void)
+ ?DialVoiceCallL@PhoneCallUtil@@SAXXZ @ 89 NONAME ; void PhoneCallUtil::DialVoiceCallL(void)
+ ??0CPhoneStateStartup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 90 NONAME ; CPhoneStateStartup::CPhoneStateStartup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ?SetCallId@CPhoneStateMachine@@UAEXH@Z @ 91 NONAME ; void CPhoneStateMachine::SetCallId(int)
+ ?ProcessCommandL@CPhoneUIController@@UAEHH@Z @ 92 NONAME ; int CPhoneUIController::ProcessCommandL(int)
+ ?DisplayCallHeaderL@CPhoneState@@QAEXHW4TNumberEntrySetRule@1@@Z @ 93 NONAME ; void CPhoneState::DisplayCallHeaderL(int, enum CPhoneState::TNumberEntrySetRule)
+ ??0CPhoneStateIdle@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 94 NONAME ; CPhoneStateIdle::CPhoneStateIdle(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ?SendPhoneEngineMessage@CPhoneStateMachine@@UAEXH@Z @ 95 NONAME ; void CPhoneStateMachine::SendPhoneEngineMessage(int)
+ ?IsNumberEntryVisibleL@CPhoneNumberEntryManager@@QBEHXZ @ 96 NONAME ; int CPhoneNumberEntryManager::IsNumberEntryVisibleL(void) const
+ ??0CPhoneStateCallSetup@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 97 NONAME ; CPhoneStateCallSetup::CPhoneStateCallSetup(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ??0CPhoneState@@QAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 98 NONAME ; CPhoneState::CPhoneState(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ?HandleDtmfKeyToneL@CPhoneState@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 99 NONAME ; void CPhoneState::HandleDtmfKeyToneL(struct TKeyEvent const &, enum TEventCode)
+ ?HandleKeyMessageL@CPhoneStateIdle@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 100 NONAME ; void CPhoneStateIdle::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+ ?HandleCommandL@CPhoneUIController@@UAEHH@Z @ 101 NONAME ; int CPhoneUIController::HandleCommandL(int)
+ ?HandleSendCommandL@CPhoneStateIdle@@MAEXXZ @ 102 NONAME ; void CPhoneStateIdle::HandleSendCommandL(void)
+ ?SetNumberEntryVisibilityL@CPhoneNumberEntryManager@@QAEXH@Z @ 103 NONAME ; void CPhoneNumberEntryManager::SetNumberEntryVisibilityL(int)
+ ?HandlePhoneEngineMessageL@CPhoneStateInCall@@UAEXHH@Z @ 104 NONAME ; void CPhoneStateInCall::HandlePhoneEngineMessageL(int, int)
+ ?PhoneStorage@CPhoneStateMachine@@UAEPAVMPhoneStorage@@XZ @ 105 NONAME ; class MPhoneStorage * CPhoneStateMachine::PhoneStorage(void)
+ ??1CPhoneState@@UAE@XZ @ 106 NONAME ; CPhoneState::~CPhoneState(void)
+ ?DialVoiceCallL@CPhoneState@@QAEXXZ @ 107 NONAME ; void CPhoneState::DialVoiceCallL(void)
+ ?HandlePhoneEngineMessageL@CPhoneStateCallSetup@@UAEXHH@Z @ 108 NONAME ; void CPhoneStateCallSetup::HandlePhoneEngineMessageL(int, int)
+ ?IsVideoCall@PhoneCallUtil@@SAHH@Z @ 109 NONAME ; int PhoneCallUtil::IsVideoCall(int)
+ ??1CPhoneStateMachine@@UAE@XZ @ 110 NONAME ; CPhoneStateMachine::~CPhoneStateMachine(void)
+ ?SetVisibilityIfNumberEntryUsedL@CPhoneNumberEntryManager@@QAEHH@Z @ 111 NONAME ; int CPhoneNumberEntryManager::SetVisibilityIfNumberEntryUsedL(int)
+ ?ConstructL@CPhoneStateCallSetup@@MAEXXZ @ 112 NONAME ; void CPhoneStateCallSetup::ConstructL(void)
+ ?HandleMessage@CPhoneUIController@@UAEXHH@Z @ 113 NONAME ; void CPhoneUIController::HandleMessage(int, int)
+ ?ConstructL@CPhoneStateStartup@@MAEXXZ @ 114 NONAME ; void CPhoneStateStartup::ConstructL(void)
+ ?HandleKeyMessageL@CPhoneStateStartup@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 115 NONAME ; void CPhoneStateStartup::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+ ?ShowNoteL@CPhoneState@@IAEXH@Z @ 116 NONAME ; void CPhoneState::ShowNoteL(int)
+ ?HandlePropertyChangedL@CPhoneState@@UAEXABVTUid@@IH@Z @ 117 NONAME ; void CPhoneState::HandlePropertyChangedL(class TUid const &, unsigned int, int)
+ ?State@CPhoneStateMachine@@UAEPAVMPhoneState@@XZ @ 118 NONAME ; class MPhoneState * CPhoneStateMachine::State(void)
+ ?SetHandsfreeModeL@CPhoneState@@IAEXH@Z @ 119 NONAME ; void CPhoneState::SetHandsfreeModeL(int)
+ ?IsCustomizedDialerVisibleL@CPhoneState@@QBEHXZ @ 120 NONAME ; int CPhoneState::IsCustomizedDialerVisibleL(void) const
+ ?HandleNumberEntryClearedL@CPhoneStateInCall@@MAEXXZ @ 121 NONAME ; void CPhoneStateInCall::HandleNumberEntryClearedL(void)
+ ?PhoneNumberFromEntryLC@CPhoneNumberEntryManager@@QBEPAVHBufC16@@XZ @ 122 NONAME ; class HBufC16 * CPhoneNumberEntryManager::PhoneNumberFromEntryLC(void) const
+ ??0CPhoneStateIncoming@@IAE@PAVMPhoneStateMachine@@PAVMPhoneViewCommandHandle@@PAVMPhoneCustomization@@@Z @ 123 NONAME ; CPhoneStateIncoming::CPhoneStateIncoming(class MPhoneStateMachine *, class MPhoneViewCommandHandle *, class MPhoneCustomization *)
+ ??1CPhoneStateIncoming@@UAE@XZ @ 124 NONAME ; CPhoneStateIncoming::~CPhoneStateIncoming(void)
+ ?SendGlobalInfoNoteL@CPhoneState@@QAEXHH@Z @ 125 NONAME ; void CPhoneState::SendGlobalInfoNoteL(int, int)
+ ?DeleteTouchPaneButtons@CPhoneState@@IAEXXZ @ 126 NONAME ; void CPhoneState::DeleteTouchPaneButtons(void)
+ ?ProcessCommandL@CPhoneStateIdle@@UAEHH@Z @ 127 NONAME ; int CPhoneStateIdle::ProcessCommandL(int)
+ ?HandlePhoneEngineMessageL@CPhoneStateStartup@@UAEXHH@Z @ 128 NONAME ; void CPhoneStateStartup::HandlePhoneEngineMessageL(int, int)
+ ?HandleKeyEventL@CPhoneStateIncoming@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 129 NONAME ; void CPhoneStateIncoming::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?HandleKeyEventL@CPhoneStateStartup@@UAEXABUTKeyEvent@@W4TEventCode@@@Z @ 130 NONAME ; void CPhoneStateStartup::HandleKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?IncreaseAudioVolumeL@CPhoneState@@IAEXXZ @ 131 NONAME ; void CPhoneState::IncreaseAudioVolumeL(void)
+ ?ConstructL@CPhoneStateIdle@@MAEXXZ @ 132 NONAME ; void CPhoneStateIdle::ConstructL(void)
+ ?SetEikonEnv@CPhoneState@@UAEXPAVCEikonEnv@@@Z @ 133 NONAME ; void CPhoneState::SetEikonEnv(class CEikonEnv *)
+ ?CheckIfShowCallTerminationNote@CPhoneState@@MAEHXZ @ 134 NONAME ; int CPhoneState::CheckIfShowCallTerminationNote(void)
+ ?StartShowSecurityNoteL@CPhoneState@@IAEXXZ @ 135 NONAME ; void CPhoneState::StartShowSecurityNoteL(void)
+ ?SetBTHandsfreeModeL@CPhoneState@@IAEXH@Z @ 136 NONAME ; void CPhoneState::SetBTHandsfreeModeL(int)
+ ?HandlePhoneEngineMessageL@CPhoneStateIncoming@@UAEXHH@Z @ 137 NONAME ; void CPhoneStateIncoming::HandlePhoneEngineMessageL(int, int)
+ ?SetDefaultFlagsL@CPhoneState@@IAEXXZ @ 138 NONAME ; void CPhoneState::SetDefaultFlagsL(void)
+ ?HandleCommandL@CPhoneStateInCall@@UAEHH@Z @ 139 NONAME ; int CPhoneStateInCall::HandleCommandL(int)
+ ?DialVoiceCallL@CPhoneStateIdle@@IAEXXZ @ 140 NONAME ; void CPhoneStateIdle::DialVoiceCallL(void)
+ ?EikonEnv@CPhoneState@@QBEPAVCEikonEnv@@XZ @ 141 NONAME ; class CEikonEnv * CPhoneState::EikonEnv(void) const
+ ?UpdateCallHeader@CPhoneState@@IAEXH@Z @ 142 NONAME ; void CPhoneState::UpdateCallHeader(int)
+ ?SetBackButtonActive@CPhoneState@@IAEXH@Z @ 143 NONAME ; void CPhoneState::SetBackButtonActive(int)
+ ?DisplayIncomingCallL@CPhoneStateIdle@@IAEXH@Z @ 144 NONAME ; void CPhoneStateIdle::DisplayIncomingCallL(int)
+ ??1CPhoneStateIdle@@UAE@XZ @ 145 NONAME ; CPhoneStateIdle::~CPhoneStateIdle(void)
+ ?HandleRemConCommandL@CPhoneState@@UAEHW4TRemConCoreApiOperationId@@W4TRemConCoreApiButtonAction@@@Z @ 146 NONAME ; int CPhoneState::HandleRemConCommandL(enum TRemConCoreApiOperationId, enum TRemConCoreApiButtonAction)
+ ?BaseConstructL@CPhoneState@@QAEXXZ @ 147 NONAME ; void CPhoneState::BaseConstructL(void)
+ ?HandlePhoneStartupL@CPhoneUIController@@UAEXXZ @ 148 NONAME ; void CPhoneUIController::HandlePhoneStartupL(void)
+ ?SetPhoneEngine@CPhoneStateMachine@@UAEXPAVMPEPhoneModel@@@Z @ 149 NONAME ; void CPhoneStateMachine::SetPhoneEngine(class MPEPhoneModel *)
+ ??0CPhoneStateMachine@@IAE@PAVMPhoneViewCommandHandle@@@Z @ 150 NONAME ; CPhoneStateMachine::CPhoneStateMachine(class MPhoneViewCommandHandle *)
+ ?CallIdByState@PhoneCallUtil@@SAHI@Z @ 151 NONAME ; int PhoneCallUtil::CallIdByState(unsigned int)
+ ??1CPhoneStateStartup@@UAE@XZ @ 152 NONAME ; CPhoneStateStartup::~CPhoneStateStartup(void)
+ ?HandleKeyMessageL@CPhoneState@@UAEXW4TPhoneKeyEventMessages@MPhoneKeyEvents@@W4TKeyCode@@@Z @ 153 NONAME ; void CPhoneState::HandleKeyMessageL(enum MPhoneKeyEvents::TPhoneKeyEventMessages, enum TKeyCode)
+ ?OpenSoftRejectMessageEditorL@CPhoneState@@MAEXXZ @ 154 NONAME ; void CPhoneState::OpenSoftRejectMessageEditorL(void)
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def
--- a/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/eabi/phoneuicontrolu.def Fri Oct 15 12:58:46 2010 +0300
@@ -17,9 +17,9 @@
_ZN11CPhoneState16UpdateUiCommandsEv @ 16 NONAME
_ZN11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 17 NONAME
_ZN11CPhoneState17SetHandsfreeModeLEi @ 18 NONAME
- _ZN11CPhoneState18DisplayCallHeaderLEiNS_19TNumberEntrySetRuleE @ 19 NONAME
- _ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 20 NONAME
- _ZN11CPhoneState19DialMultimediaCallLEv @ 21 NONAME
+ _ZN11CPhoneState18DialMultimediaCallEv @ 19 NONAME
+ _ZN11CPhoneState18DisplayCallHeaderLEiNS_19TNumberEntrySetRuleE @ 20 NONAME
+ _ZN11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 21 NONAME
_ZN11CPhoneState19HandlePhoneStartupLEv @ 22 NONAME
_ZN11CPhoneState19SendGlobalInfoNoteLEii @ 23 NONAME
_ZN11CPhoneState19SetBTHandsfreeModeLEi @ 24 NONAME
@@ -54,269 +54,274 @@
_ZN11CPhoneStateD0Ev @ 53 NONAME
_ZN11CPhoneStateD1Ev @ 54 NONAME
_ZN11CPhoneStateD2Ev @ 55 NONAME
- _ZN15CPhoneStateIdle10ConstructLEv @ 56 NONAME
- _ZN15CPhoneStateIdle14DialVoiceCallLEv @ 57 NONAME
- _ZN15CPhoneStateIdle14HandleCommandLEi @ 58 NONAME
- _ZN15CPhoneStateIdle14HandleDialingLEi @ 59 NONAME
- _ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 60 NONAME
- _ZN15CPhoneStateIdle15ProcessCommandLEi @ 61 NONAME
- _ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 62 NONAME
- _ZN15CPhoneStateIdle18HandleSendCommandLEv @ 63 NONAME
- _ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 64 NONAME
- _ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 65 NONAME
- _ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 66 NONAME
- _ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 67 NONAME
- _ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 68 NONAME
- _ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 69 NONAME
- _ZN15CPhoneStateIdle5DialLERK7TDesC16NS_16TPhoneNumberTypeENS_21TDialInitiationMethodE @ 70 NONAME
- _ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 71 NONAME
- _ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 72 NONAME
- _ZN15CPhoneStateIdleD0Ev @ 73 NONAME
- _ZN15CPhoneStateIdleD1Ev @ 74 NONAME
- _ZN15CPhoneStateIdleD2Ev @ 75 NONAME
- _ZN17CPhoneStateHandle12StateMachineEv @ 76 NONAME
- _ZN17CPhoneStateHandle17ViewCommandHandleEv @ 77 NONAME
- _ZN17CPhoneStateHandle8InstanceEv @ 78 NONAME
- _ZN17CPhoneStateInCall10ConstructLEv @ 79 NONAME
- _ZN17CPhoneStateInCall11HandleIdleLEi @ 80 NONAME
- _ZN17CPhoneStateInCall14HandleCommandLEi @ 81 NONAME
- _ZN17CPhoneStateInCall15GetRingingCallLEv @ 82 NONAME
- _ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 83 NONAME
- _ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 84 NONAME
- _ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 85 NONAME
- _ZN17CPhoneStateInCall19IsVideoCallRingingLEv @ 86 NONAME
- _ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 87 NONAME
- _ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 88 NONAME
- _ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 89 NONAME
- _ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 90 NONAME
- _ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 91 NONAME
- _ZN17CPhoneStateInCallD0Ev @ 92 NONAME
- _ZN17CPhoneStateInCallD1Ev @ 93 NONAME
- _ZN17CPhoneStateInCallD2Ev @ 94 NONAME
- _ZN18CPhoneStateMachine11ChangeStateEi @ 95 NONAME
- _ZN18CPhoneStateMachine11PhoneEngineEv @ 96 NONAME
- _ZN18CPhoneStateMachine12PhoneStorageEv @ 97 NONAME
- _ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 98 NONAME
- _ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 99 NONAME
- _ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 100 NONAME
- _ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 101 NONAME
- _ZN18CPhoneStateMachine5StateEv @ 102 NONAME
- _ZN18CPhoneStateMachine9SetCallIdEi @ 103 NONAME
- _ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 104 NONAME
- _ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 105 NONAME
- _ZN18CPhoneStateMachineD0Ev @ 106 NONAME
- _ZN18CPhoneStateMachineD1Ev @ 107 NONAME
- _ZN18CPhoneStateMachineD2Ev @ 108 NONAME
- _ZN18CPhoneStateStartup10ConstructLEv @ 109 NONAME
- _ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 110 NONAME
- _ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 111 NONAME
- _ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 112 NONAME
- _ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 113 NONAME
- _ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 114 NONAME
- _ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 115 NONAME
- _ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 116 NONAME
- _ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 117 NONAME
- _ZN18CPhoneStateStartupD0Ev @ 118 NONAME
- _ZN18CPhoneStateStartupD1Ev @ 119 NONAME
- _ZN18CPhoneStateStartupD2Ev @ 120 NONAME
- _ZN18CPhoneUIController10EngineInfoEv @ 121 NONAME
- _ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 122 NONAME
- _ZN18CPhoneUIController13HandleMessageEii @ 123 NONAME
- _ZN18CPhoneUIController14HandleCommandLEi @ 124 NONAME
- _ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 125 NONAME
- _ZN18CPhoneUIController15ProcessCommandLEi @ 126 NONAME
- _ZN18CPhoneUIController19HandlePhoneStartupLEv @ 127 NONAME
- _ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 128 NONAME
- _ZN18CPhoneUIControllerD0Ev @ 129 NONAME
- _ZN18CPhoneUIControllerD1Ev @ 130 NONAME
- _ZN18CPhoneUIControllerD2Ev @ 131 NONAME
- _ZN19CPhoneStateIncoming10ConstructLEv @ 132 NONAME
- _ZN19CPhoneStateIncoming14HandleCommandLEi @ 133 NONAME
- _ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 134 NONAME
- _ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 135 NONAME
- _ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 136 NONAME
- _ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 137 NONAME
- _ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 138 NONAME
- _ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 139 NONAME
- _ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 140 NONAME
- _ZN19CPhoneStateIncomingD0Ev @ 141 NONAME
- _ZN19CPhoneStateIncomingD1Ev @ 142 NONAME
- _ZN19CPhoneStateIncomingD2Ev @ 143 NONAME
- _ZN20CPhoneStateCallSetup10ConstructLEv @ 144 NONAME
- _ZN20CPhoneStateCallSetup14HandleCommandLEi @ 145 NONAME
- _ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 146 NONAME
- _ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 147 NONAME
- _ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 148 NONAME
- _ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 149 NONAME
- _ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 150 NONAME
- _ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 151 NONAME
- _ZN20CPhoneStateCallSetupD0Ev @ 152 NONAME
- _ZN20CPhoneStateCallSetupD1Ev @ 153 NONAME
- _ZN20CPhoneStateCallSetupD2Ev @ 154 NONAME
- _ZN24CPhoneNumberEntryManager20CallFromNumberEntryLEv @ 155 NONAME
- _ZN24CPhoneNumberEntryManager24StoreNumberEntryContentLEv @ 156 NONAME
- _ZN24CPhoneNumberEntryManager25SetNumberEntryVisibilityLEi @ 157 NONAME
- _ZN24CPhoneNumberEntryManager26IsNumberEntryContentStoredEv @ 158 NONAME
- _ZN24CPhoneNumberEntryManager28ClearNumberEntryContentCacheEv @ 159 NONAME
- _ZN24CPhoneNumberEntryManager31SetVisibilityIfNumberEntryUsedLEi @ 160 NONAME
- _ZN24CPhoneNumberEntryManager37RemoveNumberEntryIfVisibilityIsFalseLEv @ 161 NONAME
- _ZN24CPhoneNumberEntryManager43ClearNumberEntryContentCacheIfContentStoredEv @ 162 NONAME
- _ZNK11CPhoneState12IsAutoLockOnEv @ 163 NONAME
- _ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 164 NONAME
- _ZNK11CPhoneState8EikonEnvEv @ 165 NONAME
- _ZNK11CPhoneState8SimStateEv @ 166 NONAME
- _ZNK18CPhoneStateMachine8EikonEnvEv @ 167 NONAME
- _ZNK24CPhoneNumberEntryManager17NumberEntryClearLEv @ 168 NONAME
- _ZNK24CPhoneNumberEntryManager18IsNumberEntryUsedLEv @ 169 NONAME
- _ZNK24CPhoneNumberEntryManager21IsNumberEntryVisibleLEv @ 170 NONAME
- _ZNK24CPhoneNumberEntryManager22PhoneNumberFromEntryLCEv @ 171 NONAME
- _ZNK24CPhoneNumberEntryManager26IsCustomizedDialerVisibleLEv @ 172 NONAME
- _ZTI11CPhoneState @ 173 NONAME
- _ZTI15CPhoneStateIdle @ 174 NONAME
- _ZTI17CPhoneStateHandle @ 175 NONAME
- _ZTI17CPhoneStateInCall @ 176 NONAME
- _ZTI18CPhoneStateMachine @ 177 NONAME
- _ZTI18CPhoneStateStartup @ 178 NONAME
- _ZTI18CPhoneUIController @ 179 NONAME
- _ZTI19CPhoneStateIncoming @ 180 NONAME
- _ZTI20CPhoneStateCallSetup @ 181 NONAME
- _ZTI23CPhoneDtmfWaitCharTimer @ 182 NONAME
- _ZTI24CPhoneSystemEventHandler @ 183 NONAME
- _ZTI26CPhoneRemoteControlHandler @ 184 NONAME
- _ZTI27CPhoneBtaaDisconnectHandler @ 185 NONAME
- _ZTV11CPhoneState @ 186 NONAME
- _ZTV15CPhoneStateIdle @ 187 NONAME
- _ZTV17CPhoneStateHandle @ 188 NONAME
- _ZTV17CPhoneStateInCall @ 189 NONAME
- _ZTV18CPhoneStateMachine @ 190 NONAME
- _ZTV18CPhoneStateStartup @ 191 NONAME
- _ZTV18CPhoneUIController @ 192 NONAME
- _ZTV19CPhoneStateIncoming @ 193 NONAME
- _ZTV20CPhoneStateCallSetup @ 194 NONAME
- _ZTV23CPhoneDtmfWaitCharTimer @ 195 NONAME
- _ZTV24CPhoneSystemEventHandler @ 196 NONAME
- _ZTV26CPhoneRemoteControlHandler @ 197 NONAME
- _ZTV27CPhoneBtaaDisconnectHandler @ 198 NONAME
- _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 199 NONAME
- _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 200 NONAME
- _ZThn12_N11CPhoneStateD0Ev @ 201 NONAME
- _ZThn12_N11CPhoneStateD1Ev @ 202 NONAME
- _ZThn12_N15CPhoneStateIdleD0Ev @ 203 NONAME
- _ZThn12_N15CPhoneStateIdleD1Ev @ 204 NONAME
- _ZThn12_N17CPhoneStateInCallD0Ev @ 205 NONAME
- _ZThn12_N17CPhoneStateInCallD1Ev @ 206 NONAME
- _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 207 NONAME
- _ZThn12_N18CPhoneStateStartupD0Ev @ 208 NONAME
- _ZThn12_N18CPhoneStateStartupD1Ev @ 209 NONAME
- _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 210 NONAME
- _ZThn12_N18CPhoneUIControllerD0Ev @ 211 NONAME
- _ZThn12_N18CPhoneUIControllerD1Ev @ 212 NONAME
- _ZThn12_N19CPhoneStateIncomingD0Ev @ 213 NONAME
- _ZThn12_N19CPhoneStateIncomingD1Ev @ 214 NONAME
- _ZThn12_N20CPhoneStateCallSetupD0Ev @ 215 NONAME
- _ZThn12_N20CPhoneStateCallSetupD1Ev @ 216 NONAME
- _ZThn16_N11CPhoneState14HandleCommandLEi @ 217 NONAME
- _ZThn16_N11CPhoneState15ProcessCommandLEi @ 218 NONAME
- _ZThn16_N11CPhoneStateD0Ev @ 219 NONAME
- _ZThn16_N11CPhoneStateD1Ev @ 220 NONAME
- _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 221 NONAME
- _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 222 NONAME
- _ZThn16_N15CPhoneStateIdleD0Ev @ 223 NONAME
- _ZThn16_N15CPhoneStateIdleD1Ev @ 224 NONAME
- _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 225 NONAME
- _ZThn16_N17CPhoneStateInCallD0Ev @ 226 NONAME
- _ZThn16_N17CPhoneStateInCallD1Ev @ 227 NONAME
- _ZThn16_N18CPhoneStateStartupD0Ev @ 228 NONAME
- _ZThn16_N18CPhoneStateStartupD1Ev @ 229 NONAME
- _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 230 NONAME
- _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 231 NONAME
- _ZThn16_N18CPhoneUIControllerD0Ev @ 232 NONAME
- _ZThn16_N18CPhoneUIControllerD1Ev @ 233 NONAME
- _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 234 NONAME
- _ZThn16_N19CPhoneStateIncomingD0Ev @ 235 NONAME
- _ZThn16_N19CPhoneStateIncomingD1Ev @ 236 NONAME
- _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 237 NONAME
- _ZThn16_N20CPhoneStateCallSetupD0Ev @ 238 NONAME
- _ZThn16_N20CPhoneStateCallSetupD1Ev @ 239 NONAME
- _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 240 NONAME
- _ZThn20_N11CPhoneStateD0Ev @ 241 NONAME
- _ZThn20_N11CPhoneStateD1Ev @ 242 NONAME
- _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 243 NONAME
- _ZThn20_N15CPhoneStateIdleD0Ev @ 244 NONAME
- _ZThn20_N15CPhoneStateIdleD1Ev @ 245 NONAME
- _ZThn20_N17CPhoneStateInCallD0Ev @ 246 NONAME
- _ZThn20_N17CPhoneStateInCallD1Ev @ 247 NONAME
- _ZThn20_N18CPhoneStateStartupD0Ev @ 248 NONAME
- _ZThn20_N18CPhoneStateStartupD1Ev @ 249 NONAME
- _ZThn20_N19CPhoneStateIncomingD0Ev @ 250 NONAME
- _ZThn20_N19CPhoneStateIncomingD1Ev @ 251 NONAME
- _ZThn20_N20CPhoneStateCallSetupD0Ev @ 252 NONAME
- _ZThn20_N20CPhoneStateCallSetupD1Ev @ 253 NONAME
- _ZThn24_N11CPhoneState25HandleNumberEntryClearedLEv @ 254 NONAME
- _ZThn24_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 255 NONAME
- _ZThn24_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 256 NONAME
- _ZThn24_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 257 NONAME
- _ZThn24_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 258 NONAME
- _ZThn28_NK11CPhoneState12IsAutoLockOnEv @ 259 NONAME
- _ZThn32_N11CPhoneState11SetEikonEnvEP9CEikonEnv @ 260 NONAME
- _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 261 NONAME
- _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 262 NONAME
- _ZThn4_N11CPhoneStateD0Ev @ 263 NONAME
- _ZThn4_N11CPhoneStateD1Ev @ 264 NONAME
- _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 265 NONAME
- _ZThn4_N15CPhoneStateIdleD0Ev @ 266 NONAME
- _ZThn4_N15CPhoneStateIdleD1Ev @ 267 NONAME
- _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 268 NONAME
- _ZThn4_N17CPhoneStateInCallD0Ev @ 269 NONAME
- _ZThn4_N17CPhoneStateInCallD1Ev @ 270 NONAME
- _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 271 NONAME
- _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 272 NONAME
- _ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 273 NONAME
- _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 274 NONAME
- _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 275 NONAME
- _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 276 NONAME
- _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 277 NONAME
- _ZThn4_N18CPhoneStateMachine5StateEv @ 278 NONAME
- _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 279 NONAME
- _ZThn4_N18CPhoneStateMachineD0Ev @ 280 NONAME
- _ZThn4_N18CPhoneStateMachineD1Ev @ 281 NONAME
- _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 282 NONAME
- _ZThn4_N18CPhoneStateStartupD0Ev @ 283 NONAME
- _ZThn4_N18CPhoneStateStartupD1Ev @ 284 NONAME
- _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 285 NONAME
- _ZThn4_N18CPhoneUIController13HandleMessageEii @ 286 NONAME
- _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 287 NONAME
- _ZThn4_N19CPhoneStateIncomingD0Ev @ 288 NONAME
- _ZThn4_N19CPhoneStateIncomingD1Ev @ 289 NONAME
- _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 290 NONAME
- _ZThn4_N20CPhoneStateCallSetupD0Ev @ 291 NONAME
- _ZThn4_N20CPhoneStateCallSetupD1Ev @ 292 NONAME
- _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 293 NONAME
- _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 294 NONAME
- _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 295 NONAME
- _ZThn8_N11CPhoneStateD0Ev @ 296 NONAME
- _ZThn8_N11CPhoneStateD1Ev @ 297 NONAME
- _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 298 NONAME
- _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 299 NONAME
- _ZThn8_N15CPhoneStateIdleD0Ev @ 300 NONAME
- _ZThn8_N15CPhoneStateIdleD1Ev @ 301 NONAME
- _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 302 NONAME
- _ZThn8_N17CPhoneStateInCallD0Ev @ 303 NONAME
- _ZThn8_N17CPhoneStateInCallD1Ev @ 304 NONAME
- _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 305 NONAME
- _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 306 NONAME
- _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 307 NONAME
- _ZThn8_N18CPhoneStateStartupD0Ev @ 308 NONAME
- _ZThn8_N18CPhoneStateStartupD1Ev @ 309 NONAME
- _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 310 NONAME
- _ZThn8_N18CPhoneUIControllerD0Ev @ 311 NONAME
- _ZThn8_N18CPhoneUIControllerD1Ev @ 312 NONAME
- _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 313 NONAME
- _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 314 NONAME
- _ZThn8_N19CPhoneStateIncomingD0Ev @ 315 NONAME
- _ZThn8_N19CPhoneStateIncomingD1Ev @ 316 NONAME
- _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 317 NONAME
- _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 318 NONAME
- _ZThn8_N20CPhoneStateCallSetupD0Ev @ 319 NONAME
- _ZThn8_N20CPhoneStateCallSetupD1Ev @ 320 NONAME
+ _ZN13PhoneCallUtil11IsVideoCallEi @ 56 NONAME
+ _ZN13PhoneCallUtil13CallIdByStateEj @ 57 NONAME
+ _ZN13PhoneCallUtil14DialVoiceCallLEv @ 58 NONAME
+ _ZN13PhoneCallUtil15DisconnectCallLEv @ 59 NONAME
+ _ZN13PhoneCallUtil17CheckIfCallExistsEj11TPECallType @ 60 NONAME
+ _ZN13PhoneCallUtil18DialMultimediaCallEv @ 61 NONAME
+ _ZN13PhoneCallUtil19IsAnyConnectedCallsEv @ 62 NONAME
+ _ZN15CPhoneStateIdle10ConstructLEv @ 63 NONAME
+ _ZN15CPhoneStateIdle14DialVoiceCallLEv @ 64 NONAME
+ _ZN15CPhoneStateIdle14HandleCommandLEi @ 65 NONAME
+ _ZN15CPhoneStateIdle14HandleDialingLEi @ 66 NONAME
+ _ZN15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 67 NONAME
+ _ZN15CPhoneStateIdle15ProcessCommandLEi @ 68 NONAME
+ _ZN15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 69 NONAME
+ _ZN15CPhoneStateIdle18HandleSendCommandLEv @ 70 NONAME
+ _ZN15CPhoneStateIdle19DialMultimediaCallLEv @ 71 NONAME
+ _ZN15CPhoneStateIdle20DisplayIncomingCallLEi @ 72 NONAME
+ _ZN15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 73 NONAME
+ _ZN15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 74 NONAME
+ _ZN15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 75 NONAME
+ _ZN15CPhoneStateIdle26HandlePhoneFocusLostEventLEv @ 76 NONAME
+ _ZN15CPhoneStateIdle5DialLERK7TDesC16NS_16TPhoneNumberTypeENS_21TDialInitiationMethodE @ 77 NONAME
+ _ZN15CPhoneStateIdleC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 78 NONAME
+ _ZN15CPhoneStateIdleC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 79 NONAME
+ _ZN15CPhoneStateIdleD0Ev @ 80 NONAME
+ _ZN15CPhoneStateIdleD1Ev @ 81 NONAME
+ _ZN15CPhoneStateIdleD2Ev @ 82 NONAME
+ _ZN17CPhoneStateHandle12StateMachineEv @ 83 NONAME
+ _ZN17CPhoneStateHandle17ViewCommandHandleEv @ 84 NONAME
+ _ZN17CPhoneStateHandle8InstanceEv @ 85 NONAME
+ _ZN17CPhoneStateInCall10ConstructLEv @ 86 NONAME
+ _ZN17CPhoneStateInCall11HandleIdleLEi @ 87 NONAME
+ _ZN17CPhoneStateInCall14HandleCommandLEi @ 88 NONAME
+ _ZN17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 89 NONAME
+ _ZN17CPhoneStateInCall18CallFetchedNumberLERK7TDesC16 @ 90 NONAME
+ _ZN17CPhoneStateInCall18IsVideoCallActiveLEv @ 91 NONAME
+ _ZN17CPhoneStateInCall23DisconnectOutgoingCallLEv @ 92 NONAME
+ _ZN17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 93 NONAME
+ _ZN17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 94 NONAME
+ _ZN17CPhoneStateInCallC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 95 NONAME
+ _ZN17CPhoneStateInCallC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 96 NONAME
+ _ZN17CPhoneStateInCallD0Ev @ 97 NONAME
+ _ZN17CPhoneStateInCallD1Ev @ 98 NONAME
+ _ZN17CPhoneStateInCallD2Ev @ 99 NONAME
+ _ZN18CPhoneStateMachine11ChangeStateEi @ 100 NONAME
+ _ZN18CPhoneStateMachine11PhoneEngineEv @ 101 NONAME
+ _ZN18CPhoneStateMachine12PhoneStorageEv @ 102 NONAME
+ _ZN18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 103 NONAME
+ _ZN18CPhoneStateMachine15PhoneEngineInfoEv @ 104 NONAME
+ _ZN18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 105 NONAME
+ _ZN18CPhoneStateMachine22SendPhoneEngineMessageEi @ 106 NONAME
+ _ZN18CPhoneStateMachine5StateEv @ 107 NONAME
+ _ZN18CPhoneStateMachine9SetCallIdEi @ 108 NONAME
+ _ZN18CPhoneStateMachineC1EP23MPhoneViewCommandHandle @ 109 NONAME
+ _ZN18CPhoneStateMachineC2EP23MPhoneViewCommandHandle @ 110 NONAME
+ _ZN18CPhoneStateMachineD0Ev @ 111 NONAME
+ _ZN18CPhoneStateMachineD1Ev @ 112 NONAME
+ _ZN18CPhoneStateMachineD2Ev @ 113 NONAME
+ _ZN18CPhoneStateStartup10ConstructLEv @ 114 NONAME
+ _ZN18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 115 NONAME
+ _ZN18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 116 NONAME
+ _ZN18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 117 NONAME
+ _ZN18CPhoneStateStartup19HandlePhoneStartupLEv @ 118 NONAME
+ _ZN18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 119 NONAME
+ _ZN18CPhoneStateStartup4NewLEP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 120 NONAME
+ _ZN18CPhoneStateStartupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 121 NONAME
+ _ZN18CPhoneStateStartupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 122 NONAME
+ _ZN18CPhoneStateStartupD0Ev @ 123 NONAME
+ _ZN18CPhoneStateStartupD1Ev @ 124 NONAME
+ _ZN18CPhoneStateStartupD2Ev @ 125 NONAME
+ _ZN18CPhoneUIController10EngineInfoEv @ 126 NONAME
+ _ZN18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 127 NONAME
+ _ZN18CPhoneUIController13HandleMessageEii @ 128 NONAME
+ _ZN18CPhoneUIController14HandleCommandLEi @ 129 NONAME
+ _ZN18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 130 NONAME
+ _ZN18CPhoneUIController15ProcessCommandLEi @ 131 NONAME
+ _ZN18CPhoneUIController19HandlePhoneStartupLEv @ 132 NONAME
+ _ZN18CPhoneUIController4NewLEP23MPhoneViewCommandHandle @ 133 NONAME
+ _ZN18CPhoneUIControllerD0Ev @ 134 NONAME
+ _ZN18CPhoneUIControllerD1Ev @ 135 NONAME
+ _ZN18CPhoneUIControllerD2Ev @ 136 NONAME
+ _ZN19CPhoneStateIncoming10ConstructLEv @ 137 NONAME
+ _ZN19CPhoneStateIncoming14HandleCommandLEi @ 138 NONAME
+ _ZN19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 139 NONAME
+ _ZN19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 140 NONAME
+ _ZN19CPhoneStateIncoming23HandleAudioPlayStoppedLEv @ 141 NONAME
+ _ZN19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 142 NONAME
+ _ZN19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 143 NONAME
+ _ZN19CPhoneStateIncomingC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 144 NONAME
+ _ZN19CPhoneStateIncomingC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 145 NONAME
+ _ZN19CPhoneStateIncomingD0Ev @ 146 NONAME
+ _ZN19CPhoneStateIncomingD1Ev @ 147 NONAME
+ _ZN19CPhoneStateIncomingD2Ev @ 148 NONAME
+ _ZN20CPhoneStateCallSetup10ConstructLEv @ 149 NONAME
+ _ZN20CPhoneStateCallSetup14HandleCommandLEi @ 150 NONAME
+ _ZN20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 151 NONAME
+ _ZN20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 152 NONAME
+ _ZN20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 153 NONAME
+ _ZN20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 154 NONAME
+ _ZN20CPhoneStateCallSetupC1EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 155 NONAME
+ _ZN20CPhoneStateCallSetupC2EP18MPhoneStateMachineP23MPhoneViewCommandHandleP19MPhoneCustomization @ 156 NONAME
+ _ZN20CPhoneStateCallSetupD0Ev @ 157 NONAME
+ _ZN20CPhoneStateCallSetupD1Ev @ 158 NONAME
+ _ZN20CPhoneStateCallSetupD2Ev @ 159 NONAME
+ _ZN24CPhoneNumberEntryManager20CallFromNumberEntryLEv @ 160 NONAME
+ _ZN24CPhoneNumberEntryManager24StoreNumberEntryContentLEv @ 161 NONAME
+ _ZN24CPhoneNumberEntryManager25SetNumberEntryVisibilityLEi @ 162 NONAME
+ _ZN24CPhoneNumberEntryManager26IsNumberEntryContentStoredEv @ 163 NONAME
+ _ZN24CPhoneNumberEntryManager28ClearNumberEntryContentCacheEv @ 164 NONAME
+ _ZN24CPhoneNumberEntryManager31SetVisibilityIfNumberEntryUsedLEi @ 165 NONAME
+ _ZN24CPhoneNumberEntryManager37RemoveNumberEntryIfVisibilityIsFalseLEv @ 166 NONAME
+ _ZN24CPhoneNumberEntryManager43ClearNumberEntryContentCacheIfContentStoredEv @ 167 NONAME
+ _ZNK11CPhoneState12IsAutoLockOnEv @ 168 NONAME
+ _ZNK11CPhoneState26IsCustomizedDialerVisibleLEv @ 169 NONAME
+ _ZNK11CPhoneState8EikonEnvEv @ 170 NONAME
+ _ZNK11CPhoneState8SimStateEv @ 171 NONAME
+ _ZNK18CPhoneStateMachine8EikonEnvEv @ 172 NONAME
+ _ZNK24CPhoneNumberEntryManager17NumberEntryClearLEv @ 173 NONAME
+ _ZNK24CPhoneNumberEntryManager18IsNumberEntryUsedLEv @ 174 NONAME
+ _ZNK24CPhoneNumberEntryManager21IsNumberEntryVisibleLEv @ 175 NONAME
+ _ZNK24CPhoneNumberEntryManager22PhoneNumberFromEntryLCEv @ 176 NONAME
+ _ZNK24CPhoneNumberEntryManager26IsCustomizedDialerVisibleLEv @ 177 NONAME
+ _ZTI11CPhoneState @ 178 NONAME
+ _ZTI15CPhoneStateIdle @ 179 NONAME
+ _ZTI17CPhoneStateHandle @ 180 NONAME
+ _ZTI17CPhoneStateInCall @ 181 NONAME
+ _ZTI18CPhoneStateMachine @ 182 NONAME
+ _ZTI18CPhoneStateStartup @ 183 NONAME
+ _ZTI18CPhoneUIController @ 184 NONAME
+ _ZTI19CPhoneStateIncoming @ 185 NONAME
+ _ZTI20CPhoneStateCallSetup @ 186 NONAME
+ _ZTI23CPhoneDtmfWaitCharTimer @ 187 NONAME
+ _ZTI24CPhoneSystemEventHandler @ 188 NONAME
+ _ZTI26CPhoneRemoteControlHandler @ 189 NONAME
+ _ZTI27CPhoneBtaaDisconnectHandler @ 190 NONAME
+ _ZTV11CPhoneState @ 191 NONAME
+ _ZTV15CPhoneStateIdle @ 192 NONAME
+ _ZTV17CPhoneStateHandle @ 193 NONAME
+ _ZTV17CPhoneStateInCall @ 194 NONAME
+ _ZTV18CPhoneStateMachine @ 195 NONAME
+ _ZTV18CPhoneStateStartup @ 196 NONAME
+ _ZTV18CPhoneUIController @ 197 NONAME
+ _ZTV19CPhoneStateIncoming @ 198 NONAME
+ _ZTV20CPhoneStateCallSetup @ 199 NONAME
+ _ZTV23CPhoneDtmfWaitCharTimer @ 200 NONAME
+ _ZTV24CPhoneSystemEventHandler @ 201 NONAME
+ _ZTV26CPhoneRemoteControlHandler @ 202 NONAME
+ _ZTV27CPhoneBtaaDisconnectHandler @ 203 NONAME
+ _ZThn12_N11CPhoneState19HandlePhoneStartupLEv @ 204 NONAME
+ _ZThn12_N11CPhoneState22HandlePropertyChangedLERK4TUidji @ 205 NONAME
+ _ZThn12_N11CPhoneStateD0Ev @ 206 NONAME
+ _ZThn12_N11CPhoneStateD1Ev @ 207 NONAME
+ _ZThn12_N15CPhoneStateIdleD0Ev @ 208 NONAME
+ _ZThn12_N15CPhoneStateIdleD1Ev @ 209 NONAME
+ _ZThn12_N17CPhoneStateInCallD0Ev @ 210 NONAME
+ _ZThn12_N17CPhoneStateInCallD1Ev @ 211 NONAME
+ _ZThn12_N18CPhoneStateStartup19HandlePhoneStartupLEv @ 212 NONAME
+ _ZThn12_N18CPhoneStateStartupD0Ev @ 213 NONAME
+ _ZThn12_N18CPhoneStateStartupD1Ev @ 214 NONAME
+ _ZThn12_N18CPhoneUIController19HandlePhoneStartupLEv @ 215 NONAME
+ _ZThn12_N18CPhoneUIControllerD0Ev @ 216 NONAME
+ _ZThn12_N18CPhoneUIControllerD1Ev @ 217 NONAME
+ _ZThn12_N19CPhoneStateIncomingD0Ev @ 218 NONAME
+ _ZThn12_N19CPhoneStateIncomingD1Ev @ 219 NONAME
+ _ZThn12_N20CPhoneStateCallSetupD0Ev @ 220 NONAME
+ _ZThn12_N20CPhoneStateCallSetupD1Ev @ 221 NONAME
+ _ZThn16_N11CPhoneState14HandleCommandLEi @ 222 NONAME
+ _ZThn16_N11CPhoneState15ProcessCommandLEi @ 223 NONAME
+ _ZThn16_N11CPhoneStateD0Ev @ 224 NONAME
+ _ZThn16_N11CPhoneStateD1Ev @ 225 NONAME
+ _ZThn16_N15CPhoneStateIdle14HandleCommandLEi @ 226 NONAME
+ _ZThn16_N15CPhoneStateIdle15ProcessCommandLEi @ 227 NONAME
+ _ZThn16_N15CPhoneStateIdleD0Ev @ 228 NONAME
+ _ZThn16_N15CPhoneStateIdleD1Ev @ 229 NONAME
+ _ZThn16_N17CPhoneStateInCall14HandleCommandLEi @ 230 NONAME
+ _ZThn16_N17CPhoneStateInCallD0Ev @ 231 NONAME
+ _ZThn16_N17CPhoneStateInCallD1Ev @ 232 NONAME
+ _ZThn16_N18CPhoneStateStartupD0Ev @ 233 NONAME
+ _ZThn16_N18CPhoneStateStartupD1Ev @ 234 NONAME
+ _ZThn16_N18CPhoneUIController14HandleCommandLEi @ 235 NONAME
+ _ZThn16_N18CPhoneUIController15ProcessCommandLEi @ 236 NONAME
+ _ZThn16_N18CPhoneUIControllerD0Ev @ 237 NONAME
+ _ZThn16_N18CPhoneUIControllerD1Ev @ 238 NONAME
+ _ZThn16_N19CPhoneStateIncoming14HandleCommandLEi @ 239 NONAME
+ _ZThn16_N19CPhoneStateIncomingD0Ev @ 240 NONAME
+ _ZThn16_N19CPhoneStateIncomingD1Ev @ 241 NONAME
+ _ZThn16_N20CPhoneStateCallSetup14HandleCommandLEi @ 242 NONAME
+ _ZThn16_N20CPhoneStateCallSetupD0Ev @ 243 NONAME
+ _ZThn16_N20CPhoneStateCallSetupD1Ev @ 244 NONAME
+ _ZThn20_N11CPhoneState20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 245 NONAME
+ _ZThn20_N11CPhoneStateD0Ev @ 246 NONAME
+ _ZThn20_N11CPhoneStateD1Ev @ 247 NONAME
+ _ZThn20_N15CPhoneStateIdle20HandleRemConCommandLE25TRemConCoreApiOperationId26TRemConCoreApiButtonAction @ 248 NONAME
+ _ZThn20_N15CPhoneStateIdleD0Ev @ 249 NONAME
+ _ZThn20_N15CPhoneStateIdleD1Ev @ 250 NONAME
+ _ZThn20_N17CPhoneStateInCallD0Ev @ 251 NONAME
+ _ZThn20_N17CPhoneStateInCallD1Ev @ 252 NONAME
+ _ZThn20_N18CPhoneStateStartupD0Ev @ 253 NONAME
+ _ZThn20_N18CPhoneStateStartupD1Ev @ 254 NONAME
+ _ZThn20_N19CPhoneStateIncomingD0Ev @ 255 NONAME
+ _ZThn20_N19CPhoneStateIncomingD1Ev @ 256 NONAME
+ _ZThn20_N20CPhoneStateCallSetupD0Ev @ 257 NONAME
+ _ZThn20_N20CPhoneStateCallSetupD1Ev @ 258 NONAME
+ _ZThn24_N11CPhoneState25HandleNumberEntryClearedLEv @ 259 NONAME
+ _ZThn24_N15CPhoneStateIdle25HandleNumberEntryClearedLEv @ 260 NONAME
+ _ZThn24_N17CPhoneStateInCall25HandleNumberEntryClearedLEv @ 261 NONAME
+ _ZThn24_N19CPhoneStateIncoming25HandleNumberEntryClearedLEv @ 262 NONAME
+ _ZThn24_N20CPhoneStateCallSetup25HandleNumberEntryClearedLEv @ 263 NONAME
+ _ZThn28_NK11CPhoneState12IsAutoLockOnEv @ 264 NONAME
+ _ZThn32_N11CPhoneState11SetEikonEnvEP9CEikonEnv @ 265 NONAME
+ _ZThn4_N11CPhoneState12HandleErrorLERK12TPEErrorInfo @ 266 NONAME
+ _ZThn4_N11CPhoneState25HandlePhoneEngineMessageLEii @ 267 NONAME
+ _ZThn4_N11CPhoneStateD0Ev @ 268 NONAME
+ _ZThn4_N11CPhoneStateD1Ev @ 269 NONAME
+ _ZThn4_N15CPhoneStateIdle25HandlePhoneEngineMessageLEii @ 270 NONAME
+ _ZThn4_N15CPhoneStateIdleD0Ev @ 271 NONAME
+ _ZThn4_N15CPhoneStateIdleD1Ev @ 272 NONAME
+ _ZThn4_N17CPhoneStateInCall25HandlePhoneEngineMessageLEii @ 273 NONAME
+ _ZThn4_N17CPhoneStateInCallD0Ev @ 274 NONAME
+ _ZThn4_N17CPhoneStateInCallD1Ev @ 275 NONAME
+ _ZThn4_N18CPhoneStateMachine11ChangeStateEi @ 276 NONAME
+ _ZThn4_N18CPhoneStateMachine11PhoneEngineEv @ 277 NONAME
+ _ZThn4_N18CPhoneStateMachine12PhoneStorageEv @ 278 NONAME
+ _ZThn4_N18CPhoneStateMachine14SetPhoneEngineEP13MPEPhoneModel @ 279 NONAME
+ _ZThn4_N18CPhoneStateMachine15PhoneEngineInfoEv @ 280 NONAME
+ _ZThn4_N18CPhoneStateMachine18CreatePhoneEngineLER14MEngineMonitor @ 281 NONAME
+ _ZThn4_N18CPhoneStateMachine22SendPhoneEngineMessageEi @ 282 NONAME
+ _ZThn4_N18CPhoneStateMachine5StateEv @ 283 NONAME
+ _ZThn4_N18CPhoneStateMachine9SetCallIdEi @ 284 NONAME
+ _ZThn4_N18CPhoneStateMachineD0Ev @ 285 NONAME
+ _ZThn4_N18CPhoneStateMachineD1Ev @ 286 NONAME
+ _ZThn4_N18CPhoneStateStartup25HandlePhoneEngineMessageLEii @ 287 NONAME
+ _ZThn4_N18CPhoneStateStartupD0Ev @ 288 NONAME
+ _ZThn4_N18CPhoneStateStartupD1Ev @ 289 NONAME
+ _ZThn4_N18CPhoneUIController11HandleErrorERK12TPEErrorInfo @ 290 NONAME
+ _ZThn4_N18CPhoneUIController13HandleMessageEii @ 291 NONAME
+ _ZThn4_N19CPhoneStateIncoming25HandlePhoneEngineMessageLEii @ 292 NONAME
+ _ZThn4_N19CPhoneStateIncomingD0Ev @ 293 NONAME
+ _ZThn4_N19CPhoneStateIncomingD1Ev @ 294 NONAME
+ _ZThn4_N20CPhoneStateCallSetup25HandlePhoneEngineMessageLEii @ 295 NONAME
+ _ZThn4_N20CPhoneStateCallSetupD0Ev @ 296 NONAME
+ _ZThn4_N20CPhoneStateCallSetupD1Ev @ 297 NONAME
+ _ZThn8_N11CPhoneState15HandleKeyEventLERK9TKeyEvent10TEventCode @ 298 NONAME
+ _ZThn8_N11CPhoneState17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 299 NONAME
+ _ZThn8_N11CPhoneState18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 300 NONAME
+ _ZThn8_N11CPhoneStateD0Ev @ 301 NONAME
+ _ZThn8_N11CPhoneStateD1Ev @ 302 NONAME
+ _ZThn8_N15CPhoneStateIdle15HandleKeyEventLERK9TKeyEvent10TEventCode @ 303 NONAME
+ _ZThn8_N15CPhoneStateIdle17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 304 NONAME
+ _ZThn8_N15CPhoneStateIdleD0Ev @ 305 NONAME
+ _ZThn8_N15CPhoneStateIdleD1Ev @ 306 NONAME
+ _ZThn8_N17CPhoneStateInCall17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 307 NONAME
+ _ZThn8_N17CPhoneStateInCallD0Ev @ 308 NONAME
+ _ZThn8_N17CPhoneStateInCallD1Ev @ 309 NONAME
+ _ZThn8_N18CPhoneStateStartup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 310 NONAME
+ _ZThn8_N18CPhoneStateStartup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 311 NONAME
+ _ZThn8_N18CPhoneStateStartup18HandleDtmfKeyToneLERK9TKeyEvent10TEventCode @ 312 NONAME
+ _ZThn8_N18CPhoneStateStartupD0Ev @ 313 NONAME
+ _ZThn8_N18CPhoneStateStartupD1Ev @ 314 NONAME
+ _ZThn8_N18CPhoneUIController15HandleKeyEventLERK9TKeyEvent10TEventCode @ 315 NONAME
+ _ZThn8_N18CPhoneUIControllerD0Ev @ 316 NONAME
+ _ZThn8_N18CPhoneUIControllerD1Ev @ 317 NONAME
+ _ZThn8_N19CPhoneStateIncoming15HandleKeyEventLERK9TKeyEvent10TEventCode @ 318 NONAME
+ _ZThn8_N19CPhoneStateIncoming17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 319 NONAME
+ _ZThn8_N19CPhoneStateIncomingD0Ev @ 320 NONAME
+ _ZThn8_N19CPhoneStateIncomingD1Ev @ 321 NONAME
+ _ZThn8_N20CPhoneStateCallSetup15HandleKeyEventLERK9TKeyEvent10TEventCode @ 322 NONAME
+ _ZThn8_N20CPhoneStateCallSetup17HandleKeyMessageLEN15MPhoneKeyEvents22TPhoneKeyEventMessagesE8TKeyCode @ 323 NONAME
+ _ZThn8_N20CPhoneStateCallSetupD0Ev @ 324 NONAME
+ _ZThn8_N20CPhoneStateCallSetupD1Ev @ 325 NONAME
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/group/phoneuicontrol.mmp
--- a/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/group/phoneuicontrol.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -50,6 +50,7 @@
SOURCE cphoneuicommandmanager.cpp
SOURCE phonenoteutil.cpp
SOURCE phoneaudioutil.cpp
+SOURCE phonecallutil.cpp
/* Languages */
LANG SC
@@ -98,5 +99,6 @@
LIBRARY phonemediatorcenter.lib
+LIBRARY apparc.lib
SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/inc/cphonestate.h
--- a/phoneapp/phoneuicontrol/inc/cphonestate.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestate.h Fri Oct 15 12:58:46 2010 +0300
@@ -249,7 +249,7 @@
/**
* Dial CS multimedia call
*/
- IMPORT_C void DialMultimediaCallL();
+ IMPORT_C void DialMultimediaCall();
/**
* Disconnect call
@@ -438,27 +438,12 @@
protected:
/**
- * Checks if call is waiting, returns ETrue if call is waiting
- * otherwise EFalse.
- * @param aCallId, call id.
- */
- TBool IsWaitingCallL( const TInt aCallId );
-
- /**
* Checks status of KFeatureIdSideVolumeKeys and KTelephonyLVFlagScrollVolumeKeys
* keys. If KTelephonyLVFlagScrollVolumeKeys is false and KFeatureIdSideVolumeKeys is true
* then side volume keys are only supported and method returns true, otherwise false.
*/
TBool OnlySideVolumeKeySupported();
- /**
- * Checks if device has connected call ongoing.
- * List of connected call states: EPEStateConnected
- * EPEStateConnectedConference
- * EPEStateConnecting
- */
- TBool IsAnyConnectedCalls();
-
private:
/**
@@ -574,15 +559,15 @@
// Number entry manager
CPhoneNumberEntryManager* iNumberEntryManager;
+ // Internal variable for EikonEnv to avoid
+ // use of static system calls
+ CEikonEnv* iEnv; // Not owned
private:
// Previously handled SIM card state.
TPESimState iPreviousSimState;
- // Internal variable for EikonEnv to avoid
- // use of static system calls
- CEikonEnv* iEnv; // Not owned
};
#endif // CPHONESTATE_H
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/inc/cphonestateidle.h
--- a/phoneapp/phoneuicontrol/inc/cphonestateidle.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateidle.h Fri Oct 15 12:58:46 2010 +0300
@@ -217,6 +217,16 @@
* value to false.
*/
void ChangeTo( TInt aState );
+
+ /**
+ * Launch Qt process.
+ */
+ void LaunchQtProcessL(TUid aUid);
+
+ /**
+ * Close Qt process.
+ */
+ void CloseQtProcess(TUid aUid);
private:
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/inc/cphonestateincall.h
--- a/phoneapp/phoneuicontrol/inc/cphonestateincall.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincall.h Fri Oct 15 12:58:46 2010 +0300
@@ -102,18 +102,6 @@
* @return ETrue if active otherwise EFalse
*/
IMPORT_C virtual TBool IsVideoCallActiveL();
-
- /**
- * Method for quering is video call ringing.
- * @return ETrue if ringing otherwise EFalse
- */
- IMPORT_C virtual TBool IsVideoCallRingingL();
-
- /**
- * Method for quering ringing call .
- * @return call id otherwise KErrNotFound
- */
- IMPORT_C virtual TBool GetRingingCallL();
/**
* Search and release outgoingcall
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/inc/cphonestateincoming.h
--- a/phoneapp/phoneuicontrol/inc/cphonestateincoming.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/inc/cphonestateincoming.h Fri Oct 15 12:58:46 2010 +0300
@@ -130,18 +130,6 @@
void DisconnectWaitingCallL();
/**
- * Gets resource to use when number entry is open
- * @return resource id
- */
- TInt GetNumberEntryVisibleMenuBar();
-
- /**
- * Gets resource to use when number entry is closed
- * @return resource id
- */
- TInt GetNumberEntryNotVisibleMenuBar();
-
- /**
* Show disconnected note
*/
void ShowDisconnectingL( TInt aCallId );
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/inc/phonecallutil.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/inc/phonecallutil.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2010 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: Call util class.
+*
+*/
+
+
+#ifndef PHONECALLUTIL_H
+#define PHONECALLUTIL_H
+
+// INCLUDES
+#include
+#include "mphoneviewcommandhandle.h"
+#include "mphonestatemachine.h"
+
+// CLASS DECLARATION
+
+/**
+* Call util class.
+*
+*/
+class PhoneCallUtil
+ {
+ public:
+
+ /**
+ * Dials multimedia call.
+ */
+ IMPORT_C static void DialMultimediaCall();
+
+ /**
+ * Dials voice call.
+ */
+ IMPORT_C static void DialVoiceCallL();
+
+ /**
+ * Disconnects call.
+ */
+ IMPORT_C static TBool DisconnectCallL();
+
+ /**
+ * Checks is call a video call.
+ */
+ IMPORT_C static TBool IsVideoCall( const TInt aCallId );
+
+ /**
+ * Returns call id by state (KErrNotFound if call
+ * not exists).
+ */
+ IMPORT_C static TInt CallIdByState( const TPEState aCallState );
+
+ /**
+ * Checks if call exists by state and type (returns
+ * EFalse if call not exists).
+ */
+ IMPORT_C static TBool CheckIfCallExists(
+ const TPEState aCallState, const TPECallType aCallType );
+
+ /**
+ * Checks is there any connected calls.
+ * List of connected call states: EPEStateConnected
+ * EPEStateConnectedConference
+ * EPEStateConnecting
+ */
+ IMPORT_C static TBool IsAnyConnectedCalls();
+
+ private:
+
+ /**
+ * Returns view command handler.
+ */
+ inline static MPhoneViewCommandHandle* ViewCommandHandle();
+
+ /**
+ * Returns phone state handler.
+ */
+ inline static MPhoneStateMachine* StateMachine();
+ };
+
+#endif // PHONECALLUTIL_H
+
+// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp
--- a/phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonebtaadisconnecthandler.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -34,6 +34,7 @@
#include "tphonecmdparamcallstatedata.h"
#include "telinternalsingletonuids.h"
#include "cphonestatehandle.h"
+#include "phonecallutil.h"
// CONSTANTS
@@ -159,12 +160,8 @@
if ( FeatureManager::FeatureSupported( KFeatureIdCsVideoTelephony ) )
{
- // Fetch active call's id from view
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnected );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- TInt call = callStateData.CallId();
+ // Fetch active call's id
+ TInt call = PhoneCallUtil::CallIdByState( EPEStateConnected );
if ( call != KErrNotFound &&
iStateMachine->PhoneEngineInfo()->CallType( call ) == EPECallTypeVideo )
{
@@ -251,15 +248,11 @@
if( iVideoCallStatus )
{
- // Fetch active call's id from view
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnected );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
-
- if ( callStateData.CallId() != KErrNotFound )
+ // Fetch active call's id
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateConnected );
+ if ( callId != KErrNotFound )
{
- iStateMachine->SetCallId( callStateData.CallId() );
+ iStateMachine->SetCallId( callId );
iStateMachine->SendPhoneEngineMessage(
MPEPhoneModel::EPEMessageRelease );
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonestate.cpp
--- a/phoneapp/phoneuicontrol/src/cphonestate.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestate.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -67,7 +67,6 @@
#include "tphonecmdparamglobalnote.h"
#include "tphonecmdparamquery.h"
#include "tphonecmdparamstring.h"
-#include "tphonecmdparamcallstatedata.h"
#include "tphonecmdparambitmap.h"
#include "tphonecmdparamappinfo.h"
#include "tphonecmdparamtranseffect.h"
@@ -100,6 +99,8 @@
#include "cphoneclearblacklist.h"
#include "phonenoteutil.h"
#include "phoneaudioutil.h"
+#include "phonecallutil.h"
+
// ================= MEMBER FUNCTIONS =======================
@@ -835,13 +836,12 @@
// CPhoneState::DialMultimediaCallL
// -----------------------------------------------------------
//
-EXPORT_C void CPhoneState::DialMultimediaCallL()
+EXPORT_C void CPhoneState::DialMultimediaCall()
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DialMultimediaCall() ");
__ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(),
Panic( EPhoneCtrlInvariant ) );
- iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeVideo );
- iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
+ PhoneCallUtil::DialMultimediaCall();
}
// -----------------------------------------------------------
@@ -852,12 +852,7 @@
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DialVoiceCallL() ");
__ASSERT_DEBUG( iStateMachine->PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
- TPhoneCmdParamBoolean globalNotifierParam;
- globalNotifierParam.SetBoolean( ETrue );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
- &globalNotifierParam );
- iStateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice );
- iStateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
+ PhoneCallUtil::DialVoiceCallL();
}
// -----------------------------------------------------------
@@ -867,39 +862,7 @@
EXPORT_C TBool CPhoneState::DisconnectCallL()
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::DisconnectCallL( ) ");
- TPhoneCmdParamInteger callIdParam;
- iViewCommandHandle->ExecuteCommand(
- EPhoneViewGetExpandedBubbleCallId, &callIdParam );
- TBool ret = EFalse;
- if( callIdParam.Integer() > KErrNotFound )
- {
- iStateMachine->SetCallId( callIdParam.Integer() );
- if( IsVideoCall( callIdParam.Integer() ) )
- {
- // Video call can be released only after we get response to VT Shutdown Command
- CPhoneMediatorFactory::Instance()->Sender()->IssueCommand(
- KMediatorVideoTelephonyDomain,
- KCatPhoneToVideotelCommands,
- EVtCmdReleaseDataport,
- TVersion( KPhoneToVideotelCmdVersionMajor,
- KPhoneToVideotelCmdVersionMinor,
- KPhoneToVideotelCmdVersionBuild ),
- KNullDesC8,
- CPhoneReleaseCommand::NewL( *iStateMachine ) );
- }
- else
- {
- iStateMachine->SendPhoneEngineMessage(
- MPEPhoneModel::EPEMessageRelease );
- }
- ret = ETrue;
- }
- else
- {
- __PHONELOG( EOnlyFatal, EPhoneControl,
- "CPhoneState::DisconnectCallL has negative call id!" );
- }
- return ret;
+ return PhoneCallUtil::DisconnectCallL();
}
// -----------------------------------------------------------
@@ -948,30 +911,6 @@
}
// -----------------------------------------------------------
-// CPhoneState::IsWaitingCallL
-// -----------------------------------------------------------
-//
-TBool CPhoneState::IsWaitingCallL( const TInt aCallId )
- {
- __LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsWaitingCallL( ) ");
- TBool waiting( EFalse );
- if ( aCallId >= 0 &&
- iStateMachine->PhoneEngineInfo()->CallState( aCallId ) == EPEStateRinging )
- {
- TPhoneCmdParamInteger activeCallCount;
- iViewCommandHandle->ExecuteCommandL(
- EPhoneViewGetCountOfActiveCalls, &activeCallCount );
-
- if( activeCallCount.Integer() > 0 )
- {
- waiting = ETrue;
- }
- }
-
- return waiting;
- }
-
-// -----------------------------------------------------------
// CPhoneState::UpdateCallHeader
// -----------------------------------------------------------
//
@@ -1204,12 +1143,7 @@
EXPORT_C TBool CPhoneState::IsVideoCall( const TInt aCallId )
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneState::IsVideoCall( ) ");
- if ( aCallId < 0 )
- {
- return EFalse;
- }
-
- return EPECallTypeVideo == iStateMachine->PhoneEngineInfo()->CallType( aCallId );
+ return PhoneCallUtil::IsVideoCall( aCallId );
}
// ---------------------------------------------------------
@@ -1724,24 +1658,6 @@
EikonEnv() );
}
-// -----------------------------------------------------------
-// CPhoneState::IsAnyConnectedCalls
-// -----------------------------------------------------------
-//
-TBool CPhoneState::IsAnyConnectedCalls()
- {
- __LOGMETHODSTARTEND( EPhoneControl, "CPhoneState::IsAnyConnectedCalls() ");
- TBool connectedCall(EFalse);
- if ( iStateMachine->PhoneEngineInfo()->CheckIfCallStateExists( EPEStateConnected ) ||
- iStateMachine->PhoneEngineInfo()->CheckIfCallStateExists( EPEStateConnecting ) ||
- iStateMachine->PhoneEngineInfo()->CheckIfCallStateExists( EPEStateConnectedConference ) )
- {
- connectedCall = ETrue;
- }
- __PHONELOG1( EBasic, EPhoneControl, "CPhoneState::IsAnyConnectedCalls: (%d)", connectedCall );
- return connectedCall;
- }
-
// ---------------------------------------------------------
// CPhoneState::SetToolbarButtonLoudspeakerEnabled
// ---------------------------------------------------------
@@ -1780,22 +1696,13 @@
__LOGMETHODSTARTEND(EPhoneControl,
"CPhoneState::OpenSoftRejectMessageEditorL ()" );
iUiCommandManager->SetSoftRejectStatus( EFalse );
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- TInt ringingCallId( KErrNotFound );
- // Do nothing if negative incoming call id
- if( callStateData.CallId() > KErrNotFound )
+ TInt ringingCallId( PhoneCallUtil::CallIdByState( EPEStateRinging ) );
+
+ TPhoneCmdParamSfiData sfiDataParam;
+ if( ringingCallId > KErrNotFound )
{
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery );
- ringingCallId = callStateData.CallId();
- }
-
- TPhoneCmdParamSfiData sfiDataParam;
- if (KErrNotFound != ringingCallId)
- {
if ( iStateMachine->PhoneEngineInfo()->
RemoteName( ringingCallId ).Length() )
{
@@ -1827,7 +1734,7 @@
TNumberEntrySetRule aRule )
{
__LOGMETHODSTARTEND(EPhoneControl,
- "CPhoneState::BringIncomingCallHeaderToForegroundL( ) ");
+ "CPhoneState::DisplayCallHeaderL( ) ");
BeginUiUpdateLC();
switch ( aRule )
{
@@ -1843,8 +1750,8 @@
break;
}
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemovePhoneDialogs );
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateCallHeader, aCallId );
iViewCommandHandle->ExecuteCommandL( EPhoneViewBringPhoneAppToForeground );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewCreateCallHeader, aCallId );
UpdateUiCommands();
EndUiUpdate();
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp
--- a/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestatecallsetup.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -28,7 +28,6 @@
#include "mphonestatemachine.h"
#include "tphonecmdparamboolean.h"
#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallstatedata.h"
#include "tphonecmdparamcallheaderdata.h"
#include "tphonecmdparamglobalnote.h"
#include "tphonecmdparamstring.h"
@@ -477,13 +476,14 @@
iViewCommandHandle->ExecuteCommand(
EPhoneViewGetNumberFromEntry,
&stringParam );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
iViewCommandHandle->ExecuteCommandL( EPhoneViewLaunchLogs, &stringParam );
}
else
{
RemoveDialogsAndSendPhoneToBackgroundL();
}
+
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
EndUiUpdate();
CleanupStack::PopAndDestroy( phoneNumber );
iStateMachine->ChangeState( EPhoneStateIdle );
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonestateidle.cpp
--- a/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateidle.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
#include "cphonepubsubproxy.h"
#include "cphonecenrepproxy.h"
@@ -45,7 +46,6 @@
#include "tphonecmdparamappinfo.h"
#include "cphonekeys.h"
-#include "tphonecmdparamcallstatedata.h"
#include "phoneviewcommanddefinitions.h"
#include "phoneui.hrh"
#include "phonerssbase.h"
@@ -54,6 +54,7 @@
#include "phoneui.pan"
#include "mphonecustomization.h"
+const TUid KNetworkHandlingStarterUid = { 0x2002E67A };
// ================= MEMBER FUNCTIONS =======================
@@ -71,6 +72,9 @@
// Destructor
EXPORT_C CPhoneStateIdle::~CPhoneStateIdle()
{
+ __LOGMETHODSTARTEND(
+ EPhoneControl, "CPhoneStateIdle::~CPhoneStateIdle()" );
+ CloseQtProcess(KNetworkHandlingStarterUid);
}
// -----------------------------------------------------------
@@ -81,6 +85,8 @@
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::ConstructL() ");
CPhoneState::BaseConstructL();
+
+ LaunchQtProcessL(KNetworkHandlingStarterUid);
}
// -----------------------------------------------------------
@@ -289,7 +295,11 @@
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::HandleIncomingL( ) ");
HandleAudioAvailableOutputChangedL();
- SetRingingTonePlaybackL( aCallId );
+
+ TPhoneCmdParamBoolean ringingParam;
+ ringingParam.SetBoolean( ETrue );
+ iViewCommandHandle->ExecuteCommand(
+ EPhoneViewSetRingingFlag,&ringingParam);
BeginUiUpdateLC();
iNumberEntryManager->SetVisibilityIfNumberEntryUsedL(EFalse);
@@ -298,6 +308,8 @@
UpdateUiCommands();
EndUiUpdate();
+ SetRingingTonePlaybackL( aCallId );
+
ChangeTo( EPhoneStateIncoming );
}
@@ -452,7 +464,7 @@
{
// call the number
iStateMachine->PhoneEngineInfo()->SetPhoneNumber( *phoneNumber );
- DialMultimediaCallL();
+ DialMultimediaCall();
CleanupStack::PopAndDestroy( phoneNumber );
}
}
@@ -609,7 +621,7 @@
}
else
{
- CPhoneState::DialMultimediaCallL();
+ CPhoneState::DialMultimediaCall();
}
}
@@ -688,5 +700,39 @@
aState );
iStateMachine->ChangeState( aState );
}
+
+// -----------------------------------------------------------
+// CPhoneStateIdle::LaunchQtProcessL
+// -----------------------------------------------------------
+//
+void CPhoneStateIdle::LaunchQtProcessL(TUid aUid)
+ {
+ __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::LaunchQtProcessL()" );
+ TApaAppInfo appInfo;
+ RApaLsSession lsSession;
+ User::LeaveIfError( lsSession.Connect() );
+ CleanupClosePushL( lsSession );
+ User::LeaveIfError( lsSession.GetAppInfo( appInfo, aUid ) );
+ CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
+ cmdLine->SetExecutableNameL( appInfo.iFullName );
+ cmdLine->SetCommandL( EApaCommandRun );
+ User::LeaveIfError( lsSession.StartApp( *cmdLine ) );
+ CleanupStack::PopAndDestroy( 2 );
+ }
+// -----------------------------------------------------------
+// CPhoneStateIdle::CloseQtProcess
+// -----------------------------------------------------------
+//
+void CPhoneStateIdle::CloseQtProcess(TUid aUid)
+ {
+ __LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateIdle::CloseQtProcess()" );
+ TApaTaskList appList( iEnv->WsSession() );
+ TApaTask task = appList.FindApp( aUid );
+ if ( task.Exists() )
+ {
+ task.KillTask();
+ }
+ }
+
// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonestateincall.cpp
--- a/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincall.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -32,7 +32,6 @@
#include "tphonecmdparamstring.h"
#include "tphonecmdparamnote.h"
#include "tphonecmdparamquery.h"
-#include "tphonecmdparamcallstatedata.h"
#include "tphonecmdparamkeycapture.h"
#include "tphonecmdparamsfidata.h"
#include "mphonestatemachine.h"
@@ -50,6 +49,8 @@
#include "cphonemediatorsender.h"
#include "cphoneterminateallconnectionscommand.h"
#include "mphonecustomization.h"
+#include "phonecallutil.h"
+
// ================= MEMBER FUNCTIONS =======================
@@ -247,10 +248,11 @@
iViewCommandHandle->ExecuteCommand(
EPhoneViewGetNumberFromEntry,
&stringParam );
- iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
showDialer = ETrue;
}
+ iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveNumberEntry );
+
if ( IsAutoLockOn() || !showDialer )
{
RemoveDialogsAndSendPhoneToBackgroundL();
@@ -612,24 +614,18 @@
__LOGMETHODSTARTEND(EPhoneControl,
"CPhoneStateInCall::LaunchDtmfListQueryL()" );
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnected );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
-
- if ( callStateData.CallId() == KErrNotFound )
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateConnected );
+ if ( callId == KErrNotFound )
{
- callStateData.SetCallState( EPEStateConnecting );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
+ callId = PhoneCallUtil::CallIdByState( EPEStateConnecting );
}
- if ( callStateData.CallId() > KErrNotFound )
+ if ( callId > KErrNotFound )
{
//Get Array of DTMF strings from PhoneEngine
const CDesCArray& dtmfArray =
iStateMachine->PhoneEngineInfo()->
- RemotePredefinedDtmfStrings( callStateData.CallId() );
+ RemotePredefinedDtmfStrings( callId );
TInt itemCount = dtmfArray.Count();
if ( itemCount )
{
@@ -658,7 +654,7 @@
"CPhoneStateInCall::LaunchDtmfListQueryL() No found valid call id" );
}
// if there is a connected call only then open DtmfListQuery.
- if ( IsAnyConnectedCalls() )
+ if ( PhoneCallUtil::IsAnyConnectedCalls() )
{
TPhoneCmdParamQuery queryDialogParam;
queryDialogParam.SetQueryType( EPhoneDtmfListQueryDialog );
@@ -678,53 +674,8 @@
{
__LOGMETHODSTARTEND(EPhoneControl,
"CPhoneStateInCall::IsVideoCallActive()" );
- TBool retVal = EFalse;
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnected );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- if ( callStateData.CallId() > KErrNotFound )
- {
- retVal = IsVideoCall( callStateData.CallId() );
- }
- return retVal;
- }
-
-// ---------------------------------------------------------
-// CPhoneStateInCall::IsVideoCallRingingL
-// ---------------------------------------------------------
-//
-
-EXPORT_C TBool CPhoneStateInCall::IsVideoCallRingingL()
- {
- __LOGMETHODSTARTEND(EPhoneControl,
- "CPhoneStateInCall::IsVideoCallRingingL()" );
- TBool retVal = EFalse;
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- if ( callStateData.CallId() > KErrNotFound )
- {
- retVal = IsVideoCall( callStateData.CallId() );
- }
- return retVal;
- }
-
-// ---------------------------------------------------------
-// CPhoneStateInCall::GetRingingCallL
-// ---------------------------------------------------------
-//
-
-EXPORT_C TInt CPhoneStateInCall::GetRingingCallL()
- {
- __LOGMETHODSTARTEND(EPhoneControl,
- "CPhoneStateInCall::GetRingingCallL()" );
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- return callStateData.CallId();
+ return PhoneCallUtil::CheckIfCallExists(
+ EPEStateConnected, EPECallTypeVideo);
}
// -----------------------------------------------------------
@@ -734,24 +685,17 @@
EXPORT_C void CPhoneStateInCall::DisconnectOutgoingCallL()
{
__LOGMETHODSTARTEND(EPhoneControl,
- "CPhoneStateInCall::DisconnectOutgoingCallL()");
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnecting );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- if( callStateData.CallId() == KErrNotFound )
+ "CPhoneStateInCall::DisconnectOutgoingCallL()");
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateConnecting );
+ if( callId == KErrNotFound )
{
// No connecting call, find the dialing call
- callStateData.SetCallState( EPEStateDialing );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
+ callId = PhoneCallUtil::CallIdByState( EPEStateDialing );
- if( callStateData.CallId() == KErrNotFound )
+ if( callId == KErrNotFound )
{
// No dialing call, find the disconnectinging call
- callStateData.SetCallState( EPEStateDisconnecting );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
+ callId = PhoneCallUtil::CallIdByState( EPEStateDisconnecting );
}
else
{
@@ -759,9 +703,9 @@
}
}
- if( callStateData.CallId() > KErrNotFound )
+ if( callId > KErrNotFound )
{
- iStateMachine->SetCallId( callStateData.CallId() );
+ iStateMachine->SetCallId( callId );
iStateMachine->SendPhoneEngineMessage(
MPEPhoneModel::EPEMessageRelease );
}
@@ -782,12 +726,8 @@
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneStateInCall::HandleEndKeyPressL()");
if ( aMessage == EPhoneKeyLongPress )
{
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateConnected );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
-
- if( IsVideoCall( callStateData.CallId() ) )
+ if( PhoneCallUtil::CheckIfCallExists(
+ EPEStateConnected, EPECallTypeVideo) )
{
// Video call can be released only after we get response to VT Shutdown Command
CPhoneMediatorFactory::Instance()->Sender()->IssueCommand(
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphonestateincoming.cpp
--- a/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphonestateincoming.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -34,7 +34,6 @@
#include "tphonecmdparamboolean.h"
#include "tphonecmdparamcallheaderdata.h"
#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallstatedata.h"
#include "tphonecmdparamringtone.h"
#include "tphonecmdparamsfidata.h"
#include "tphonecmdparamstring.h"
@@ -54,6 +53,7 @@
#include "cphonereleasecommand.h"
#include "mphonecustomization.h"
#include "mphonestorage.h"
+#include "phonecallutil.h"
// ================= MEMBER FUNCTIONS =======================
@@ -88,15 +88,12 @@
{
CPhoneState::BaseConstructL();
- // Fetch incoming call's id from view
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
- if( callStateData.CallId() > KErrNotFound )
+ // Fetch incoming call's id
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateRinging );
+ if( callId > KErrNotFound )
{
iViewCommandHandle->ExecuteCommandL( EPhoneViewRemoveQuery );
- iRingingCallId = callStateData.CallId();
+ iRingingCallId = callId;
}
else
{
@@ -322,6 +319,11 @@
SetBackButtonActive(ETrue);
EndUiUpdate();
+ if ( PhoneCallUtil::IsVideoCall( aCallId ) )
+ {
+ iViewCommandHandle->ExecuteCommand( EPhoneViewSetVideoCallOnTop );
+ }
+
iStateMachine->ChangeState( EPhoneStateSingle );
}
@@ -442,15 +444,11 @@
"CPhoneStateIncoming::DisconnectWaitingCallL ()" );
iViewCommandHandle->ExecuteCommandL( EPhoneViewStopRingTone );
- // The ringing call might have changed
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- iViewCommandHandle->HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData );
-
- if ( callStateData.CallId() > KErrNotFound )
+ // The ringing call might have changed
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateRinging );
+ if ( callId > KErrNotFound )
{
- iRingingCallId = callStateData.CallId();
+ iRingingCallId = callId;
}
iStateMachine->SetCallId( iRingingCallId );
@@ -507,35 +505,6 @@
iViewCommandHandle->ExecuteCommandL( EPhoneViewOpenSoftRejectEditor, &sfiDataParam );
}
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::GetNumberEntryVisibleMenuBar
-// -----------------------------------------------------------
-//
-TInt CPhoneStateIncoming::GetNumberEntryVisibleMenuBar()
- {
- TInt resource(EPhoneIncomingCallMenubarWithNumberEntry);
- if( IsVideoCall ( iRingingCallId ) )
- {
- resource = EPhoneIncomingVideoCallMenubarWithNumberEntry;
- }
- return resource;
- }
-
-// -----------------------------------------------------------
-// CPhoneStateIncoming::GetNumberEntryNotVisibleMenuBar
-// -----------------------------------------------------------
-//
-TInt CPhoneStateIncoming::GetNumberEntryNotVisibleMenuBar()
- {
- TInt resource(EPhoneIncomingCallMenubar);
- if( IsVideoCall ( iRingingCallId ) )
- {
- resource = EPhoneIncomingVideoCallMenubar;
- }
- return resource;
- }
-
// -----------------------------------------------------------
// CPhoneStateIncoming::ShowDisconnectingL
// -----------------------------------------------------------
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/cphoneuicommandmanager.cpp
--- a/phoneapp/phoneuicontrol/src/cphoneuicommandmanager.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/cphoneuicommandmanager.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -24,8 +24,8 @@
#include "phonelogger.h"
#include "cphonemainresourceresolver.h"
#include "tphonecmdparaminteger.h"
-#include "tphonecmdparamcallstatedata.h"
#include "tphonecmdparamboolean.h"
+#include "phonecallutil.h"
// ======== MEMBER FUNCTIONS ========
@@ -115,19 +115,15 @@
void CPhoneUiCommandManager::SetSoftRejectDimmedFlag()
{
__LOGMETHODSTARTEND(EPhoneControl, "CPhoneUiCommandManager::GetIncomingCallSilenceCBA ()" );
- TPhoneCmdParamCallStateData callStateData;
- callStateData.SetCallState( EPEStateRinging );
- TRAPD( err, iViewCommandHandle.HandleCommandL(
- EPhoneViewGetCallIdByState, &callStateData ) );
TPhoneCmdParamBoolean dimSoftRejectParam;
-
- if ( err == KErrNone && callStateData.CallId() > KErrNotFound )
+ TInt callId = PhoneCallUtil::CallIdByState( EPEStateRinging );
+ if ( callId > KErrNotFound )
{
TBool privateNumber = iStateMachine.PhoneEngineInfo()->
- RemotePhoneNumber( callStateData.CallId() ).Length() == 0;
+ RemotePhoneNumber( callId ).Length() == 0;
TBool voip = iStateMachine.PhoneEngineInfo()->
- CallType( callStateData.CallId() ) == EPECallTypeVoIP;
+ CallType( callId ) == EPECallTypeVoIP;
dimSoftRejectParam.SetBoolean( privateNumber || !iSoftRejectStatus || voip );
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/phoneaudioutil.cpp
--- a/phoneapp/phoneuicontrol/src/phoneaudioutil.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/src/phoneaudioutil.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -59,7 +59,7 @@
// ---------------------------------------------------------
//
void PhoneAudioUtil::HandleAudioOutputChangedL()
- {
+ {
MPhoneViewCommandHandle* viewCommandHandle =
ViewCommandHandle();
@@ -102,10 +102,9 @@
{
CPhoneBtaaDisconnectHandler::InstanceL()->Cancel();
}
- else if ( RouteParameters.iShowNote && audioOutput == EPELoudspeaker )
+ else if ( audioOutput == EPELoudspeaker )
{
- // Avkon removal
- // TODO Play tone
+ viewCommandHandle->ExecuteCommandL( EPhoneViewPlayHandsFreeActivatedTone );
}
}
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/src/phonecallutil.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/src/phonecallutil.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,198 @@
+/*
+* Copyright (c) 2010 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: Acessory and Bluetooth handler.
+*
+*/
+
+
+// INCLUDE FILES
+#include "phonecallutil.h"
+#include "mphonestatemachine.h"
+#include "mphoneviewcommandhandle.h"
+#include "cphonestatehandle.h"
+#include "tphonecmdparamboolean.h"
+#include "tphonecmdparaminteger.h"
+#include "cphonemediatorfactory.h"
+#include "cphonemediatorsender.h"
+#include "cphonereleasecommand.h"
+#include "tphonecmdparamcallstatedata.h"
+
+#include
+#include
+#include
+#include
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// ---------------------------------------------------------
+// PhoneCallUtil::DialMultimediaCall
+// ---------------------------------------------------------
+//
+EXPORT_C void PhoneCallUtil::DialMultimediaCall()
+ {
+ MPhoneStateMachine* stateMachine = StateMachine();
+ stateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeVideo );
+ stateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
+ }
+
+// ---------------------------------------------------------
+// PhoneCallUtil::DialVoiceCallL
+// ---------------------------------------------------------
+//
+EXPORT_C void PhoneCallUtil::DialVoiceCallL()
+ {
+ MPhoneStateMachine* stateMachine = StateMachine();
+
+ TPhoneCmdParamBoolean globalNotifierParam;
+ globalNotifierParam.SetBoolean( ETrue );
+ ViewCommandHandle()->ExecuteCommandL( EPhoneViewSetGlobalNotifiersDisabled,
+ &globalNotifierParam );
+ stateMachine->PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeCSVoice );
+ stateMachine->SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
+ }
+
+// -----------------------------------------------------------
+// PhoneCallUtil::DisconnectCallL
+// -----------------------------------------------------------
+//
+EXPORT_C TBool PhoneCallUtil::DisconnectCallL()
+ {
+ MPhoneStateMachine* stateMachine = StateMachine();
+ TPhoneCmdParamInteger callIdParam;
+
+ ViewCommandHandle()->ExecuteCommand(
+ EPhoneViewGetExpandedBubbleCallId, &callIdParam );
+ TBool ret = EFalse;
+ if( callIdParam.Integer() > KErrNotFound )
+ {
+ stateMachine->SetCallId( callIdParam.Integer() );
+ if( IsVideoCall( callIdParam.Integer() ) )
+ {
+ // Video call can be released only after we get response to VT Shutdown Command
+ CPhoneMediatorFactory::Instance()->Sender()->IssueCommand(
+ KMediatorVideoTelephonyDomain,
+ KCatPhoneToVideotelCommands,
+ EVtCmdReleaseDataport,
+ TVersion( KPhoneToVideotelCmdVersionMajor,
+ KPhoneToVideotelCmdVersionMinor,
+ KPhoneToVideotelCmdVersionBuild ),
+ KNullDesC8,
+ CPhoneReleaseCommand::NewL( *stateMachine ) );
+ }
+ else
+ {
+ stateMachine->SendPhoneEngineMessage(
+ MPEPhoneModel::EPEMessageRelease );
+ }
+
+ ret = ETrue;
+ }
+
+ return ret;
+ }
+
+
+// ---------------------------------------------------------
+// PhoneCallUtil::IsVideoCall
+// ---------------------------------------------------------
+//
+EXPORT_C TBool PhoneCallUtil::IsVideoCall( const TInt aCallId )
+ {
+ if ( aCallId < 0 )
+ {
+ return EFalse;
+ }
+
+ return EPECallTypeVideo == StateMachine()->PhoneEngineInfo()->
+ CallType( aCallId );
+ }
+
+// ---------------------------------------------------------
+// PhoneCallUtil::CallIdByState
+// ---------------------------------------------------------
+//
+EXPORT_C TInt PhoneCallUtil::CallIdByState( const TPEState aCallState )
+ {
+ TPhoneCmdParamCallStateData callStateData;
+ callStateData.SetCallState( aCallState );
+
+ ViewCommandHandle()->ExecuteCommand(
+ EPhoneViewGetCallIdByState, &callStateData );
+
+ return callStateData.CallId();
+ }
+
+// ---------------------------------------------------------
+// PhoneCallUtil::CheckIfCallExists
+// ---------------------------------------------------------
+//
+EXPORT_C TBool PhoneCallUtil::CheckIfCallExists(
+ const TPEState aCallState, const TPECallType aCallType )
+ {
+ TBool retVal = EFalse;
+ TInt callId = CallIdByState( aCallState );
+
+ if ( callId > 0 &&
+ aCallType == StateMachine()->PhoneEngineInfo()->
+ CallType( callId ) )
+ {
+ retVal = ETrue;
+ }
+
+ return retVal;
+ }
+
+// -----------------------------------------------------------
+// PhoneCallUtil::IsAnyConnectedCalls
+// -----------------------------------------------------------
+//
+EXPORT_C TBool PhoneCallUtil::IsAnyConnectedCalls()
+ {
+ TBool connectedCall(EFalse);
+ MPhoneStateMachine* stateMachine = StateMachine();
+
+ if ( stateMachine->PhoneEngineInfo()->CheckIfCallStateExists(
+ EPEStateConnected ) ||
+ stateMachine->PhoneEngineInfo()->CheckIfCallStateExists(
+ EPEStateConnecting ) ||
+ stateMachine->PhoneEngineInfo()->CheckIfCallStateExists(
+ EPEStateConnectedConference ) )
+ {
+ connectedCall = ETrue;
+ }
+
+ return connectedCall;
+ }
+
+// ---------------------------------------------------------
+// PhoneCallUtil::ViewCommandHandle
+// ---------------------------------------------------------
+//
+MPhoneViewCommandHandle* PhoneCallUtil::ViewCommandHandle()
+ {
+ return CPhoneStateHandle::Instance()->ViewCommandHandle();
+ }
+
+// ---------------------------------------------------------
+// PhoneCallUtil::StateMachine
+// ---------------------------------------------------------
+//
+MPhoneStateMachine* PhoneCallUtil::StateMachine()
+ {
+ return CPhoneStateHandle::Instance()->StateMachine();
+ }
+
+// End of File
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/ut_cphoneaccessorybthandler.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/ut_cphoneaccessorybthandler.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneaccessorybthandler/group/ut_cphoneaccessorybthandler.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -124,3 +124,4 @@
LIBRARY CommonEngine.lib
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/ut_cphonenumberentrymanager.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/ut_cphonenumberentrymanager.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonenumberentrymanager/group/ut_cphonenumberentrymanager.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -112,3 +112,5 @@
LIBRARY symbianmock.lib
LIBRARY gdi.lib // TZoomFactor
LIBRARY ws32.lib // RWsSession
+
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/ut_cphonestate.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/ut_cphonestate.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestate/group/ut_cphonestate.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -43,6 +43,7 @@
SOURCE mock_cphoneaccessorybthandler.cpp
SOURCE mock_phonenoteutil.cpp
SOURCE mock_phoneaudioutil.cpp
+SOURCE mock_phonecallutil.cpp
SOURCEPATH ../../../../../internal/mocks/phoneapp/phoneuicontrol
SOURCE mock_cphoneuicommandmanager.cpp
@@ -133,3 +134,4 @@
LIBRARY symbianmock.lib
LIBRARY hal.lib
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/ut_cphonestatecallsetup.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/ut_cphonestatecallsetup.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatecallsetup/group/ut_cphonestatecallsetup.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -104,3 +104,4 @@
LIBRARY gdi.lib // TZoomFactor
LIBRARY bafl.lib // CBaActiveScheduler
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.cpp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -18,7 +18,7 @@
#include "ut_cphonestateidle.h"
#include
#include
-
+#include
#include
#include
#include "cpeengineinfo.h"
@@ -56,11 +56,6 @@
MWsClientClass::MWsClientClass() {}
RWindowTreeNode::RWindowTreeNode() {}
-#include
-TApaTaskList::TApaTaskList(RWsSession &aSession ) : iWsSession( aSession ) {}
-TApaTask TApaTaskList::FindApp(TUid) {}
-TInt TApaTask::Exists() const {return EFalse;}
-
// needed for mocking CPhoneMainResourceResolver::Instance()
class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver
{
@@ -137,7 +132,10 @@
void ut_cphonestateidle::SetupL( )
{
iMockContext->InitializeL();
-
+
+ RWsSession wsSession;
+ iTask = new TApaTask(wsSession);
+ SmcDefaultValue::SetL( *iTask );
iCoeEnvMock = new (ELeave ) CCoeEnv();
SmcDefaultValue::SetL( iCoeEnvMock );
@@ -181,6 +179,9 @@
delete iCoeEnvMock;
iCoeEnvMock = NULL;
SmcDefaultValue::Reset();
+ SmcDefaultValue::Reset();
+ delete iTask;
+ iTask = NULL;
}
@@ -368,7 +369,7 @@
ReturnsL( phoneNumber );
iMockContext->ExpectCallL( "CPEEngineInfoImpl::SetPhoneNumber" ).
WithL( KPhoneNumber() );
- iMockContext->ExpectCallL( "CPhoneState::DialMultimediaCallL" );
+ iMockContext->ExpectCallL( "CPhoneState::DialMultimediaCall" );
//DialVideoCallL is used via handlecommand because it's private method.
iStateIdle->HandleCommandL( EPhoneNumberAcqCmdVideoCall );
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.h
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.h Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/Src/ut_cphonestateidle.h Fri Oct 15 12:58:46 2010 +0300
@@ -34,6 +34,7 @@
class CCoeEnv;
class CPhoneCustomizationVoip;
class TPhoneCommandParam;
+class TApaTask;
TBool operator==(const TPhoneCommandParam& param1, const TPhoneCommandParam& param2 );
@@ -85,6 +86,7 @@
CPEEngineInfo* iEngineInfoMock;
CCoeEnv* iCoeEnvMock;
CPhoneCustomizationVoip* iCustomizationMock;
+ TApaTask* iTask;
EUNIT_DECLARE_TEST_TABLE;
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/ut_cphonestateidle.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/ut_cphonestateidle.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateidle/group/ut_cphonestateidle.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -36,7 +36,13 @@
SOURCEPATH ../../../../../internal/mocks/phoneengine/engineinfo
SOURCE mock_cpeengineinfoimpl.cpp
-
+
+SOURCEPATH ../../../../../internal/mocks/
+SOURCE mock_apacmdln.cpp
+SOURCE mock_apgcli.cpp
+SOURCE mock_apgtask.cpp
+SOURCE mock_apaid.cpp
+
// Code under test
SOURCEPATH ../../../src
SOURCE CPhoneStateIdle.cpp
@@ -110,3 +116,5 @@
LIBRARY euser.lib
LIBRARY gdi.lib
LIBRARY symbianmock.lib
+
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/ut_cphonestateincall.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/ut_cphonestateincall.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincall/group/ut_cphonestateincall.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -45,6 +45,7 @@
SOURCEPATH ../../../../internal/mocks/phoneuicontrol
SOURCE mock_cphonestate.cpp
SOURCE mock_cphonestatemachine.cpp
+SOURCE mock_phonecallutil.cpp
SOURCEPATH ../../../../../internal/mocks/phoneapp/phoneuicontrol
SOURCE mock_cphonenumberentrymanager.cpp
@@ -126,4 +127,4 @@
LIBRARY sendui.lib // CMessageData
LIBRARY charconv.lib
-
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/ut_cphonestateincoming.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/ut_cphonestateincoming.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestateincoming/group/ut_cphonestateincoming.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -68,6 +68,7 @@
SOURCEPATH ../../../../internal/mocks/phoneuicontrol
SOURCE mock_cphonestate.cpp
SOURCE mock_cphonestatemachine.cpp
+SOURCE mock_phonecallutil.cpp
SOURCEPATH ../../../../../internal/mocks/eikmenupane
SOURCE mock_coemain.cpp
@@ -134,3 +135,4 @@
LIBRARY gdi.lib
LIBRARY symbianmock.lib
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/ut_cphonestatestartup.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/ut_cphonestatestartup.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphonestatestartup/group/ut_cphonestatestartup.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -97,3 +97,4 @@
LIBRARY gdi.lib // TZoomFactor
LIBRARY bafl.lib // CBaActiveScheduler
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.cpp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.cpp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/Src/ut_cphoneuicommandmanager.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -168,7 +168,8 @@
*/
void ut_cphoneuicommandmanager::T_UpdateUiCommands( )
{
- /*expect call from SetButtonFlags*/
+ /*expect call from SetButtonFlags*/
+ iMockContext->ExpectCallL( "PhoneCallUtil::CallIdByState" ).ReturnsL(KErrNotFound);
TPhoneCmdParamBoolean muteParam;
iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommand" ).
WithL ( EPhoneViewSetMuteFlag, muteParam );
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/ut_cphoneuicommandmanager.mmp
--- a/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/ut_cphoneuicommandmanager.mmp Mon Oct 04 16:06:10 2010 +0300
+++ b/phoneapp/phoneuicontrol/tsrc/ut_cphoneuicommandmanager/group/ut_cphoneuicommandmanager.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -32,6 +32,7 @@
SOURCEPATH ../../../../internal/mocks/phoneuicontrol
SOURCE mock_cphonestatemachine.cpp
SOURCE mock_cphonestate.cpp
+SOURCE mock_phonecallutil.cpp
SOURCEPATH ../../../../internal/mocks/phoneuiutils
SOURCE mock_cphonelogger.cpp
@@ -95,3 +96,4 @@
LIBRARY gdi.lib // TZoomFactor
LIBRARY bafl.lib // CBaActiveScheduler
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/BWINS/ut_phoneaudioutilU.def
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/BWINS/ut_phoneaudioutilU.def Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+ ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,351 @@
+/*
+* 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:
+*
+*/
+
+#include "ut_phoneaudioutil.h"
+#include "phoneaudioutil.h"
+#include "phonenoteutil.h"
+#include
+#include
+
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPEEngineInfo.h"
+#include "cphonestateincall.h"
+#include "cphonestatehandle.h"
+#include "CPhoneCenRepProxy.h"
+#include "CPhoneMainResourceResolver.h"
+#include
+#include
+#include "phoneui.hrh"
+#include
+#include
+#include
+#include
+#include "phoneresourceids.h"
+#include "phonerssbase.h"
+#include "CPhoneTerminateAllConnectionsCommand.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver{};
+
+class CPhoneStateMachineGSMMock : public CPhoneStateMachineGSM{};
+
+
+
+
+// - Construction -----------------------------------------------------------
+
+ut_phoneaudioutil* ut_phoneaudioutil::NewL()
+ {
+ ut_phoneaudioutil* self = ut_phoneaudioutil::NewLC();
+ CleanupStack::Pop();
+ return self;
+ }
+
+ut_phoneaudioutil* ut_phoneaudioutil::NewLC()
+ {
+ ut_phoneaudioutil* self = new( ELeave ) ut_phoneaudioutil();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+ut_phoneaudioutil::~ut_phoneaudioutil()
+ {
+ CSmcMockContext::Release();
+ }
+
+ut_phoneaudioutil::ut_phoneaudioutil()
+ {
+ }
+
+void ut_phoneaudioutil::ConstructL()
+ {
+ CEUnitTestSuiteClass::ConstructL();
+ iMockContext = CSmcMockContext::InstanceL();
+ }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_phoneaudioutil::SetupL( )
+ {
+ iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+ SmcDefaultValue::SetL( iCPhoneMainResourceResolverMock );
+
+ iCoeEnvMock = new (ELeave ) CCoeEnv();
+ SmcDefaultValue::SetL( iCoeEnvMock );
+
+ iViewCommandHandle = new CPhoneViewCommandHandleMock();
+ SmcDefaultValue::SetL( iViewCommandHandle );
+
+ iStateMachine = CPhoneStateMachineGSMMock::NewL(iViewCommandHandle);
+ SmcDefaultValue::SetL( iStateMachine );
+
+ iCPhoneStateHandleMock = CPhoneStateHandle::
+ CreateL(iViewCommandHandle, _L("test"), TUid::Uid(1));
+ SmcDefaultValue::SetL( iCPhoneStateHandleMock );
+
+ iEngineInfo = CPEEngineInfo::NewL();
+ SmcDefaultValue::SetL( iEngineInfo );
+ }
+
+void ut_phoneaudioutil::Teardown( )
+ {
+ delete iStateMachine;
+ iStateMachine = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneStateHandleMock;
+ iCPhoneStateHandleMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iViewCommandHandle;
+ iViewCommandHandle = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iEngineInfo;
+ iEngineInfo = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCoeEnvMock;
+ iCoeEnvMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneMainResourceResolverMock;
+ iCPhoneMainResourceResolverMock = NULL;
+ SmcDefaultValue::Reset();
+
+ iMockContext->Reset();
+ }
+
+void ut_phoneaudioutil::T_ConstructionL( )
+ {
+ // SetupL and Teardown does the test.
+ }
+
+void ut_phoneaudioutil::T_HandleAudioMuteChangedL( )
+ {
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" );
+
+ PhoneAudioUtil::HandleAudioMuteChangedL();
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phoneaudioutil::T_HandleAudioOutputChangedL( )
+ {
+ PhoneAudioUtil::HandleAudioOutputChangedL();
+
+ iEngineInfo->SetAudioOutput(EPEBTAudioAccessory, EPEHandset, EFalse);
+ RArray availableOutputs;
+ availableOutputs.Append(EPEBTAudioAccessory);
+ availableOutputs.Append(EPEHandset);
+ availableOutputs.Append(EPELoudspeaker);
+ iEngineInfo->SetAvailableAudioOutputs(availableOutputs.Array());
+
+ iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::ShowBTActivatedL" );
+ PhoneAudioUtil::HandleAudioOutputChangedL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iEngineInfo->SetAudioOutput(EPENotActive, EPEBTAudioAccessory, EFalse);
+ iMockContext->ExpectCallL( "CPhoneBtaaDisconnectHandler::IsQuery" ).ReturnsL(ETrue);
+ iMockContext->ExpectCallL( "CPhoneBtaaDisconnectHandler::Cancel" );
+ PhoneAudioUtil::HandleAudioOutputChangedL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iEngineInfo->SetAudioOutput(EPELoudspeaker, EPEHandset, EFalse);
+ iMockContext->ExpectCallL(
+ "CPhoneViewCommandHandleMock::ExecuteCommandL" ).WithL(EPhoneViewPlayHandsFreeActivatedTone);
+ PhoneAudioUtil::HandleAudioOutputChangedL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+ availableOutputs.Close();
+ }
+
+void ut_phoneaudioutil::T_ChangeAudioVolumeL( )
+ {
+ iEngineInfo->SetAudioOutput(EPETTY, EPENotActive, EFalse);
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalInfoNoteL" );
+ PhoneAudioUtil::DecreaseAudioVolumeL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalInfoNoteL" );
+ PhoneAudioUtil::IncreaseAudioVolumeL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iEngineInfo->SetAudioOutput(EPEHandset, EPENotActive, EFalse);
+
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageSetAudioVolume);
+ PhoneAudioUtil::IncreaseAudioVolumeL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageSetAudioVolume);
+ PhoneAudioUtil::DecreaseAudioVolumeL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).TimesL(0);
+ PhoneAudioUtil::ChangeAudioVolumeL( -1, EFalse );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+
+ PhoneAudioUtil::GetVolumeLevel();
+ }
+
+void ut_phoneaudioutil::T_HandleAudioAvailableOutputChangedL( )
+ {
+ iEngineInfo->SetAudioOutput(EPEBTAudioAccessory, EPEHandset, EFalse);
+ RArray availableOutputs;
+
+ availableOutputs.Append(EPEHandset);
+ availableOutputs.Append(EPELoudspeaker);
+ iEngineInfo->SetAvailableAudioOutputs(availableOutputs.Array());
+
+ iMockContext->ExpectCallL( "CPhoneBtaaDisconnectHandler::Cancel" ).TimesL(0);
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" );
+ PhoneAudioUtil::HandleAudioAvailableOutputChangedL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ availableOutputs.Reset();
+ availableOutputs.Append(EPEBTAudioAccessory);
+ availableOutputs.Append(EPEHandset);
+ availableOutputs.Append(EPELoudspeaker);
+ iEngineInfo->SetAvailableAudioOutputs(availableOutputs.Array());
+ iMockContext->ExpectCallL( "CPhoneBtaaDisconnectHandler::Cancel" );
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" );
+ PhoneAudioUtil::HandleAudioAvailableOutputChangedL();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ availableOutputs.Close();
+ }
+
+void ut_phoneaudioutil::T_ToggleMute( )
+ {
+ iEngineInfo->SetAudioMute(EFalse);
+
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageSetAudioMute);
+ PhoneAudioUtil::ToggleMute();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ EUNIT_ASSERT( iEngineInfo->AudioMuteCommand() );
+ iMockContext->Reset();
+
+ iEngineInfo->SetAudioMute(ETrue);
+
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageSetAudioMute);
+ PhoneAudioUtil::ToggleMute();
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ EUNIT_ASSERT( EFalse == iEngineInfo->AudioMuteCommand() );
+ iMockContext->Reset();
+ }
+
+void ut_phoneaudioutil::T_SetHandsfreeModeL( )
+ {
+ iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::SetHandsfreeModeL" ).ReturnsL(ETrue);
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalErrorNoteL" ).TimesL(0);
+ PhoneAudioUtil::SetHandsfreeModeL( ETrue );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::SetHandsfreeModeL" ).ReturnsL(EFalse);
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalErrorNoteL" ).
+ WithL(EPhoneNoteTextNotAllowed ,ETrue);
+ PhoneAudioUtil::SetHandsfreeModeL( ETrue );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+
+ iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::SetBTHandsfreeModeL" ).ReturnsL(ETrue);
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalErrorNoteL" ).TimesL(0);
+ PhoneAudioUtil::SetBtHandsfreeModeL( ETrue );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "CPhoneAccessoryBTHandler::SetBTHandsfreeModeL" ).ReturnsL(EFalse);
+ iMockContext->ExpectCallL( "PhoneNoteUtil::SendGlobalErrorNoteL" ).
+ WithL(EPhoneNoteTextNotAllowed ,ETrue);
+ PhoneAudioUtil::SetBtHandsfreeModeL( ETrue );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+ }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+ ut_phoneaudioutil,
+ "Add test suite description here.",
+ "UNIT" )
+
+EUNIT_TEST(
+ "Test0",
+ "T_ConstructionL",
+ "Test0",
+ "FUNCTIONALITY",
+ SetupL, T_ConstructionL, Teardown)
+
+EUNIT_TEST(
+ "Test1",
+ "T_HandleAudioMuteChangedL",
+ "Test1",
+ "FUNCTIONALITY",
+ SetupL, T_HandleAudioMuteChangedL, Teardown)
+
+EUNIT_TEST(
+ "Test2",
+ "T_HandleAudioOutputChangedL",
+ "Test2",
+ "FUNCTIONALITY",
+ SetupL, T_HandleAudioOutputChangedL, Teardown)
+
+EUNIT_TEST(
+ "Test3",
+ "T_ChangeAudioVolumeL",
+ "Test3",
+ "FUNCTIONALITY",
+ SetupL, T_ChangeAudioVolumeL, Teardown)
+
+EUNIT_TEST(
+ "Test4",
+ "T_HandleAudioAvailableOutputChangedL",
+ "Test4",
+ "FUNCTIONALITY",
+ SetupL, T_HandleAudioAvailableOutputChangedL, Teardown)
+
+EUNIT_TEST(
+ "Test5",
+ "T_ToggleMute",
+ "Test5",
+ "FUNCTIONALITY",
+ SetupL, T_ToggleMute, Teardown)
+
+EUNIT_TEST(
+ "Test6",
+ "T_SetHandsfreeModeL",
+ "Test6",
+ "FUNCTIONALITY",
+ SetupL, T_SetHandsfreeModeL, Teardown)
+
+EUNIT_END_TEST_TABLE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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 __UT_PHONEAUDIOUTIL_H__
+#define __UT_PHONEAUDIOUTIL_H__
+
+// INCLUDES
+#include
+#include
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CCoeEnv;
+class CPhoneStateMachineGSM;
+class CPEEngineInfo;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class CPhoneStateHandle;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_phoneaudioutil )
+ : public CEUnitTestSuiteClass
+ {
+ public: // Constructors and destructor
+
+ static ut_phoneaudioutil* NewL();
+ static ut_phoneaudioutil* NewLC();
+ ~ut_phoneaudioutil();
+
+ private: // Constructors
+
+ ut_phoneaudioutil();
+ void ConstructL();
+
+ private: // New methods
+
+ void SetupL();
+ void Teardown();
+
+ void T_ConstructionL();
+ void T_HandleAudioMuteChangedL();
+ void T_HandleAudioOutputChangedL();
+ void T_ChangeAudioVolumeL();
+ void T_HandleAudioAvailableOutputChangedL();
+ void T_ToggleMute();
+ void T_SetHandsfreeModeL();
+
+
+ private: // Data
+
+ CPhoneViewCommandHandleMock* iViewCommandHandle;
+ CPhoneStateHandle* iCPhoneStateHandleMock;
+ CCoeEnv* iCoeEnvMock;
+ CPhoneStateMachineGSM* iStateMachine;
+ CPEEngineInfo* iEngineInfo;
+ CSmcMockContext* iMockContext;
+ CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+ EUNIT_DECLARE_TEST_TABLE;
+
+ };
+
+#endif // __UT_PHONEAUDIOUTIL_H__
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil_DllMain.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/Src/ut_phoneaudioutil_DllMain.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* 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:
+*
+*/
+
+#include "ut_phoneaudioutil.h"
+#include
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+ {
+ return ut_phoneaudioutil::NewL();
+ }
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/group/bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/group/bld.inf Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+PRJ_PLATFORMS
+ DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_phoneaudioutil.mmp
+
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/group/ut_phoneaudioutil.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phoneaudioutil/group/ut_phoneaudioutil.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+#include
+#include
+#include
+
+TARGET ut_phoneaudioutil.dll
+TARGETTYPE dll
+UID 0x1000af5a 0x01700000
+
+CAPABILITY EUNIT_CAPS
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../Src
+SOURCE ut_phoneaudioutil.cpp
+
+// Sources required by the test suite
+SOURCEPATH ../Src
+SOURCE ut_phoneaudioutil_DllMain.cpp
+
+//SOURCEPATH ../../../../../phoneengine/engineinfo/src
+//SOURCE cpeengineinfo.cpp
+
+// Code under test
+SOURCEPATH ../../../src
+SOURCE phoneaudioutil.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuicontrol
+SOURCE mock_cphonestate.cpp
+SOURCE mock_cphonestatemachine.cpp
+SOURCE mock_cphonestatehandle.cpp
+SOURCE mock_cphoneaccessorybthandler.cpp
+SOURCE mock_phonenoteutil.cpp
+
+SOURCEPATH ../../../../internal/mocks/
+SOURCE mock_cphonebtaadisconnecthandler.cpp
+
+SOURCEPATH ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuistates
+SOURCE mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuiview
+SOURCE mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuiutils
+SOURCE mock_cphonemainresourceresolver.cpp
+SOURCE mock_cphonelogger.cpp
+SOURCE mock_cphonepubsubproxy.cpp
+SOURCE mock_cphonecenrepproxy.cpp
+SOURCE mock_cphonekeys.cpp
+SOURCE mock_tphonecmdparamboolean.cpp
+SOURCE mock_tphonecmdparaminteger.cpp
+SOURCE mock_tphonecommandparam.cpp
+SOURCE mock_tphonecmdparamappinfo.cpp
+
+SOURCEPATH ../../../../internal/mocks/
+SOURCE mock_featmgr.cpp
+SOURCE mock_StringLoader.cpp
+SOURCE mock_basched.cpp
+
+SOURCEPATH ../../../../internal/mocks/phonemediatorcenter
+SOURCE mock_cphoneterminateallconnectionscommand.cpp
+SOURCE mock_cphonemediatorfactory.cpp
+SOURCE mock_cphonemediatorsender.cpp
+SOURCE mock_cphonereleasecommand.cpp
+SOURCE mock_cphonecontinueemergencycallcommand.cpp
+
+SOURCEPATH ../../../../../internal/mocks/eikmenupane
+SOURCE mock_eikmenup.cpp
+SOURCE mock_eikmenub.cpp
+SOURCE mock_coecntrl.cpp
+SOURCE mock_eikbctrl.cpp
+SOURCE mock_coemop.cpp
+SOURCE mock_coeinput.cpp
+SOURCE mock_gulbordr.cpp
+SOURCE mock_akncontrol.cpp
+SOURCE mock_eikcmobs.cpp
+SOURCE mock_coemain.cpp
+SOURCE mock_eikenv.cpp
+SOURCE mock_eikvcurs.cpp
+
+USERINCLUDE ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE ../../../../phoneuiview/inc
+USERINCLUDE ../../../../phoneuicontrol/inc
+USERINCLUDE ../../../../phoneuistates/inc
+USERINCLUDE ../../../../phoneuiutils/inc
+USERINCLUDE ../../../../phoneui2/srcdata
+USERINCLUDE ../../../../phonemediatorcenter/inc
+USERINCLUDE ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE ../../../inc // phoneuicontrol inc
+SYSTEMINCLUDE /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE ../../../../../inc // phone internal headers
+
+LIBRARY phoneuiutils.lib
+LIBRARY EUnit.lib
+LIBRARY EUnitUtil.lib
+LIBRARY euser.lib
+LIBRARY CentralRepository.lib
+LIBRARY symbianmock.lib
+LIBRARY efsrv.lib
+LIBRARY gdi.lib // TZoomFactor
+LIBRARY ws32.lib // RWsSession
+LIBRARY apgrfx.lib
+LIBRARY fbscli.lib
+LIBRARY ConnMon.lib // RConnectionMonitor
+LIBRARY sendui.lib // CMessageData
+LIBRARY charconv.lib
+LIBRARY engineinfo.lib
+
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/BWINS/ut_phonecallutilU.def
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/BWINS/ut_phonecallutilU.def Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+ ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,238 @@
+/*
+* 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:
+*
+*/
+
+#include "ut_phonecallutil.h"
+#include "phonecallutil.h"
+#include
+#include
+
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPEEngineInfo.h"
+#include "cphonestateincall.h"
+#include "cphonestatehandle.h"
+#include "CPhoneCenRepProxy.h"
+#include "CPhoneMainResourceResolver.h"
+#include
+#include
+#include "phoneui.hrh"
+#include
+#include
+#include
+#include
+#include "phoneresourceids.h"
+#include "phonerssbase.h"
+#include "CPhoneTerminateAllConnectionsCommand.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver{};
+
+class CPhoneStateMachineGSMMock : public CPhoneStateMachineGSM{};
+
+
+
+
+// - Construction -----------------------------------------------------------
+
+ut_phonecallutil* ut_phonecallutil::NewL()
+ {
+ ut_phonecallutil* self = ut_phonecallutil::NewLC();
+ CleanupStack::Pop();
+ return self;
+ }
+
+ut_phonecallutil* ut_phonecallutil::NewLC()
+ {
+ ut_phonecallutil* self = new( ELeave ) ut_phonecallutil();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+ut_phonecallutil::~ut_phonecallutil()
+ {
+ CSmcMockContext::Release();
+ }
+
+ut_phonecallutil::ut_phonecallutil()
+ {
+ }
+
+void ut_phonecallutil::ConstructL()
+ {
+ CEUnitTestSuiteClass::ConstructL();
+ iMockContext = CSmcMockContext::InstanceL();
+ }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_phonecallutil::SetupL( )
+ {
+ iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+ SmcDefaultValue::SetL( iCPhoneMainResourceResolverMock );
+
+ iCoeEnvMock = new (ELeave ) CCoeEnv();
+ SmcDefaultValue::SetL( iCoeEnvMock );
+
+ iViewCommandHandle = new CPhoneViewCommandHandleMock();
+ SmcDefaultValue::SetL( iViewCommandHandle );
+
+ iStateMachine = CPhoneStateMachineGSMMock::NewL(iViewCommandHandle);
+ SmcDefaultValue::SetL( iStateMachine );
+
+ iCPhoneStateHandleMock = CPhoneStateHandle::
+ CreateL(iViewCommandHandle, _L("test"), TUid::Uid(1));
+ SmcDefaultValue::SetL( iCPhoneStateHandleMock );
+
+ iEngineInfo = CPEEngineInfo::NewL();
+ SmcDefaultValue::SetL( iEngineInfo );
+ }
+
+void ut_phonecallutil::Teardown( )
+ {
+ delete iStateMachine;
+ iStateMachine = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneStateHandleMock;
+ iCPhoneStateHandleMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iViewCommandHandle;
+ iViewCommandHandle = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iEngineInfo;
+ iEngineInfo = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCoeEnvMock;
+ iCoeEnvMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneMainResourceResolverMock;
+ iCPhoneMainResourceResolverMock = NULL;
+ SmcDefaultValue::Reset();
+
+ iMockContext->Reset();
+ }
+
+void ut_phonecallutil::T_ConstructionL( )
+ {
+ // SetupL and Teardown does the test.
+ }
+
+void ut_phonecallutil::T_DialMultimediaCall( )
+ {
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageDial);
+
+ PhoneCallUtil::DialMultimediaCall();
+
+ EUNIT_ASSERT_EQUALS( iEngineInfo->CallTypeCommand(), EPECallTypeVideo );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonecallutil::T_DialVoiceCall( )
+ {
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageDial);
+
+ PhoneCallUtil::DialVoiceCallL();
+
+ EUNIT_ASSERT_EQUALS( iEngineInfo->CallTypeCommand(), EPECallTypeCSVoice );
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonecallutil::T_DisconnectCallL( )
+ {
+ iMockContext->ExpectCallL( "CPhoneStateMachine::SendPhoneEngineMessage" ).
+ WithL(MPEPhoneModel::EPEMessageRelease);
+
+ PhoneCallUtil::DisconnectCallL();
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonecallutil::T_TestUtilsL( )
+ {
+ TInt callId = 1;
+ TInt invalidCallId = -1;
+
+ iEngineInfo->SetCallType(EPECallTypeCSVoice, callId);
+ EUNIT_ASSERT( EFalse == PhoneCallUtil::IsVideoCall( callId ) );
+ EUNIT_ASSERT( EFalse == PhoneCallUtil::IsVideoCall( invalidCallId ) );
+
+ iEngineInfo->SetCallType(EPECallTypeVideo, callId);
+ EUNIT_ASSERT( PhoneCallUtil::IsVideoCall( callId ) );
+
+ EUNIT_ASSERT( -1 == PhoneCallUtil::CallIdByState( EPEStateHeld ) );
+ EUNIT_ASSERT( EFalse == PhoneCallUtil::CheckIfCallExists(
+ EPEStateHeld, EPECallTypeCSVoice) );
+
+ EUNIT_ASSERT( EFalse == PhoneCallUtil::IsAnyConnectedCalls() );
+ iEngineInfo->SetCallState(EPEStateConnected, callId);
+ EUNIT_ASSERT( PhoneCallUtil::IsAnyConnectedCalls() );
+ iEngineInfo->SetCallState(EPEStateConnecting, callId);
+ EUNIT_ASSERT( PhoneCallUtil::IsAnyConnectedCalls() );
+ iEngineInfo->SetCallState(EPEStateConnectedConference, callId);
+ EUNIT_ASSERT( PhoneCallUtil::IsAnyConnectedCalls() );
+ }
+
+// - EUnit test table -------------------------------------------------------
+
+EUNIT_BEGIN_TEST_TABLE(
+ ut_phonecallutil,
+ "Add test suite description here.",
+ "UNIT" )
+
+EUNIT_TEST(
+ "Test0",
+ "T_ConstructionL",
+ "Test0",
+ "FUNCTIONALITY",
+ SetupL, T_ConstructionL, Teardown)
+
+EUNIT_TEST(
+ "Test1",
+ "T_DialMultimediaCall",
+ "Test1",
+ "FUNCTIONALITY",
+ SetupL, T_DialMultimediaCall, Teardown)
+
+EUNIT_TEST(
+ "Test2",
+ "T_DialVoiceCall",
+ "Test2",
+ "FUNCTIONALITY",
+ SetupL, T_DialVoiceCall, Teardown)
+
+EUNIT_TEST(
+ "Test3",
+ "T_DisconnectCallL",
+ "Test3",
+ "FUNCTIONALITY",
+ SetupL, T_DisconnectCallL, Teardown)
+
+EUNIT_TEST(
+ "Test4",
+ "T_TestUtilsL",
+ "Test4",
+ "FUNCTIONALITY",
+ SetupL, T_TestUtilsL, Teardown)
+
+EUNIT_END_TEST_TABLE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil.h Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* 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 __UT_CPHONECALLUTIL_H__
+#define __UT_CPHONECALLUTIL_H__
+
+// INCLUDES
+#include
+#include
+
+
+
+// FORWARD DECLARATIONS
+class CPhoneViewCommandHandleMock;
+class CCoeEnv;
+class CPhoneStateMachineGSM;
+class CPEEngineInfo;
+class CPhoneMainResourceResolverMock;
+class CSmcMockContext;
+class CPhoneStateHandle;
+
+// CLASS DEFINITION
+/**
+ * Generated EUnit test suite class.
+ */
+NONSHARABLE_CLASS( ut_phonecallutil )
+ : public CEUnitTestSuiteClass
+ {
+ public: // Constructors and destructor
+
+ static ut_phonecallutil* NewL();
+ static ut_phonecallutil* NewLC();
+ ~ut_phonecallutil();
+
+ private: // Constructors
+
+ ut_phonecallutil();
+ void ConstructL();
+
+ private: // New methods
+
+ void SetupL();
+ void Teardown();
+
+ void T_ConstructionL();
+ void T_DialMultimediaCall();
+ void T_DialVoiceCall();
+ void T_DisconnectCallL();
+ void T_TestUtilsL();
+
+
+ private: // Data
+
+ CPhoneViewCommandHandleMock* iViewCommandHandle;
+ CPhoneStateHandle* iCPhoneStateHandleMock;
+ CCoeEnv* iCoeEnvMock;
+ CPhoneStateMachineGSM* iStateMachine;
+ CPEEngineInfo* iEngineInfo;
+ CSmcMockContext* iMockContext;
+ CPhoneMainResourceResolverMock* iCPhoneMainResourceResolverMock;
+
+ EUNIT_DECLARE_TEST_TABLE;
+
+ };
+
+#endif // __UT_CPHONECALLUTIL_H__
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil_DllMain.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/Src/ut_phonecallutil_DllMain.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,24 @@
+/*
+* 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:
+*
+*/
+
+#include "ut_phonecallutil.h"
+#include
+
+EXPORT_C MEUnitTest* CreateTestSuiteL()
+ {
+ return ut_phonecallutil::NewL();
+ }
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/group/bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/group/bld.inf Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+PRJ_PLATFORMS
+ DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_MMPFILES
+
+
+PRJ_TESTMMPFILES
+ut_phonecallutil.mmp
+
+
+// End of file
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/group/ut_phonecallutil.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonecallutil/group/ut_phonecallutil.mmp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,130 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+#include
+#include
+#include
+
+TARGET ut_phonecallutil.dll
+TARGETTYPE dll
+UID 0x1000af5a 0x01700000
+
+CAPABILITY EUNIT_CAPS
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../Src
+SOURCE ut_phonecallutil.cpp
+
+// Sources required by the test suite
+SOURCEPATH ../Src
+SOURCE ut_phonecallutil_DllMain.cpp
+
+//SOURCEPATH ../../../../../phoneengine/engineinfo/src
+//SOURCE cpeengineinfo.cpp
+
+// Code under test
+SOURCEPATH ../../../src
+SOURCE phonecallutil.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuicontrol
+SOURCE mock_cphonestate.cpp
+SOURCE mock_cphonestatemachine.cpp
+SOURCE mock_cphonestatehandle.cpp
+
+SOURCEPATH ../../../../../internal/mocks/phoneapp/phoneuicontrol
+SOURCE mock_cphonenumberentrymanager.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuistates
+SOURCE mock_cphonestatemachinegsm.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuiview
+SOURCE mock_cphoneviewcommandhandle.cpp
+
+SOURCEPATH ../../../../../internal/mocks/phoneengine/engineinfo
+SOURCE mock_cpeengineinfoimpl.cpp
+
+SOURCEPATH ../../../../internal/mocks/phoneuiutils
+SOURCE mock_cphonemainresourceresolver.cpp
+SOURCE mock_cphonelogger.cpp
+SOURCE mock_cphonepubsubproxy.cpp
+SOURCE mock_cphonecenrepproxy.cpp
+SOURCE mock_cphonekeys.cpp
+SOURCE mock_tphonecmdparamboolean.cpp
+SOURCE mock_tphonecmdparaminteger.cpp
+SOURCE mock_tphonecommandparam.cpp
+SOURCE mock_tphonecmdparamappinfo.cpp
+
+SOURCEPATH ../../../../internal/mocks/
+SOURCE mock_featmgr.cpp
+SOURCE mock_StringLoader.cpp
+SOURCE mock_basched.cpp
+
+SOURCEPATH ../../../../internal/mocks/phonemediatorcenter
+SOURCE mock_cphoneterminateallconnectionscommand.cpp
+SOURCE mock_cphonemediatorfactory.cpp
+SOURCE mock_cphonemediatorsender.cpp
+SOURCE mock_cphonereleasecommand.cpp
+SOURCE mock_cphonecontinueemergencycallcommand.cpp
+
+SOURCEPATH ../../../../../internal/mocks/eikmenupane
+SOURCE mock_eikmenup.cpp
+SOURCE mock_eikmenub.cpp
+SOURCE mock_coecntrl.cpp
+SOURCE mock_eikbctrl.cpp
+SOURCE mock_coemop.cpp
+SOURCE mock_coeinput.cpp
+SOURCE mock_gulbordr.cpp
+SOURCE mock_akncontrol.cpp
+SOURCE mock_eikcmobs.cpp
+SOURCE mock_coemain.cpp
+SOURCE mock_eikenv.cpp
+SOURCE mock_eikvcurs.cpp
+
+USERINCLUDE ../../../../../phoneengine/engineinfo/inc
+USERINCLUDE ../../../../phoneuiview/inc
+USERINCLUDE ../../../../phoneuicontrol/inc
+USERINCLUDE ../../../../phoneuistates/inc
+USERINCLUDE ../../../../phoneuiutils/inc
+USERINCLUDE ../../../../phoneui2/srcdata
+USERINCLUDE ../../../../phonemediatorcenter/inc
+USERINCLUDE ../../../../phoneuiqtviewadapter/inc
+USERINCLUDE ../../../../internal/mocks/phoneuiview
+
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/platform/mw/graphics/uigraphicsutils/
+SYSTEMINCLUDE ../../../inc // phoneuicontrol inc
+SYSTEMINCLUDE /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE ../../../../../inc // phone internal headers
+
+LIBRARY phoneuiutils.lib
+LIBRARY EUnit.lib
+LIBRARY EUnitUtil.lib
+LIBRARY euser.lib
+LIBRARY CentralRepository.lib
+LIBRARY symbianmock.lib
+LIBRARY efsrv.lib
+LIBRARY gdi.lib // TZoomFactor
+LIBRARY ws32.lib // RWsSession
+LIBRARY apgrfx.lib
+LIBRARY fbscli.lib
+LIBRARY ConnMon.lib // RConnectionMonitor
+LIBRARY sendui.lib // CMessageData
+LIBRARY charconv.lib
+LIBRARY engineinfo.lib
+
+SMPSAFE
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonenoteutil/BWINS/ut_phonenoteutilU.def
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonenoteutil/BWINS/ut_phonenoteutilU.def Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,2 @@
+EXPORTS
+ ?CreateTestSuiteL@@YAPAVMEUnitTest@@XZ @ 1 NONAME ; class MEUnitTest * __cdecl CreateTestSuiteL(void)
diff -r cfea66083b62 -r baacf668fe89 phoneapp/phoneuicontrol/tsrc/ut_phonenoteutil/Src/ut_phonenoteutil.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneapp/phoneuicontrol/tsrc/ut_phonenoteutil/Src/ut_phonenoteutil.cpp Fri Oct 15 12:58:46 2010 +0300
@@ -0,0 +1,380 @@
+/*
+* Copyright (c) 2020 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:
+*
+*/
+
+#include "ut_phonenoteutil.h"
+#include "phonenoteutil.h"
+#include
+#include
+
+#include "CPhoneStateMachineGSM.h"
+#include "mock_cphoneviewcommandhandle.h"
+#include "CPEEngineInfo.h"
+#include "cphonestateincall.h"
+#include "cphonestatehandle.h"
+#include "CPhoneCenRepProxy.h"
+#include "CPhoneMainResourceResolver.h"
+#include "tphonecmdparamnote.h"
+#include "tphonecmdparamquery.h"
+#include
+#include
+#include "phoneui.hrh"
+#include
+#include
+#include
+#include
+#include "phoneresourceids.h"
+#include "phonerssbase.h"
+#include "CPhoneTerminateAllConnectionsCommand.h"
+#include "CPhoneMainErrorMessagesHandler.h"
+
+// needed for mocking CPhoneMainResourceResolver::Instance()
+class CPhoneMainResourceResolverMock : public CPhoneMainResourceResolver{};
+
+class CPhoneMainErrorMessagesHandlerMock : public CPhoneMainErrorMessagesHandler
+ {
+
+ };
+
+class CPhoneStateMachineGSMMock : public CPhoneStateMachineGSM{};
+
+
+
+
+// - Construction -----------------------------------------------------------
+
+ut_phonenoteutil* ut_phonenoteutil::NewL()
+ {
+ ut_phonenoteutil* self = ut_phonenoteutil::NewLC();
+ CleanupStack::Pop();
+ return self;
+ }
+
+ut_phonenoteutil* ut_phonenoteutil::NewLC()
+ {
+ ut_phonenoteutil* self = new( ELeave ) ut_phonenoteutil();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ return self;
+ }
+
+ut_phonenoteutil::~ut_phonenoteutil()
+ {
+ CSmcMockContext::Release();
+ }
+
+ut_phonenoteutil::ut_phonenoteutil()
+ {
+ }
+
+void ut_phonenoteutil::ConstructL()
+ {
+ CEUnitTestSuiteClass::ConstructL();
+ iMockContext = CSmcMockContext::InstanceL();
+ }
+
+// - Test methods -----------------------------------------------------------
+
+void ut_phonenoteutil::SetupL( )
+ {
+ iCPhoneMainResourceResolverMock = new ( ELeave ) CPhoneMainResourceResolverMock();
+ SmcDefaultValue::SetL( iCPhoneMainResourceResolverMock );
+
+ iCoeEnvMock = new (ELeave ) CCoeEnv();
+ SmcDefaultValue::SetL( iCoeEnvMock );
+
+ iViewCommandHandle = new CPhoneViewCommandHandleMock();
+ SmcDefaultValue::SetL( iViewCommandHandle );
+
+ iStateMachine = CPhoneStateMachineGSMMock::NewL(iViewCommandHandle);
+ SmcDefaultValue::SetL( iStateMachine );
+
+ iCPhoneStateHandleMock = CPhoneStateHandle::
+ CreateL(iViewCommandHandle, _L("test"), TUid::Uid(1));
+ SmcDefaultValue::SetL( iCPhoneStateHandleMock );
+
+ iCPhoneMainErrorMessagesHandlerMock = new ( ELeave ) CPhoneMainErrorMessagesHandlerMock();
+ SmcDefaultValue::SetL( iCPhoneMainErrorMessagesHandlerMock );
+
+ iEngineInfo = CPEEngineInfo::NewL();
+ SmcDefaultValue::SetL( iEngineInfo );
+ }
+
+void ut_phonenoteutil::Teardown( )
+ {
+ delete iStateMachine;
+ iStateMachine = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneStateHandleMock;
+ iCPhoneStateHandleMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iViewCommandHandle;
+ iViewCommandHandle = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iEngineInfo;
+ iEngineInfo = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCoeEnvMock;
+ iCoeEnvMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneMainResourceResolverMock;
+ iCPhoneMainResourceResolverMock = NULL;
+ SmcDefaultValue::Reset();
+
+ delete iCPhoneMainErrorMessagesHandlerMock;
+ iCPhoneMainErrorMessagesHandlerMock = NULL;
+ SmcDefaultValue::Reset();
+
+ iMockContext->Reset();
+ }
+
+void ut_phonenoteutil::T_ConstructionL( )
+ {
+ // SetupL and Teardown does the test.
+ }
+
+void ut_phonenoteutil::T_SendGlobalInfoNoteL( )
+ {
+ TInt resource = 10;
+ TBool notification = ETrue;
+
+ TPhoneCmdParamGlobalNote globalNoteParam;
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowGlobalNote, globalNoteParam );
+
+ PhoneNoteUtil::SendGlobalInfoNoteL( resource, notification);
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowGlobalNote, globalNoteParam );
+
+ PhoneNoteUtil::SendGlobalNoteL( resource, notification);
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonenoteutil::T_SendGlobalWarningNoteL( )
+ {
+ TInt resource = 10;
+ TBool notification = ETrue;
+
+ TPhoneCmdParamGlobalNote globalNoteParam;
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowGlobalNote, globalNoteParam );
+
+ PhoneNoteUtil::SendGlobalWarningNoteL( resource, notification);
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonenoteutil::T_SendGlobalErrorNoteL( )
+ {
+ TInt resource = 10;
+ TBool notification = ETrue;
+
+ TPhoneCmdParamGlobalNote globalNoteParam;
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowGlobalNote, globalNoteParam );
+
+ PhoneNoteUtil::SendGlobalErrorNoteL( resource, notification);
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonenoteutil::T_SendGlobalNoteL2( )
+ {
+ _LIT(KTestText,"test");
+
+ TPhoneCmdParamGlobalNote globalNoteParam;
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowGlobalNote, globalNoteParam );
+
+ PhoneNoteUtil::SendGlobalNoteL( EPhoneNotificationDialog, KTestText());
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ }
+
+void ut_phonenoteutil::T_ShowNoteAndQueryL( )
+ {
+ TInt resource = 10;
+ TPhoneCmdParamNote noteParam;
+ TPhoneCmdParamQuery queryParam;
+
+ // Test ShowNoteL
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowNote, noteParam );
+
+ PhoneNoteUtil::ShowNoteL( resource );
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ // Test ShowQueryL
+ iMockContext->ExpectCallL( "CPhoneMainResourceResolver::ResolveResourceID" ).
+ WithL(resource).
+ ReturnsL(resource);
+
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowQuery, queryParam );
+
+ PhoneNoteUtil::ShowQueryL( resource );
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ iMockContext->Reset();
+
+ HBufC* emptyString = HBufC::NewLC( KPhoneNumberEntryBufferSize );
+ TPtr ptr( emptyString->Des() );
+ iMockContext->ExpectCallL( "CPhoneViewCommandHandleMock::ExecuteCommandL" ).
+ WithL ( EPhoneViewShowQuery, queryParam );
+
+ PhoneNoteUtil::ShowTextQueryL(resource,resource,resource,&ptr,ETrue);
+
+ EUNIT_ASSERT_EQUALS( KErrNone, iMockContext->VerifyExpectations() );
+ CleanupStack::PopAndDestroy( emptyString );
+ }
+
+void ut_phonenoteutil::T_HandleErrorL( )
+ {
+ TPEErrorInfo errorInfo;
+
+ iMockContext->ExpectCallL( "CPhoneMainErrorMessagesHandler::ShowErrorSpecificNoteL" ).
+ WithL