--- a/phoneengine/phonemodel/inc/cpemessagehandler.h Tue Aug 31 15:14:29 2010 +0300
+++ b/phoneengine/phonemodel/inc/cpemessagehandler.h Wed Sep 01 12:30:10 2010 +0100
@@ -22,12 +22,11 @@
// INCLUDES
#include <pevirtualengine.h>
-#include <DosSvrServices.h>
-#include <cphcltcommandhandler.h>
+#include "DosSvrServices.h"
+#include <CPhCltCommandHandler.h>
#include <cphcltdialdata.h>
#include "mpecallhandling.h"
-#include "mpecallcontrolif.h"
// CONSTANTS
const TInt KModeNormal = 0; // Normal System mode
@@ -39,6 +38,21 @@
_LIT( KPEValidDTMFChars, "0123456789*#pwPW" );
_LIT( KPEValidDTMFStringStopChars, "+pPwW" );
+// DTMF Speed dial substitution
+_LIT( KPEValidSpeedDialChars, "23456789" );
+const TInt KPEDtmfSpeedDialSubstitutionsMax = 2; // prevent infinite loop.
+const TInt KPESpeedDialIndexMin = 2;
+const TInt KPESpeedDialIndexMax = 9;
+
+// DTMF parsing status for Speed dial location
+enum TPESpeedDialSubstituionStatus
+ {
+ EPEDtmfSpeedDialOk,
+ EPEDtmfSpeedDialPromptUser,
+ EPEDtmfSpeedDialNotAssigned,
+ EPEDtmfSpeedDialInvalidSpeedDial
+ };
+
// Invalid characters in an dialing string, these chars can be removed from dial string
_LIT( KPECharsThatCanBeDelete, "\"/ ().-" );
@@ -90,10 +104,7 @@
* @lib phoneenginebase.dll
* @since S60_5.0
*/
-NONSHARABLE_CLASS( CPEMessageHandler )
- :
- public CBase,
- public MPECallControlIF
+NONSHARABLE_CLASS( CPEMessageHandler ) : public CBase
{
public: // Destructor
@@ -156,7 +167,13 @@
* @return Return possible error code.
*/
TInt HandleReleaseCall( TPEHangUpOptions aAutoResumeOption = ETPEHangUpDefault );
-
+
+ /**
+ * Handles release message from application
+ * @return Return possible error code.
+ */
+ TInt HandleReleaseConference();
+
/**
* Handles send dtmf message from phone application
* @return possible error code from the CallHandling subsystem.
@@ -236,6 +253,12 @@
const TBool aCheckForDelete ) const;
/**
+ * Handles lifetimer data from customa api -> engineinfo.
+ * @return TInt possible error code..
+ */
+ TInt HandleGetLifeTimerData() const;
+
+ /**
* Handles EPEMessageDTMFSent message from call handling subsystem
* @param ECCPErrorNone or KPEDontSendMessage
*/
@@ -259,6 +282,12 @@
* @return error code.
*/
static TInt CallBackHandleSendDtmf( TAny* aAny );
+
+ /**
+ * Handles plus (+) sign in a DTMF string.
+ * @param aDtmfString Current DTMF string to process.
+ */
+ void HandlePlusSignInDtmf( const TPEDtmfString& aDtmfString );
/**
* Called asyncronously from callback.
@@ -543,11 +572,6 @@
TInt HandleReplaceActive();
/**
- * Check if phone is locked, if locked leave with ECCPErrorAuthenticationFailed error.
- */
- void CheckIfPhoneIsLockedL();
-
- /**
* Handles unattended transfer request response.
* @param aAcceptRequest ETrue to accept, EFalse to reject request.
*/
@@ -569,27 +593,14 @@
* Handle disable service
*/
void HandleDisableService();
-
+
/**
* Adds SIM rejected MO CS call to logs.
* @param aCallId is the identification number of the call.
* @return KErrNone if succesfull
*/
TInt AddSIMRejectedMoCsCallToLog( const TInt aCallId );
-
- /**
- * Handle dial service call
- */
- TInt HandleDialServiceCall(
- const TBool aClientCall );
-
- /**
- * Returns a boolean to indicate whether network connection
- * is allowed or not.
- * @return Return a True or False.
- */
- TBool IsNetworkConnectionAllowed() const;
-
+
private: // New functions
/**
@@ -635,6 +646,12 @@
TBool AutomaticAnswer( const TInt aCallId ) const;
/**
+ * Returns a boolean to indicate whether emergency call is allowed or not.
+ * @return Return a True or False.
+ */
+ TBool IsEmergencyAllowed() const;
+
+ /**
* Handle Client Call Data.
* @return Return possible error.
*/
@@ -748,7 +765,7 @@
* @param aClientCall, Informs is the current call client originated or not.
* @return Return possible error code.
*/
- TInt HandleDialCallL( const TBool aClientCall );
+ TInt HandleDialCallL( const TBool aClientCall );
/**
* Reset CCCECallParameters to prevent of use a previous callīs parameters
@@ -819,11 +836,14 @@
TBool iEmergencyCallActive;
//
TBool iBtaaDisconnected;
+ // Flag to associate switch to vid/voice call operation and video call's reconnect operation.
+ // Use to fetch the right SwitchToNumber.
+ TBool iSwitchToVidCalReconFlag;
//Client Information, member variable because emergency call from phone client
//is not allowed to allocate memory.
CPEClientInformation* iClientInformation;
- // Dial Data
- CPhCltDialData* iClientDialData;
+ // Dial Data
+ CPhCltDialData* iClientDialData;
// Instances will contain the results of the parsing
CPhoneGsmParserResult* iResult;
// Handles emergency number from the parser.