diff -r 78df25012fda -r 12bc758d6a02 convergedcallengine/serviceselector/src/cssservicehandlervoice.cpp --- a/convergedcallengine/serviceselector/src/cssservicehandlervoice.cpp Fri Sep 17 17:09:13 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* Copyright (c) 2008 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: This module contains the implementation of -* : CSsServiceHandlerVoice class -* -*/ - - -// INCLUDE FILES -#include "cssservicehandlervoice.h" -#include "cssconnectionhandler.h" -#include "cssserviceutilities.h" -#include "csslogger.h" -#include - -// CONSTANTS -// CS service id. -const TInt KGSMServiceId = 1; - -// ================= MEMBER FUNCTIONS ======================================= - -// ----------------------------------------------------------------------------- -// CSsServiceHandlerVoice::CSsServiceHandlerVoice -// C++ constructor can NOT contain any code, that -// might leave. -// ----------------------------------------------------------------------------- -// -CSsServiceHandlerVoice::CSsServiceHandlerVoice - ( - // None. - ) - { - } - -// ----------------------------------------------------------------------------- -// CSsServiceHandlerVoice::ConstructL -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CSsServiceHandlerVoice::ConstructL() - { - iVoipUtils = CSPSettingsVoIPUtils::NewL(); - } - -// ----------------------------------------------------------------------------- -// CSsServiceHandlerVoice::NewL -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CSsServiceHandlerVoice* CSsServiceHandlerVoice::NewL - ( - // None. - ) - { - CSsServiceHandlerVoice* self = new ( ELeave ) CSsServiceHandlerVoice(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// Destructor -CSsServiceHandlerVoice::~CSsServiceHandlerVoice - ( - // None. - ) - { - delete iVoipUtils; - } - -// ----------------------------------------------------------------------------- -// CSsServiceHandlerVoice::ExecuteServiceSelectionL -// Gets the calling service by current call type and service id. -// ----------------------------------------------------------------------------- -// -void CSsServiceHandlerVoice::ExecuteServiceSelectionL - ( - CConvergedServiceSelector::TSsResult& aResult, - CConvergedServiceSelector::TSsCallType aCallType, - TUint /*aServiceId*/, - TBool /*aSendKey*/, - const TDesC& /*aString*/ - ) - { - CSSLOGSTRING("CSSelector::ExecuteVoice"); - - TUint prefService(0); - - if ( iVoipUtils->IsPreferredTelephonyVoIP() && - KErrNone == iVoipUtils->GetPreferredService( prefService ) && - IsServiceRegistered( prefService ) ) - { - CSSLOGSTRING("CSSelector::VoipAsPreferred"); - - // Preferred telephony value as voip and preferred (voip) service - // registered -> Change call type as voip and set correct service id. - SsServiceUtilities::SetServiceResult( aResult, - CConvergedServiceSelector::ESsVoipCall, - prefService, - ETrue ); - } - else - { - // Set (CS)voice call parameters - // CallType, Service id and GSM service is always "enabled" - SsServiceUtilities::SetServiceResult( aResult, - aCallType, - KGSMServiceId, - ETrue ); - } - - } - -// ----------------------------------------------------------------------------- -// CSsServiceHandlerVoice::IsServiceRegistered -// Checks is the service registered -// ----------------------------------------------------------------------------- -// -TBool CSsServiceHandlerVoice::IsServiceRegistered - ( - TUint aServiceId - ) const - { - TBool ret( EFalse ); - CSsConnectionHandler* connection = NULL; - - // Nothing to do if CCH client construction not succeed. - // So ignore the leave and cs call will be made. - TRAP_IGNORE( connection = CSsConnectionHandler::NewL() ); - - if ( connection ) - { - ret = connection->IsVoipServiceRegistered( aServiceId ); - delete connection; - } - - return ret; - } - -// ================= OTHER EXPORTED FUNCTIONS =============================== - -// End of File