diff -r f10336de0cd6 -r faa5ef4f80da bearermanagement/mpm/src/mpmdefaultconnection.cpp --- a/bearermanagement/mpm/src/mpmdefaultconnection.cpp Thu Jun 17 22:32:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,210 +0,0 @@ -/* -* Copyright (c) 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: Handles defualt connection logic -* -*/ - -#include -#include -#include -#include "mpmdefaultconnection.h" -#include "mpmserversession.h" //KShift8 -#include "mpmserver.h" -#include "mpmlogger.h" -#include "mpmcommsdataccess.h" - -using namespace CommsDat; -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::NewL -// --------------------------------------------------------------------------- -// -CMPMDefaultConnection* CMPMDefaultConnection::NewL( const CMPMServer* aServer) - { - CMPMDefaultConnection * self = new (ELeave) - CMPMDefaultConnection( aServer ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - - -// --------------------------------------------------------------------------- -// -// --------------------------------------------------------------------------- -// -CMPMDefaultConnection::~CMPMDefaultConnection() - { - } -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::SetDefaultIAP -// --------------------------------------------------------------------------- -// -TInt CMPMDefaultConnection::SetDefaultIAP( TInt aIapId ) - { - TInt err( KErrNone ); - //check validity - if( ( aIapId ) > 0 && ( aIapId <= KCDMaxRecords ) ) - { - iDefaultIapId = aIapId; - MPMLOGSTRING2( - "CMPMDefaultConnection::SetDefaultIAP Set default connection iap: %d", - aIapId) - } - else - { - err = KErrArgument; - MPMLOGSTRING2( - "CMPMDefaultConnection::SetDefaultIAP Invalid iap: %d", - aIapId) - } - return err; - } -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::ClearDefaultIAP -// --------------------------------------------------------------------------- -// -void CMPMDefaultConnection::ClearDefaultIAP() - { - iDefaultIapId = 0; - MPMLOGSTRING( "CMPMDefaultConnection::ClearDefaultIAP:\ - cleared default iap" ) - } -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::GetDefaultConnectionL -// --------------------------------------------------------------------------- -// -void CMPMDefaultConnection::GetDefaultConnectionL( TCmDefConnType& aMode, - TUint32& aConnection ) - { - // first option is registered default iap - if( iDefaultIapId ) - { - MPMLOGSTRING2( "CMPMDefaultConnection::GetDefaultConnectionL:\ - default iap set as id %d", iDefaultIapId ) - aMode = ECmDefConnConnectionMethod; - aConnection = iDefaultIapId; - } - else - { - MPMLOGSTRING( "CMPMDefaultConnection::GetDefaultConnectionL:\ - getting value from commsdat" ) - - // read global commsdat setting - // - TRAPD( err, ReadDefConnSettingL( aMode, aConnection ) ) - - if( err != KErrNone ) - { - //use default values - // - aMode = KDefaultMode; - aConnection = KDefaultConnectionId; - } - - MPMLOGSTRING3( "CMPMDefaultConnection::GetDefaultConnectionL: \ -found type %d, id %d", aMode, aConnection ) - - } - } - -// --------------------------------------------------------------------------- -// Constructor -// --------------------------------------------------------------------------- -// -CMPMDefaultConnection::CMPMDefaultConnection( const CMPMServer* aServer ) : - iServer( aServer ) - { - - } - -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::ConstructL -// --------------------------------------------------------------------------- -// -void CMPMDefaultConnection::ConstructL() - { - - } - -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::IntToCmDefConnType -// --------------------------------------------------------------------------- -// -TCmDefConnType CMPMDefaultConnection::IntToCmDefConnTypeL( const TUint& aInt ) - { - TCmDefConnType type( TCmDefConnType ( 0 ) ); - - if( aInt == ECmDefConnDestination ) - { - type = ECmDefConnDestination; - } - else if( aInt == ECmDefConnConnectionMethod ) - { - type = ECmDefConnConnectionMethod; - } - else - { - MPMLOGSTRING2( "CMPMDefaultConnection::IntToCmDefConnType:\ - incorrect value %d", aInt ) - User::Leave( KErrArgument ); - } - - return type; - } - -// --------------------------------------------------------------------------- -// CMPMDefaultConnection::ReadDefConnSetting -// --------------------------------------------------------------------------- -// -void CMPMDefaultConnection::ReadDefConnSettingL( TCmDefConnType& aType, - TUint32& aId ) - { - MPMLOGSTRING( "CMPMDefaultConnection::ReadDefConnSettingL " ) - CMDBSession* db = CMDBSession::NewLC( CMDBSession::LatestVersion() ); - TMDBElementId tableId = CCDDefConnRecord::TableIdL( *db ); - - // fetch value from commsdat using record set to be able - // to load any and all records in the table. - // we don't want to make assumptions on id - // - CMDBRecordSet * recordSet = new ( ELeave ) - CMDBRecordSet( tableId ); - CleanupStack::PushL( recordSet ); - recordSet->LoadL( *db ); - - CCDDefConnRecord* dconn = new (ELeave) CCDDefConnRecord( tableId ); - CleanupStack::PushL( dconn ); - if( recordSet->iRecords.Count() ) - { - // load the first entry found - dconn->SetElementId( CMPMCommsDatAccess::GetRealElementId( recordSet->iRecords[0] ) ); - dconn->LoadL( *db ); - aType = IntToCmDefConnTypeL( dconn->iDefConnType ); - aId = dconn->iDefConnUid; - } - else - { - // nothing found, use default value - // - MPMLOGSTRING( "CMPMDefaultConnection::ReadDefConnSettingL \ -no entry found" ) - aType = KDefaultMode; - aId = KDefaultConnectionId; - } - db->Close(); - CleanupStack::PopAndDestroy( dconn ); - CleanupStack::PopAndDestroy( recordSet ); - CleanupStack::PopAndDestroy( db ); - }