diff -r ff3b6d0fd310 -r ae8abd0db65c phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp --- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Tue Feb 02 01:11:09 2010 +0200 +++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Fri Mar 19 09:40:14 2010 +0200 @@ -12,37 +12,38 @@ * Contributors: * * Description: Receives call handling related key presses from accessories and -* executes them. +* executes them. * */ // INCLUDE FILES -#include "PhoneHandlerControl.h" -#include "PhoneHandlerService.h" -#include "PhoneHandlerAnswerCall.h" -#include "PhoneHandlerEndCall.h" -#include "PhoneHandlerDialCall.h" -#include "PhoneHandlerVoiceDial.h" -#include "PhoneHandlerRedial.h" -#include "PhoneHandlerMultipartyCall.h" -#include "PhoneHandlerDTMF.h" -#include "PhoneHandlerActive.h" -#include "PhoneHandlerResponse.h" -#include "PhoneHandlerCallState.h" -#include "PhoneHandlerDebug.h" +#include "PhoneHandlerControl.h" +#include "PhoneHandlerService.h" +#include "PhoneHandlerAnswerCall.h" +#include "PhoneHandlerEndCall.h" +#include "PhoneHandlerDialCall.h" +#include "PhoneHandlerVoiceDial.h" +#include "PhoneHandlerRedial.h" +#include "PhoneHandlerMultipartyCall.h" +#include "PhoneHandlerDTMF.h" +#include "PhoneHandlerActive.h" +#include "PhoneHandlerResponse.h" +#include "PhoneHandlerCallState.h" +#include "PhoneHandlerDebug.h" #include -#include -#include +#include +// <-- QT PHONE START --> +//#include +// <-- QT PHONE END--> #include #if 0 -#include +#include #endif #include -#include // EXTERNAL DATA STRUCTURES @@ -74,7 +75,7 @@ // ----------------------------------------------------------------------------- // CPhoneHandlerControl::CPhoneHandlerControl() - : iPrevState( EPSCTsyCallStateNone ) + : iPrevState( EPSCTsyCallStateNone ) { } @@ -86,29 +87,29 @@ void CPhoneHandlerControl::ConstructL( CRemConInterfaceSelector* aIfSelector ) { COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() start" ); - + if( !aIfSelector ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Create connection to RemCon." ); - - // Target connection to RemCon FW hasn't been done. - iInterfaceSelector = CRemConInterfaceSelector::NewL(); - iTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this ); - iInterfaceSelector->OpenTargetL(); - } - else - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Don't create connection to RemCon." ); - - // Connection to RemCon FW as target has already been done in a process. - iTarget = CRemConCallHandlingTarget::NewL( *aIfSelector, *this ); - } - - iResponse = CPhoneHandlerResponse::NewL( *this ); - iCallStateObserver = CPhoneHandlerCallState::NewL( *this ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() end" ); - } + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Create connection to RemCon." ); + + // Target connection to RemCon FW hasn't been done. + iInterfaceSelector = CRemConInterfaceSelector::NewL(); + iTarget = CRemConCallHandlingTarget::NewL( *iInterfaceSelector, *this ); + iInterfaceSelector->OpenTargetL(); + } + else + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() Don't create connection to RemCon." ); + + // Connection to RemCon FW as target has already been done in a process. + iTarget = CRemConCallHandlingTarget::NewL( *aIfSelector, *this ); + } + + iResponse = CPhoneHandlerResponse::NewL( *this ); + iCallStateObserver = CPhoneHandlerCallState::NewL( *this ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::ConstructL() end" ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::NewL @@ -116,7 +117,7 @@ // ----------------------------------------------------------------------------- // CPhoneHandlerControl* CPhoneHandlerControl::NewL( - CRemConInterfaceSelector* aIfSelector ) + CRemConInterfaceSelector* aIfSelector ) { COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NewL() start" ); @@ -137,19 +138,19 @@ COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::~CPhoneHandlerControl() start" ); if( iInterfaceSelector ) - { - delete iInterfaceSelector; - } + { + delete iInterfaceSelector; + } if( iResponse ) - { - iResponse->Delete(); - } - + { + iResponse->Delete(); + } + if( iCallStateObserver ) - { - delete iCallStateObserver; - } + { + delete iCallStateObserver; + } COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::~CPhoneHandlerControl() end" ); } @@ -235,28 +236,28 @@ { COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() aState=%d", aState ); - if( aState == EPSCTsyCallStateConnected && iPrevState != EPSCTsyCallStateHold ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls++" ); - - iActiveCalls++; - } - else if( aState == EPSCTsyCallStateDisconnecting && - ( iPrevState == EPSCTsyCallStateConnected || iPrevState == EPSCTsyCallStateHold )) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls--" ); - - iActiveCalls--; - } - else if( aState == EPSCTsyCallStateNone ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls = 0" ); - iActiveCalls = 0; - } - - iPrevState = aState; - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() iActiveCalls=%d", iActiveCalls ); - } + if( aState == EPSCTsyCallStateConnected && iPrevState != EPSCTsyCallStateHold ) + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls++" ); + + iActiveCalls++; + } + else if( aState == EPSCTsyCallStateDisconnecting && + ( iPrevState == EPSCTsyCallStateConnected || iPrevState == EPSCTsyCallStateHold )) + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls--" ); + + iActiveCalls--; + } + else if( aState == EPSCTsyCallStateNone ) + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState(): iActiveCalls = 0" ); + iActiveCalls = 0; + } + + iPrevState = aState; + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::NotifyCallState() iActiveCalls=%d", iActiveCalls ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::AnswerCall @@ -264,26 +265,26 @@ // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::AnswerCall() - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() start" ); - - StartProcessing( ERemConExtAnswerCall ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() end" ); + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() start" ); + + StartProcessing( ERemConExtAnswerCall ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerCall() end" ); } - + // ----------------------------------------------------------------------------- // CPhoneHandlerControl::EndCall // (other items were commented in a header). // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::EndCall() - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() start" ); + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() start" ); StartProcessing( ERemConExtEndCall ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() end" ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::EndCall() end" ); } // ----------------------------------------------------------------------------- @@ -292,12 +293,12 @@ // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::AnswerEndCall() - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() start" ); + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() start" ); StartProcessing( ERemConExtAnswerEnd ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() end" ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::AnswerEndCall() end" ); } // ----------------------------------------------------------------------------- @@ -305,7 +306,7 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -#if 0 // SCB CR EHSA-7APJWF: SIND subscribes to RemCon directly +#if 0 // SCB CR EHSA-7APJWF: SIND subscribes to RemCon directly void CPhoneHandlerControl::VoiceDial( const TBool aActivate ) { COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() aActivate=%d", aActivate ); @@ -322,17 +323,17 @@ iProperty.Get( KPSUidVoiceUiAccMonitor, KVoiceUiOpenKey, voiceUiState ); if( voiceUiState == KVoiceUiIsOpen ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() voice UI is open!" ); - iProperty.Set( KPSUidVoiceUiAccMonitor , KVoiceUiAccessoryEvent, ERemConExtVoiceDial ); - iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); - iResponse->Process(); - } + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() voice UI is open!" ); + iProperty.Set( KPSUidVoiceUiAccMonitor , KVoiceUiAccessoryEvent, ERemConExtVoiceDial ); + iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); + iResponse->Process(); + } else - { - iActivate = aActivate; - StartProcessing( ERemConExtVoiceDial ); - } + { + iActivate = aActivate; + StartProcessing( ERemConExtVoiceDial ); + } } else { @@ -342,18 +343,11 @@ COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() end" ); } -#else +#else void CPhoneHandlerControl::VoiceDial( const TBool /*aActivate*/ ) { COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial()" ); - if ( IsAutoLockOn() && !IsBTAccessoryCmd() ) - { - iResponse->SetResponse( ERemConExtVoiceDial, KErrAccessDenied ); - iResponse->Process(); - return; - } - iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); iResponse->Process(); @@ -366,20 +360,13 @@ // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::LastNumberRedial( ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() start" ); - - if ( IsAutoLockOn() && !IsBTAccessoryCmd() ) - { - iResponse->SetResponse( ERemConExtLastNumberRedial, KErrAccessDenied ); - iResponse->Process(); - return; - } - - StartProcessing( ERemConExtLastNumberRedial ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() end" ); - } + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() start" ); + + StartProcessing( ERemConExtLastNumberRedial ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::LastNumberRedial() end" ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::DialCall @@ -387,31 +374,24 @@ // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::DialCall( const TDesC8& aTelNumber ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() start" ); + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() start" ); - if ( IsAutoLockOn() && !IsBTAccessoryCmd() ) - { - iResponse->SetResponse( ERemConExtDialCall, KErrAccessDenied ); - iResponse->Process(); - return; - } - // Check aTelNumber range - if( KPhCltTelephoneNumberLength < aTelNumber.Length() ) - { - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() number value=%d too long", aTelNumber.Size() ); - iResponse->SetResponse( ERemConExtDialCall, KErrArgument ); - iResponse->Process(); - return; - } - - iTelNumber.Copy( aTelNumber ); - + if( KPhCltTelephoneNumberLength < aTelNumber.Length() ) + { + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() number value=%d too long", aTelNumber.Size() ); + iResponse->SetResponse( ERemConExtDialCall, KErrArgument ); + iResponse->Process(); + return; + } + + iTelNumber.Copy( aTelNumber ); + StartProcessing( ERemConExtDialCall ); - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() end" ); - } + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::DialCall() end" ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::MultipartyCalling @@ -439,85 +419,85 @@ // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::MultipartyCalling( const TDesC8& aData ) - { - TBool error( EFalse ); - iChldCommand = 0; - iChldCallNumber = 0; - TBuf8< KRemConExtParamMaxLength > buf( aData ); - buf.Trim(); - TInt length = buf.Length(); - - // Check invalid number of characters - if ( length < KMultipartyCallMinParam || length > KMultipartyCallMaxParam ) - { - error = ETrue; - } - else - { - TLex8 param; - // Set command - param.Assign( buf.Mid( 0, 1 ) ); - if( param.Val( iChldCommand ) != KErrNone ) - { - error = ETrue; - } - else if ( length == KMultipartyCallMaxParam ) - { - // Set call number - param.Assign( buf.Mid(1) ); - if( param.Val( iChldCallNumber ) != KErrNone ) - { - error = ETrue; - } - } - } + { + TBool error( EFalse ); + iChldCommand = 0; + iChldCallNumber = 0; + TBuf8< KRemConExtParamMaxLength > buf( aData ); + buf.Trim(); + TInt length = buf.Length(); + + // Check invalid number of characters + if ( length < KMultipartyCallMinParam || length > KMultipartyCallMaxParam ) + { + error = ETrue; + } + else + { + TLex8 param; + // Set command + param.Assign( buf.Mid( 0, 1 ) ); + if( param.Val( iChldCommand ) != KErrNone ) + { + error = ETrue; + } + else if ( length == KMultipartyCallMaxParam ) + { + // Set call number + param.Assign( buf.Mid(1) ); + if( param.Val( iChldCallNumber ) != KErrNone ) + { + error = ETrue; + } + } + } - if( error ) - { - // Invalid command - iResponse->SetResponse( ERemConExt3WaysCalling, KErrArgument ); - iResponse->Process(); - return; - } - - COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() iChldCommand=%d, iChldCallNumber=%d", iChldCommand, iChldCallNumber ); - - StartProcessing( ERemConExt3WaysCalling ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() end" ); - } - + if( error ) + { + // Invalid command + iResponse->SetResponse( ERemConExt3WaysCalling, KErrArgument ); + iResponse->Process(); + return; + } + + COM_TRACE_2( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() iChldCommand=%d, iChldCallNumber=%d", iChldCommand, iChldCallNumber ); + + StartProcessing( ERemConExt3WaysCalling ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::MultipartyCalling() end" ); + } + // ----------------------------------------------------------------------------- // CPhoneHandlerControl::GenerateDTMF // (other items were commented in a header). // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::GenerateDTMF( const TChar aChar ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() start" ); - - iChar = aChar; - - StartProcessing( ERemConExtGenerateDTMF ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() end" ); - } - + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() start" ); + + iChar = aChar; + + StartProcessing( ERemConExtGenerateDTMF ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::GenerateDTMF() end" ); + } + // ----------------------------------------------------------------------------- // CPhoneHandlerControl::SpeedDial // (other items were commented in a header). // ----------------------------------------------------------------------------- // void CPhoneHandlerControl::SpeedDial( const TInt aIndex ) - { - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() aIndex=%d", aIndex ); + { + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() aIndex=%d", aIndex ); - iIndex = aIndex; - - StartProcessing( ERemConExtSpeedDial ); - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() end" ); - } + iIndex = aIndex; + + StartProcessing( ERemConExtSpeedDial ); + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::SpeedDial() end" ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::StartProcessing @@ -526,41 +506,41 @@ // (other items were commented in a header). // ----------------------------------------------------------------------------- // -void CPhoneHandlerControl::StartProcessing( - const TRemConExtCallHandlingApiOperationId aOperation ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() start" ); - - // Create a service - MPhoneHandlerService* service = NULL; - TInt error( KErrNone ); - TRAP( error, service = CreateServiceL( aOperation ) ); - - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() returned %d", error ); - - if( error ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing(): service wasn't created succesfully." ); - - // An error happened. Delete service, if it exists. - if( service ) - { - service->Delete(); - service = NULL; - } - - iResponse->SetResponse( aOperation, error ); - iResponse->Process(); - return; - } - else - { - // start service - service->Process(); - iSwitchCall = EFalse; - } - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() end" ); +void CPhoneHandlerControl::StartProcessing( + const TRemConExtCallHandlingApiOperationId aOperation ) + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() start" ); + + // Create a service + MPhoneHandlerService* service = NULL; + TInt error( KErrNone ); + TRAP( error, service = CreateServiceL( aOperation ) ); + + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() returned %d", error ); + + if( error ) + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing(): service wasn't created succesfully." ); + + // An error happened. Delete service, if it exists. + if( service ) + { + service->Delete(); + service = NULL; + } + + iResponse->SetResponse( aOperation, error ); + iResponse->Process(); + return; + } + else + { + // start service + service->Process(); + iSwitchCall = EFalse; + } + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::StartProcessing() end" ); } // ----------------------------------------------------------------------------- @@ -569,7 +549,7 @@ // ----------------------------------------------------------------------------- // MPhoneHandlerService* CPhoneHandlerControl:: - CreateServiceL( const TRemConExtCallHandlingApiOperationId aOperation ) + CreateServiceL( const TRemConExtCallHandlingApiOperationId aOperation ) { COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() start" ); @@ -578,162 +558,162 @@ switch( aOperation ) { case ERemConExtAnswerCall: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerCall command" ); - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - iActiveCalls is %d", iActiveCalls ); + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerCall command" ); + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - iActiveCalls is %d", iActiveCalls ); - /* - if( iActiveCalls > 0 ) - { - // Multiparty call - iSwitchCall = ETrue; - pService = CPhoneHandlerMultipartyCall::NewL( *this ); - } - else - { - // non-multiparty call - pService = CPhoneHandlerAnswerCall::NewL( *this ); - } - */ - pService = CPhoneHandlerAnswerCall::NewL( *this ); + /* + if( iActiveCalls > 0 ) + { + // Multiparty call + iSwitchCall = ETrue; + pService = CPhoneHandlerMultipartyCall::NewL( *this ); + } + else + { + // non-multiparty call + pService = CPhoneHandlerAnswerCall::NewL( *this ); + } + */ + pService = CPhoneHandlerAnswerCall::NewL( *this ); - break; - } - + break; + } + case ERemConExtEndCall: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtEndCall command" ); - - pService = CPhoneHandlerEndCall::NewL( *this ); - - break; - } - + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtEndCall command" ); + + pService = CPhoneHandlerEndCall::NewL( *this ); + + break; + } + case ERemConExtAnswerEnd: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerEnd command" ); - - TInt callState( EPSCTsyCallStateUninitialized ); - iProperty.Get( KPSUidCtsyCallInformation, KCTsyCallState, callState ); - - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() call state = %d", callState ); - - if( callState != EPSCTsyCallStateUninitialized && - callState != EPSCTsyCallStateNone && - callState != EPSCTsyCallStateDisconnecting ) - { - if( callState == EPSCTsyCallStateAlerting || - callState == EPSCTsyCallStateDialling || - callState == EPSCTsyCallStateAnswering || - callState == EPSCTsyCallStateConnected || - callState == EPSCTsyCallStateHold ) - { - pService = CPhoneHandlerEndCall::NewL( *this, - aOperation ); - } - // callState == EPSTelephonyCallStateRinging - else - { - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() iActiveCalls = %d", iActiveCalls ); - if( iActiveCalls > 0 ) - { - // multicall case : End call that has existed longer. - // (From UI viewpoint ringing call is in waiting state.) - pService = CPhoneHandlerEndCall::NewL( *this, - aOperation ); - if( callState == EPSCTsyCallStateRinging ) - { - // In multiparty case the telephony key is not - // updated. The call amount is updated manually. - iActiveCalls--; - } - } - else - { - pService = CPhoneHandlerAnswerCall::NewL( - *this, - aOperation ); - } - } - } - else - { - // Send / end button was pressed when there were not - // any calls active. Response has to be sent back to accessory - // at least for following reasons: - - // 1. RemCon FW releases message related memory only when response - // is sent back to accessory. - - // 2. BT accessory key press producing ERemConExtAnswerEnd - // operation has some other meaning than answer/end call - // and it's processed by proper client. However, there - // might be a situation where proper client isn't active - // and can't process command. In any case RemCon/BT accessory - // requires response to command. That's why PhoneCmdHandler - // sends reponse to command. - - iResponse->SetResponse( aOperation, KErrNone ); - pService = iResponse; - } - break; - } - - case ERemConExtDialCall: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtDialCall command" ); - - pService = CPhoneHandlerDialCall::NewL( *this ); - break; - } - - case ERemConExtVoiceDial: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtVoiceDial command" ); - - pService = CPhoneHandlerVoiceDial::NewL( *this ); - break; - } - + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtAnswerEnd command" ); + + TInt callState( EPSCTsyCallStateUninitialized ); + iProperty.Get( KPSUidCtsyCallInformation, KCTsyCallState, callState ); + + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() call state = %d", callState ); + + if( callState != EPSCTsyCallStateUninitialized && + callState != EPSCTsyCallStateNone && + callState != EPSCTsyCallStateDisconnecting ) + { + if( callState == EPSCTsyCallStateAlerting || + callState == EPSCTsyCallStateDialling || + callState == EPSCTsyCallStateAnswering || + callState == EPSCTsyCallStateConnected || + callState == EPSCTsyCallStateHold ) + { + pService = CPhoneHandlerEndCall::NewL( *this, + aOperation ); + } + // callState == EPSTelephonyCallStateRinging + else + { + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() iActiveCalls = %d", iActiveCalls ); + if( iActiveCalls > 0 ) + { + // multicall case : End call that has existed longer. + // (From UI viewpoint ringing call is in waiting state.) + pService = CPhoneHandlerEndCall::NewL( *this, + aOperation ); + if( callState == EPSCTsyCallStateRinging ) + { + // In multiparty case the telephony key is not + // updated. The call amount is updated manually. + iActiveCalls--; + } + } + else + { + pService = CPhoneHandlerAnswerCall::NewL( + *this, + aOperation ); + } + } + } + else + { + // Send / end button was pressed when there were not + // any calls active. Response has to be sent back to accessory + // at least for following reasons: + + // 1. RemCon FW releases message related memory only when response + // is sent back to accessory. + + // 2. BT accessory key press producing ERemConExtAnswerEnd + // operation has some other meaning than answer/end call + // and it's processed by proper client. However, there + // might be a situation where proper client isn't active + // and can't process command. In any case RemCon/BT accessory + // requires response to command. That's why PhoneCmdHandler + // sends reponse to command. + + iResponse->SetResponse( aOperation, KErrNone ); + pService = iResponse; + } + break; + } + + case ERemConExtDialCall: + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtDialCall command" ); + + pService = CPhoneHandlerDialCall::NewL( *this ); + break; + } + + case ERemConExtVoiceDial: + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtVoiceDial command" ); + + pService = CPhoneHandlerVoiceDial::NewL( *this ); + break; + } + case ERemConExtLastNumberRedial: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtLastNumberRedial command" ); - - pService = CPhoneHandlerLastNumberRedial::NewL( *this ); - break; - } - - case ERemConExt3WaysCalling: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExt3WaysCalling command" ); - - pService = CPhoneHandlerMultipartyCall::NewL( *this ); - break; - } - - case ERemConExtGenerateDTMF: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtGenerateDTMF command" ); - - pService = CPhoneHandlerDTMF::NewL( *this ); - break; - } - + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtLastNumberRedial command" ); + + pService = CPhoneHandlerLastNumberRedial::NewL( *this ); + break; + } + + case ERemConExt3WaysCalling: + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExt3WaysCalling command" ); + + pService = CPhoneHandlerMultipartyCall::NewL( *this ); + break; + } + + case ERemConExtGenerateDTMF: + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtGenerateDTMF command" ); + + pService = CPhoneHandlerDTMF::NewL( *this ); + break; + } + case ERemConExtSpeedDial: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtSpeedDial command" ); - - InitializeSpeedDialL(); - pService = CPhoneHandlerDialCall::NewL( *this, - aOperation ); - break; - } - + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() - ERemConExtSpeedDial command" ); + + InitializeSpeedDialL(); + pService = CPhoneHandlerDialCall::NewL( *this, + aOperation ); + break; + } + default: - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() Unspecified state" ); - break; - } + { + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() Unspecified state" ); + break; + } }; COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() end, %d", pService ); @@ -747,33 +727,38 @@ // void CPhoneHandlerControl::InitializeSpeedDialL() { + +// <-- QT PHONE START --> +/* COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() start" ); // first check contack engine is not in busy TInt cntEngState( 0 ); - TInt err = iProperty.Get( KUidSystemCategory, conn::KUidBackupRestoreKey, cntEngState ); + TInt err = iProperty.Get( KUidSystemCategory, conn::KUidBackupRestoreKey, cntEngState ); - if( err == KErrNotFound || cntEngState == 0 || - cntEngState & conn::KBURPartTypeMask == conn::EBURNormal || - cntEngState & conn::KBackupIncTypeMask == conn::ENoBackup ) - { - // Get phone number from phonebook by index - CPbkContactEngine* ptr = CPbkContactEngine::NewL(); + if( err == KErrNotFound || cntEngState == 0 || + cntEngState & conn::KBURPartTypeMask == conn::EBURNormal || + cntEngState & conn::KBackupIncTypeMask == conn::ENoBackup ) + { + // Get phone number from phonebook by index + CPbkContactEngine* ptr = CPbkContactEngine::NewL(); CleanupStack::PushL( ptr ); - TRACE_ASSERT( ptr != NULL ); - ptr->GetSpeedDialFieldL( iIndex, iTelNumber ); - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() speed dial number is %S", &iTelNumber ); - CleanupStack::PopAndDestroy( ptr ); - } - else - { - // contact engine is in busy - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() contact engine is in backup/restore" ); - User::Leave( KErrInUse ); - } - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() end" ); - } + TRACE_ASSERT( ptr != NULL ); + ptr->GetSpeedDialFieldL( iIndex, iTelNumber ); + COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() speed dial number is %S", &iTelNumber ); + CleanupStack::PopAndDestroy( ptr ); + } + else + { + // contact engine is in busy + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() contact engine is in backup/restore" ); + User::Leave( KErrInUse ); + } +*/ +// <-- QT PHONE END --> + + COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::InitializeSpeedDialL() end" ); + } // ----------------------------------------------------------------------------- // CPhoneHandlerControl::SwitchCall @@ -783,52 +768,7 @@ TBool CPhoneHandlerControl::SwitchCall() { return iSwitchCall; - } - -// --------------------------------------------------------- -// CPhoneHandlerControl::IsAutoLockOn -// --------------------------------------------------------- -// -TBool CPhoneHandlerControl::IsAutoLockOn() const - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::IsAutoLockOn() start " ); - TInt err( KErrNone ); - TInt value( EAutolockStatusUninitialized ); - - err = RProperty::Get( KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, value ); - if ( err != KErrNone ) - { - value = err; - } - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::IsAutoLockOn() autolock value = %d", value ); - - return value > EAutolockOff ? ETrue : EFalse; - - } -// --------------------------------------------------------- -// CPhoneHandlerControl::IsBTAccessoryCmd -// --------------------------------------------------------- -// -TBool CPhoneHandlerControl::IsBTAccessoryCmd() const - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::IsBTAccessoryCmd() start " ); - TBool retval( EFalse ); - - TRemConExtCmdSource source; - iTarget->GetCommandSourceInfo( source ); - if ( source == ERemConExtCmdSourceBluetooth ) - { - retval = ETrue; - } - - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::IsBTAccessoryCmd() GetCommandSourceInfo = %d", source ); - - return retval; - } - - - - + } // ======================== OTHER EXPORTED FUNCTIONS =========================== // End of File