--- a/phoneapp/phoneuivoipextension/src/cphonestateutilsvoip.cpp Fri May 14 15:51:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,268 +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: Utility class for Voip-states.
-*
-*/
-
-#include <cphcltemergencycall.h>
-#include <mpeengineinfo.h>
-#include <cconvergedserviceselector.h>
-#include "cphonestateutilsvoip.h"
-#include "cphonelogger.h"
-#include "phoneconstants.h"
-#include "mphonestatemachine.h"
-#include "mphoneviewcommandhandle.h"
-#include "phoneui.pan"
-#include "tphonecmdparamstring.h"
-#include "cphonekeys.h"
-#include "tphonecmdparamselector.h"
-#include "phonestatedefinitionsvoip.h"
-
-const TInt KServiceId1 = 1;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::CPhoneStateUtilsVoip
-// C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CPhoneStateUtilsVoip::CPhoneStateUtilsVoip( MPhoneStateMachine& aStateMachine,
- MPhoneViewCommandHandle& aViewCommandHandle )
- :
- iStateMachine( aStateMachine ),
- iViewCommandHandle( aViewCommandHandle )
- {
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CPhoneStateUtilsVoip::ConstructL()
- {
- iBuffer = HBufC::NewL( KPhoneNumberEntryBufferSize );
- iEmergencyCall = CPhCltEmergencyCall::NewL( NULL );
- iServiceSelector = CConvergedServiceSelector::NewL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::NewL
-// ---------------------------------------------------------------------------
-//
-CPhoneStateUtilsVoip* CPhoneStateUtilsVoip::NewL(
- MPhoneStateMachine& aStateMachine,
- MPhoneViewCommandHandle& aViewCommandHandle )
- {
- CPhoneStateUtilsVoip* self = CPhoneStateUtilsVoip::NewLC(
- aStateMachine, aViewCommandHandle );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::NewLC
-// ---------------------------------------------------------------------------
-//
-CPhoneStateUtilsVoip* CPhoneStateUtilsVoip::NewLC(
- MPhoneStateMachine& aStateMachine,
- MPhoneViewCommandHandle& aViewCommandHandle )
- {
- CPhoneStateUtilsVoip* self = new( ELeave ) CPhoneStateUtilsVoip(
- aStateMachine, aViewCommandHandle );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::~CPhoneStateUtilsVoip
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CPhoneStateUtilsVoip::~CPhoneStateUtilsVoip()
- {
- delete iBuffer;
- delete iEmergencyCall;
- delete iServiceSelector;
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::DialVoIPL
-// ---------------------------------------------------------------------------
-//
-void CPhoneStateUtilsVoip::DialVoIPL( const TDesC& aNumber, TUint aServiceId )
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateUtilsVoip::DialVoIPL" );
-
- __ASSERT_DEBUG(
- iStateMachine.PhoneEngineInfo(), Panic( EPhoneCtrlInvariant ) );
-
- if ( 0 == aNumber.Compare( KNullDesC ) )
- {
- // Get the number entry contents
- HBufC *phoneNumber = HBufC::NewLC( KPhoneNumberEntryBufferSize );
- TPtr ptr( phoneNumber->Des() );
- TPhoneCmdParamString stringParam;
- stringParam.SetString( &ptr );
- iViewCommandHandle.ExecuteCommand(
- EPhoneViewGetNumberFromEntry,
- &stringParam );
-
- // Set the phone number
- iStateMachine.PhoneEngineInfo()->SetPhoneNumber( ptr );
-
- CleanupStack::PopAndDestroy( phoneNumber );
- }
- else
- {
- iStateMachine.PhoneEngineInfo()->SetPhoneNumber( aNumber );
- }
-
- // Make a call
- iStateMachine.PhoneEngineInfo()->SetServiceIdCommand( aServiceId );
- iStateMachine.PhoneEngineInfo()->SetCallTypeCommand( EPECallTypeVoIP );
- iStateMachine.SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::IsVoipPreferredCall
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneStateUtilsVoip::IsVoipPreferredCall( TUint& aServiceId )
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateUtilsVoip::IsVoipPreferredCall" );
-
- TBool isVoipPrefered( EFalse );
-
- CConvergedServiceSelector::TSsResult results;
- TInt result = iServiceSelector->GetCallingServiceByCallType( results,
- CConvergedServiceSelector::ESsVoiceCall, 0, ETrue );
-
- if ( KErrNone == result &&
- CConvergedServiceSelector::ESsVoipCall == results.iCallType )
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateUtilsVoip::IsVoipPreferred ETrue" );
- aServiceId = results.iServiceId;
- isVoipPrefered = ETrue;
- }
-
- return isVoipPrefered;
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::IsVoipNumberL
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneStateUtilsVoip::IsVoipNumber()
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateUtilsVoip::IsVoipNumberL" );
-
- TBool isVoipNumber = EFalse;
-
- TPtr ptr( iBuffer->Des() );
- TPhoneCmdParamString stringParam;
- stringParam.SetString( &ptr );
- iViewCommandHandle.ExecuteCommand(
- EPhoneViewGetNumberFromEntry, &stringParam );
-
- isVoipNumber = !CPhoneKeys::Validate( ptr );
-
- return isVoipNumber;
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::SelectServiceAndDialL
-// ---------------------------------------------------------------------------
-//
-void CPhoneStateUtilsVoip::SelectServiceAndDialL(
- const TDesC& aNumber,
- TUint aServiceId )
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateIdleVoIP::SelectServiceAndDialL" );
-
- TPhoneCmdParamSelector params;
-
- // Get the number entry contents
- TPtr ptr( iBuffer->Des() );
- TPhoneCmdParamString stringParam;
- stringParam.SetString( &ptr );
- iViewCommandHandle.ExecuteCommand(
- EPhoneViewGetNumberFromEntry,
- &stringParam );
-
- // Check the string
- TBool emergencyNumber = ( 0 == aNumber.Compare( KNullDesC ) ?
- IsEmergencyNumber( ptr ) :
- IsEmergencyNumber( aNumber ) );
-
- if ( emergencyNumber )
- {
- if ( 0 == aNumber.Compare( KNullDesC ) )
- {
- // Set the phone number from number entry
- iStateMachine.PhoneEngineInfo()->SetPhoneNumber( ptr );
- }
- else
- {
- iStateMachine.PhoneEngineInfo()->SetPhoneNumber( aNumber );
- }
-
- // Make a emergency call
- iStateMachine.PhoneEngineInfo()->SetServiceIdCommand( KServiceId1 );
- iStateMachine.PhoneEngineInfo()->SetCallTypeCommand(
- EPECallTypeCSVoice );
- iStateMachine.SendPhoneEngineMessage( MPEPhoneModel::EPEMessageDial );
- }
- else if ( 0 != aServiceId )
- {
- // Service id is known
- DialVoIPL( aNumber, aServiceId );
- }
- else if ( EPhoneViewResponseSuccess == iViewCommandHandle.HandleCommandL(
- EPhoneViewServiceSelection, ¶ms ) )
- {
- DialVoIPL( aNumber, params.ServiceId() );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CPhoneStateUtilsVoip::IsEmergencyNumber
-// ---------------------------------------------------------------------------
-//
-TBool CPhoneStateUtilsVoip::IsEmergencyNumber( const TDesC& aNumber ) const
- {
- __LOGMETHODSTARTEND( PhoneUIVoIPExtension,
- "CPhoneStateUtilsVoip::IsEmergencyNumber" );
-
- TBool emergencyNumber( EFalse );
- TInt error = iEmergencyCall->IsEmergencyPhoneNumber( aNumber, emergencyNumber );
-
- return ( KErrNone == error && emergencyNumber );
- }