apengine/apeng/src/APUtils.cpp
changeset 61 8b0c979bbe8c
parent 59 2709c04a4af5
child 70 ac5daea24fb0
--- a/apengine/apeng/src/APUtils.cpp	Fri Sep 03 09:38:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1469 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Declaration of the class CApUtils
-*     Contains utility functions for access point handling
-*
-*/
-
-
-// INCLUDE FILES
-#include "APEngineVariant.hrh"
-
-#include "ApUtils.h"
-#include "ApAccessPointItem.h"
-#include "ApDataHandler.h"
-#include "ApEngineCommons.h"
-#include "ApEngineLogger.h"
-#include <e32des16.h>
-#include <es_sock.h>
-#include <es_enum.h>
-
-#include    <featmgr.h>
-
-#include <WlanCdbCols.h>
-
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// construct/destruct/copy
-// ---------------------------------------------------------
-// CApUtils::NewLC
-// ---------------------------------------------------------
-//
-EXPORT_C CApUtils* CApUtils::NewLC( CCommsDatabase& aDb )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::NewLC" ) ) );
-
-    CApUtils* db = new( ELeave ) CApUtils;
-    CleanupStack::PushL( db );
-    db->ConstructL( aDb );
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::NewLC" ) ) );
-    return db;
-    }
-
-
-
-// Destructor
-// ---------------------------------------------------------
-// CApUtils::~CApUtils
-// ---------------------------------------------------------
-//
-EXPORT_C CApUtils::~CApUtils()
-    {
-    if ( iExt )
-        {
-        if ( iExt->iIsFeatureManagerInitialised )
-            {
-            FeatureManager::UnInitializeLib();
-            }
-        }    
-    delete iExt;
-    CLOG( ( EUtil, 0, _L( "<-> CApUtils::~CApUtils" ) ) );
-    }
-
-
-// C++ default constructor can NOT contain any code that
-// might leave.
-//
-// ---------------------------------------------------------
-// CApUtils::CApUtils
-// ---------------------------------------------------------
-//
-EXPORT_C CApUtils::CApUtils()
-    {
-    }
-
-
-// Symbian OS default constructor can leave.
-// ---------------------------------------------------------
-// CApUtils::ConstructL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::ConstructL( CCommsDatabase& aDb )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::ConstructL" ) ) );
-
-    iDb = &aDb;
-    iExt = new ( ELeave )TUtilsExtra;
-    
-    FeatureManager::InitializeLibL();
-    iExt->iIsFeatureManagerInitialised = ETrue;    
-
-    iExt->iVariant = ApCommons::GetVariantL();
-#ifdef __TEST_CDMA_WRITE_PROTECT
-    iExt->iVariant |= KApUiEditOnlyVPNs;
-#endif // __TEST_CDMA_WRITE_PROTECT
-
-    iExt->iWlanSupported = 
-        FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    
-    
-#ifdef __TEST_WLAN_SUPPORT
-    iExt->iWlanSupported = ETrue;
-#endif // __TEST_WLAN_SUPPORT
-    
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::ConstructL" ) ) );
-    }
-
-
-
-
-
-// utilities
-
-// ---------------------------------------------------------
-// CApUtils::IsAPInUseL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::IsAPInUseL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::IsAPInUseL" ) ) );
-
-
-
-    TBool retval( EFalse );
-#ifdef __WINS__
-    // just to satisfy compiler...
-    aUid++;
-#else // 
-    RSocketServ rs;
-    RConnection rc;
-
-    TUint32 iap( 0 );
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb, ETrue );
-    TRAP_IGNORE( iap = IapIdFromWapIdL( aUid ) );
-
-    User::LeaveIfError( rs.Connect() );    
-    User::LeaveIfError( rc.Open( rs ) );
-
-    TUint count( 0 );
-    User::LeaveIfError( rc.EnumerateConnections( count ) );
-    // Go on only if there is any
-    if ( count )
-        {
-        for( TUint i = 1; i <= count; i++)
-            {
-            TPckgBuf<TConnectionInfo> connInfo;
-            User::LeaveIfError( rc.GetConnectionInfo( i, connInfo ) );
-            if ( iap == connInfo().iIapId )
-                { 
-                // IAP is in use, break
-                retval = ETrue;
-                break;
-                }
-            }
-        }
-
-    rc.Close();
-    rs.Close();    
-
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-#endif // __WINS__     
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::IsAPInUseL" ) ) );
-    return ( retval );
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApUtils::WapBearerTypeL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::WapBearerTypeL( TUint32 aUid, TDes& aBearer )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::WapBearerTypeL" ) ) );
-    
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-
-    DoWapBearerTypeL( aUid, aBearer );
-
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::WapBearerTypeL" ) ) );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::BearerTypeL
-// ---------------------------------------------------------
-//
-EXPORT_C TApBearerType CApUtils::BearerTypeL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::BearerTypeL" ) ) );
-    
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    TApBearerType retval = EApBearerTypeAllBearers;
-    retval = DoBearerTypeL( aUid );
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::BearerTypeL" ) ) );
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::ISPTypeL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::ISPTypeL( TUint32 aUid, TCommsDbIspType& aIspType )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::ISPTypeL" ) ) );
-
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    DoISPTypeL( aUid, aIspType );
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::ISPTypeL" ) ) );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::IsValidNameL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::IsValidNameL( const TDesC& aNameText )
-    {
-    CLOG( ( EUtil, 0, _L( "<-> CApUtils::IsValidNameL" ) ) );
-    
-    return IsValidNameL( aNameText, 0 );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::MakeValidName
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::MakeValidNameL( TDes& aNameText )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::MakeValidNameL" ) ) );
-   
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-
-    HBufC* buf = HBufC::NewLC( KModifiableTextLength );
-    TPtr ptr( buf->Des() );
-    ptr.Copy( aNameText );
-    TBool nameChanged( EFalse );
-    HBufC* sgd = ApCommons::DoMakeValidNameL( *iDb,
-                                               nameChanged,
-                                               buf,
-                                               0,
-                                               EFalse );
-
-    if ( nameChanged )
-        {
-        aNameText.Copy( *sgd );
-        }
-    CleanupStack::PopAndDestroy( buf ); // buf
-    delete sgd;
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::MakeValidNameL" ) ) );
-    return nameChanged;
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::NameL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::NameL( TUint32 aUid, TDes& aName )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::NameL" ) ) );
-
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    DoNameL( aUid, aName );
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::NameL" ) ) );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::SetNameL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::SetNameL( TDes& aName, TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::SetNameL" ) ) );
-
-    if ( iExt->iVariant & KApUiEditOnlyVPNs )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    DoSetNameL( aName, aUid );
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::SetNameL" ) ) );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::SetISPTypeL
-// ---------------------------------------------------------
-//
-EXPORT_C void CApUtils::SetISPTypeL( TUint32 aUid, TCommsDbIspType aIspType )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::SetISPTypeL" ) ) );
-
-    if ( iExt->iVariant & KApUiEditOnlyVPNs )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    DoSetISPTypeL( aUid, aIspType );
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::SetISPTypeL" ) ) );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::IapIdFromWapIdL
-// ---------------------------------------------------------
-//
-EXPORT_C TUint32 CApUtils::IapIdFromWapIdL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::IapIdFromWapIdL" ) ) );
-    
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    TUint32 retval( 0 );
-
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT),
-                                       TPtrC(COMMDB_ID), aUid );
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-
-    HBufC* wapBearer = ApCommons::ReadText16ValueLC
-                                                (
-                                                wapt,
-                                                TPtrC(WAP_CURRENT_BEARER)
-                                                );
-
-    if ( *wapBearer == TPtrC(WAP_IP_BEARER) )
-        {
-        CCommsDbTableView* bearert;
-        bearert = iDb->OpenViewMatchingUintLC( TPtrC(*wapBearer),
-                                            TPtrC(WAP_ACCESS_POINT_ID), aUid );
-        User::LeaveIfError( bearert->GotoFirstRecord() );
-        ApCommons::ReadUintL( bearert, TPtrC(WAP_IAP), retval );
-        CleanupStack::PopAndDestroy( bearert ); // bearert
-        }
-    else
-        {
-        User::Leave( KErrInvalidBearerType );
-        }
-    CleanupStack::PopAndDestroy( 2, wapt ); // wapBearer, wapt
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::IapIdFromWapIdL" ) ) );
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::WapIdFromIapIdL
-// ---------------------------------------------------------
-//
-EXPORT_C TUint32 CApUtils::WapIdFromIapIdL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::WapIdFromIapIdL" ) ) );
-
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    TUint32 retval( 0 );
-
-    CCommsDbTableView* bearert;
-    bearert = iDb->OpenViewMatchingUintLC( TPtrC(WAP_IP_BEARER),
-                                          TPtrC(WAP_IAP), aUid );
-    User::LeaveIfError( bearert->GotoFirstRecord() );
-    ApCommons::ReadUintL( bearert, TPtrC(WAP_ACCESS_POINT_ID), retval );
-    CleanupStack::PopAndDestroy( bearert ); // bearert
-
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::WapIdFromIapIdL" ) ) );
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::HasMandatoryFieldsFilledL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::HasMandatoryFieldsFilledL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::HasMandatoryFieldsFilledL" ) ) );
-
-    TBool retval( EFalse );
-    TBool isOwn = ApCommons::StartPushedTransactionLC( *iDb );
-    retval= DoHasMandatoryFieldsFilledL( aUid );
-    if ( isOwn )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::HasMandatoryFieldsFilledL" ) ) );
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::IAPExistsL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::IAPExistsL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "<-> CApUtils::IAPExistsL" ) ) );
-
-    return DoesExistsL( TPtrC( IAP ), aUid );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::WapApExistsL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::WapApExistsL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "<-> CApUtils::WapApExistsL" ) ) );
-
-    return DoesExistsL( TPtrC( WAP_ACCESS_POINT ), aUid );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::DoHasMandatoryFieldsFilledL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::DoHasMandatoryFieldsFilledL(
-                                                  TUint32 aUid,
-                                                  CCommsDbTableView* aWapt,
-                                                  TApBearerType aBearertype )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoHasMandatoryFieldsFilledL" ) ) );
-    
-    TBool retval( EFalse );
-    TInt need2pop( 0 );
-    // if not contains, retval = False...
-    // Mandatory WAP settings are:
-    // CSD: StartPage, GatewayAddr
-    // Note: SMS bearer had been dropped.
-    // SMS: ServerNumber, ServiceNumber
-    // Gprs: StartPage, GatewayAddr
-    // Cdma: StartPage, GatewayAddr
-    // Start with CSD/GPRS:
-
-    if ( aBearertype == EApBearerTypeAllBearers )
-        {
-        aBearertype = BearerTypeL( aUid );
-        }
-    if ( aBearertype == EApBearerTypeAllBearers )
-        {
-        User::Leave( KErrInvalidBearerType );
-        }
-
-    if ( !aWapt )
-        {
-        aWapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT ),
-                                             TPtrC( COMMDB_ID ), aUid );
-        need2pop++;
-        TInt res = aWapt->GotoFirstRecord();
-        if ( res != KErrNone )
-            {
-            aWapt = NULL;
-            User::Leave( res );
-            }
-        }
-    switch ( aBearertype )
-        {
-        case EApBearerTypeCSD:
-        case EApBearerTypeHSCSD:
-        case EApBearerTypeGPRS:
-        case EApBearerTypeCDMA:
-            {
-            TInt aLength( 0 );
-            aWapt->ReadColumnLengthL( TPtrC(WAP_START_PAGE), aLength );
-            if ( aLength )
-                {
-                CCommsDbTableView* bearert = iDb->OpenViewMatchingUintLC(
-                                                TPtrC(WAP_IP_BEARER),
-                                                TPtrC(WAP_ACCESS_POINT_ID),
-                                                aUid );
-                User::LeaveIfError( bearert->GotoFirstRecord() );
-                bearert->ReadColumnLengthL( TPtrC(WAP_GATEWAY_ADDRESS),
-                                            aLength );
-                if ( aLength )
-                    {
-                    HBufC* txtbuf = HBufC::NewLC( aLength );
-                    TPtr16 txt = txtbuf->Des();
-                    bearert->ReadTextL( TPtrC(WAP_GATEWAY_ADDRESS), txt );
-                    if ( txt.Compare( KDynIpAddress ) )
-                        {
-                        retval = ETrue;
-                        }
-                    }
-                CleanupStack::PopAndDestroy( 2, bearert ); // txtbuf,bearert
-                }
-            break;
-            }
-        default:
-            {
-            User::Leave( KErrInvalidBearerType );
-            break;
-            }
-        }
-    if ( need2pop )
-        {
-        CleanupStack::PopAndDestroy( need2pop );
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoHasMandatoryFieldsFilledL" ) ) );
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::IsValidNameL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::IsValidNameL( const TDesC& aNameText,
-                                       TUint32 aAcceptUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::IsValidNameL" ) ) );
-
-    // Valid name: it means the name of the Connection,
-    // that is the COMMDB_NAME in WAP_ACCESS_POINT table
-    //
-    TBool ret( ETrue ) ;
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb, ETrue );
-
-    HBufC* esc = ApCommons::EscapeTextLC( aNameText );
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingTextLC( TPtrC(WAP_ACCESS_POINT), 
-                                        TPtrC(COMMDB_NAME), 
-                                        *esc );
-
-    TInt res;
-    res = wapt->GotoFirstRecord(); // OK
-    do
-        {
-        if ( res == KErrNone )
-            {
-            // Check UID
-            TUint32 arecid;
-            ApCommons::ReadUintL( wapt, TPtrC(COMMDB_ID), arecid);
-            if ( arecid != aAcceptUid )
-                {
-                // some other record is already using this name,
-                // need to change it
-                ret = EFalse;
-                }
-            }
-        else
-            {
-            if ( res == KErrNotFound )
-                {
-                ret = ETrue;
-                }
-            else
-                {
-                User::Leave( res );
-                }
-            }
-        if ( ret && ( res == KErrNone ) )
-            {
-            res = wapt->GotoNextRecord();
-            }
-        }while ( ( res == KErrNone ) && ( ret ) );
-
-    CleanupStack::PopAndDestroy( wapt ); // wapt
-    CleanupStack::PopAndDestroy( esc ); // esc
-
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::IsValidNameL" ) ) );
-    return ret;
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::IsReadOnlyL
-// ---------------------------------------------------------
-//
-EXPORT_C TBool CApUtils::IsReadOnlyL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::IsReadOnlyL" ) ) );
-    
-    TBool retval( EFalse );
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb, ETrue );
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT),
-                                       TPtrC(COMMDB_ID), aUid );
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-    retval = ApCommons::DoGetReadOnlyL( *wapt );
-    CleanupStack::PopAndDestroy( wapt ); // wapt
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::IsReadOnlyL" ) ) );
-    return retval;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApUtils::IsWlanL
-// ---------------------------------------------------------
-//
-TBool CApUtils::IsWlanL( TUint32 aLanCommdbId )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::IsWlanL" ) ) );
-    
-    TBool retval( EFalse );
-    TRAPD( err, retval = DoIsWlanL( aLanCommdbId ) );
-    
-    if ( err == KErrNotFound )
-        {
-        retval = EFalse;
-        }
-    else
-        {
-        User::LeaveIfError( err );
-        }
-    
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::IsWlanL" ) ) );
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::HasWlanSSIDL
-// ---------------------------------------------------------
-//
-TBool CApUtils::HasWlanSSIDL( TUint32 aLanCommdbId )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::HasWlanSSIDL" ) ) );
-    
-    TBool retval( EFalse );
-    CCommsDbTableView* wlantable = NULL;
-
-    // WLAN settings table backlinks to LAN service, 
-    // so we query WLAN settings for a record 
-    // where WLAN_SERVICE_ID is LAN_SERVICE's COMMDB_ID, 
-    // which is aApItem.iIapServiceId...
-    wlantable = iDb->OpenViewMatchingUintLC( TPtrC(WLAN_SERVICE),
-                                             TPtrC(WLAN_SERVICE_ID),
-                                             aLanCommdbId );
-    TInt err = wlantable->GotoFirstRecord();
-    if ( err == KErrNotFound )
-        {
-        retval = EFalse;
-        }
-    else
-        {
-        User::LeaveIfError( err );
-        HBufC* wlanssid = ApCommons::ReadText16ValueLC
-                            ( wlantable, TPtrC(NU_WLAN_SSID) );
-        if ( wlanssid->Compare( KEmpty ) != 0 )
-            {            
-            retval = ETrue;
-            }
-        CleanupStack::PopAndDestroy( wlanssid );
-        }
-    CleanupStack::PopAndDestroy( wlantable );
-    
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::HasWlanSSIDL" ) ) );
-    return retval;
-    }
-
-
-// ==== OTHER PRIVATE/protected, NON-EXPORTED FUNCTIONS ====
-
-// ---------------------------------------------------------
-// CApUtils::DoWapBearerTypeL
-// ---------------------------------------------------------
-//
-void CApUtils::DoWapBearerTypeL( TUint32 aUid, TDes& aBearer )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoWapBearerTypeL" ) ) );
-    
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT),
-                                       TPtrC(COMMDB_ID), aUid );
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-    HBufC* wapBearer = ApCommons::ReadText16ValueLC
-                                            (
-                                            wapt,
-                                            TPtrC(WAP_CURRENT_BEARER)
-                                            );
-    if ( aBearer.MaxLength() < wapBearer->Length() )
-        {
-        User::Leave( KErrDescOverflow );
-        }
-    else
-        {
-        aBearer.SetLength( wapBearer->Length() );
-        aBearer.Format( KFormat, &*wapBearer );
-        }
-    CleanupStack::PopAndDestroy( 2, wapt );   // wapBearer, wapt
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoWapBearerTypeL" ) ) );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::DoBearerTypeL
-// ---------------------------------------------------------
-//
-TApBearerType CApUtils::DoBearerTypeL( TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoBearerTypeL" ) ) );
-    
-    TApBearerType retval = EApBearerTypeAllBearers;
-
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT), 
-                                        TPtrC(COMMDB_ID), 
-                                        aUid );
-    
-    // TRAPped for some record that doesn't have a WAP -table. 
-    // If KErrNotFound, then just return EApBearerTypeWLAN
-    TInt wapErr = wapt->GotoFirstRecord();
-    if ( wapErr == KErrNotFound )
-        {
-        CleanupStack::PopAndDestroy( wapt );
-        return EApBearerTypeWLAN;
-        }
-    else
-    	{
-    	User::LeaveIfError( wapErr );
-    	}
-    
-    HBufC* wapBearer = ApCommons::ReadText16ValueLC
-                                            (
-                                            wapt,
-                                            TPtrC(WAP_CURRENT_BEARER)
-                                            );
-
-    CCommsDbTableView* bearert = iDb->OpenViewMatchingUintLC( *wapBearer,
-                                          TPtrC(WAP_ACCESS_POINT_ID), aUid );
-
-    User::LeaveIfError( bearert->GotoFirstRecord() );
-    // decide which bearer, read bearer spec. data.
-    if ( *wapBearer == TPtrC(WAP_IP_BEARER) )
-        {
-        TUint32 wapIap;
-        ApCommons::ReadUintL( bearert, TPtrC(WAP_IAP), wapIap );
-
-        CCommsDbTableView* iapt = iDb->OpenViewMatchingUintLC( TPtrC(IAP),
-                                               TPtrC(COMMDB_ID), wapIap );
-
-        User::LeaveIfError( iapt->GotoFirstRecord() );
-        HBufC* aIapServiceType = ApCommons::ReadText16ValueLC
-                                        (
-                                        iapt,
-                                        TPtrC(IAP_SERVICE_TYPE)
-                                        );
-        if ( ( *aIapServiceType == TPtrC(DIAL_OUT_ISP) ) ||
-             ( *aIapServiceType == TPtrC(DIAL_IN_ISP) ) )
-            {
-            // need to get 'speed' data ( HS or normal CSD )
-            TUint32 wapIsp;
-            ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), wapIsp );
-            CCommsDbTableView* ispt = iDb->OpenViewMatchingUintLC(
-                                            *aIapServiceType,
-                                            TPtrC(COMMDB_ID),
-                                            wapIsp );
-            User::LeaveIfError( ispt->GotoFirstRecord() );
-            TUint32 bear;
-            if ( ApCommons::ReadUintL( ispt, TPtrC(ISP_BEARER_TYPE), bear )
-                                  == KErrUnknown )
-                {
-                bear = EBearerTypeCSD;
-                }
-            if ( bear == EBearerTypeCSD )
-                {
-                retval = EApBearerTypeCSD;
-                }
-            else
-                {
-                if ( bear == EBearerTypeHSCSD )
-                    {
-                    retval = EApBearerTypeHSCSD;
-                    }
-                else
-                    {
-                    User::Leave( KErrInvalidBearer );
-                    }
-                }
-            CleanupStack::PopAndDestroy( ispt ); // ispt
-            }
-        else
-            {
-            if ( ( *aIapServiceType == TPtrC(OUTGOING_WCDMA) ) ||
-                 ( *aIapServiceType == TPtrC(INCOMING_WCDMA) ) )
-                {
-                retval = EApBearerTypeGPRS;
-                }
-            else
-                { // some other bearer, currently it might be VPN or WLAN
-                if ( *aIapServiceType == TPtrC(VPN_SERVICE) ) 
-                    { // Get real VPN bearertype...
-                    TUint32 service;
-                    ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), service );
-
-                    CCommsDbTableView* ispt;
-                    ispt = iDb->OpenViewMatchingUintLC( TPtrC(VPN_SERVICE),
-                                                        TPtrC(COMMDB_ID), 
-                                                        service );
-                    User::LeaveIfError( ispt->GotoFirstRecord() );
-                    TUint32 tempint;
-                    HBufC* buf = NULL;
-                    // get the real iap
-                    ApCommons::ReadUintL( ispt, 
-                                          TPtrC(VPN_SERVICE_IAP), 
-                                          tempint );
-
-                    // now open the real IAP an get it's bearer...
-                    CCommsDbTableView* iapt2 = NULL;
-                    iapt2 = iDb->OpenViewMatchingUintLC( TPtrC(IAP),
-                                                         TPtrC(COMMDB_ID), 
-                                                         tempint );                                                         
-                    User::LeaveIfError( iapt2->GotoFirstRecord() );
-
-                    buf = ApCommons::ReadText16ValueLC( iapt2, 
-                                                 TPtrC(IAP_SERVICE_TYPE) );
-                    TUint32 service2;
-                    ApCommons::ReadUintL( iapt2, TPtrC(IAP_SERVICE), 
-                                          service2 );
-
-                    if ( ( buf->Compare( TPtrC(OUTGOING_WCDMA ) ) == 0 ) ||
-                        ( buf->Compare( TPtrC(INCOMING_WCDMA ) ) == 0 ) )
-                        {
-                        retval = EApBearerTypeGPRS;
-                        }
-                    else
-                        {
-                        if ( ( buf->Compare( TPtrC(DIAL_OUT_ISP ) ) == 0 ) ||
-                            ( buf->Compare( TPtrC(DIAL_IN_ISP ) ) == 0 ) )
-                            {
-                            // need to get ISP,
-                            CCommsDbTableView* doutt = NULL;
-                            doutt = iDb->OpenViewMatchingUintLC( 
-                                            *buf,
-                                            TPtrC(COMMDB_ID), 
-                                            service2 );
-                                            
-                            User::LeaveIfError( doutt ->GotoFirstRecord() );
-                            ApCommons::ReadUintL( doutt , 
-                                                  TPtrC(ISP_BEARER_TYPE), 
-                                                  tempint );
-                            if ( tempint == EBearerTypeCSD )
-                                {
-                                retval  = EApBearerTypeCSD;
-                                }
-                            else
-                                {
-                                retval = EApBearerTypeHSCSD;
-                                }
-                            CleanupStack::PopAndDestroy( doutt ); // doutt
-                            }
-                        else
-                            { 
-                            // VPN, having a bearer something 
-                            // else than CSD, HSCSD & GPRS?
-                            // check for WLAN
-                            if ( iExt->iWlanSupported )
-                                {
-                                if ( buf->Compare( TPtrC(LAN_SERVICE) ) == 0 )
-                                    { // LAN or WLAN
-                                    if ( IsWlanL( service2 ) )
-                                        {
-                                        retval = EApBearerTypeWLAN;
-                                        }
-                                    else
-                                        {
-                                        User::Leave( KErrInvalidBearer );
-                                        }
-                                    }
-                                else
-                                    {
-                                    User::Leave( KErrInvalidBearer );
-                                    }
-                                }
-                            else
-                                {
-                                User::Leave( KErrInvalidBearer );
-                                }
-                            }
-                        }
-                    CleanupStack::PopAndDestroy( 3, ispt ); // buf, iapt2, ispt
-                    }
-                else
-                    { // other, but not VPN, check for WLAN
-                    if ( iExt->iWlanSupported )
-                        {
-                        if ( *aIapServiceType == TPtrC(LAN_SERVICE) ) 
-                            { // check existence...
-                            TUint32 service;
-                            TUint32 bearer;
-                            ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), 
-                                                  service );
-                            ApCommons::ReadUintL( iapt, TPtrC(IAP_BEARER), 
-                                                  bearer );
-
-
-                            CCommsDbTableView* ispt;
-                            ispt = iDb->OpenViewMatchingUintLC( 
-                                                    TPtrC(LAN_SERVICE),
-                                                    TPtrC(COMMDB_ID), 
-                                                    service );
-                            User::LeaveIfError( ispt->GotoFirstRecord() );
-                            // now we know it is either WLAN or some kinda LAN
-                            if ( IsWlanL( service ) )
-                                {
-                                retval = EApBearerTypeWLAN;
-                                }
-                            else
-                                { // other, 
-                                // check for LANModem first, then for LAN
-                                CCommsDbTableView* lanbearer;
-                                lanbearer = 
-                                    iDb->OpenViewMatchingUintLC( 
-                                                TPtrC(LAN_BEARER),
-                                                TPtrC(COMMDB_ID), 
-                                                bearer );
-                                User::LeaveIfError( 
-                                        lanbearer->GotoFirstRecord() );
-                                // LANMODEM? check commdb_name
-                                HBufC* lbuf;
-                                lbuf = ApCommons::ReadText16ValueLC( lanbearer,
-                                                         TPtrC(COMMDB_NAME) );
-                                // if it is KModemBearerLANModem, 
-                                // it is LANModem
-                                if ( *lbuf == KModemBearerLANModem )
-                                    {
-                                    retval = EApBearerTypeLANModem;
-                                    }
-                                else
-                                    {
-    #ifdef __TEST_LAN_BEARER
-                                    // LAN?
-                                    if ( *lbuf == KModemBearerLAN )
-                                        {                                
-                                        retval = EApBearerTypeLAN;
-                                        }
-                                    else
-                                        {
-                                        // other, but not VPN, or not supported
-                                        User::Leave( KErrInvalidBearer );
-                                        }
-    #else
-                                // other, but not VPN, or not supported
-                                User::Leave( KErrInvalidBearer );
-    #endif // __TEST_LAN_BEARER           
-                                    }
-                                CleanupStack::PopAndDestroy( lbuf );
-                                CleanupStack::PopAndDestroy( lanbearer );
-                                }
-                            CleanupStack::PopAndDestroy( ispt );
-                            }
-                        }
-                    else
-                        {                        
-    #ifdef __TEST_LAN_BEARER
-                        if ( *aIapServiceType == TPtrC(LAN_SERVICE) ) 
-                            { // check existence...
-                            TUint32 service;
-                            TUint32 bearer;
-                            ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), 
-                                                  service );
-                            ApCommons::ReadUintL( iapt, TPtrC(IAP_BEARER), 
-                                                  bearer );
-
-                            CCommsDbTableView* ispt;
-                            ispt = iDb->OpenViewMatchingUintLC( 
-                                                    TPtrC(LAN_SERVICE),
-                                                    TPtrC(COMMDB_ID), 
-                                                    service );
-                            User::LeaveIfError( ispt->GotoFirstRecord() );
-                            // now we know it is some kinda LAN
-                            // check for LANModem first, then for LAN
-                            CCommsDbTableView* lanbearer;
-                            lanbearer = 
-                                iDb->OpenViewMatchingUintLC( 
-                                            TPtrC(LAN_BEARER),
-                                            TPtrC(COMMDB_ID), 
-                                            bearer );
-                            User::LeaveIfError( 
-                                    lanbearer->GotoFirstRecord() );
-                            // LANMODEM? check commdb_name
-                            HBufC* lbuf;
-                            lbuf = ApCommons::ReadText16ValueLC( lanbearer,
-                                                         TPtrC(COMMDB_NAME) );
-                            // if it is KModemBearerLANModem, it is LANModem
-                            if ( *lbuf == KModemBearerLANModem )
-                                {
-                                retval = EApBearerTypeLANModem;
-                                }
-                            else
-                                {
-                                // LAN?
-                                if ( *lbuf == KModemBearerLANModem )
-                                    {                                
-                                    retval = EApBearerTypeLAN;
-                                    }
-                                else
-                                    {
-                                    // other, but not VPN, or not supported
-                                    User::Leave( KErrInvalidBearer );
-                                    }
-                                }
-                            CleanupStack::PopAndDestroy( lbuf );
-                            CleanupStack::PopAndDestroy( lanbearer );
-                            CleanupStack::PopAndDestroy( ispt );
-                            }
-                        else
-                            {// other, but not LAN
-                            User::Leave( KErrInvalidBearer );
-                            }
-    #endif // __TEST_LAN_BEARER 
-                        }
-                    }
-                }
-            }
-        CleanupStack::PopAndDestroy( 2, iapt );// aIapServiceType, iapt
-        }
-    else
-        {
-        User::Leave( KErrInvalidBearer );
-        }
-
-    CleanupStack::PopAndDestroy( bearert ); // bearert
-    CleanupStack::Pop( wapBearer );    // wapBearer,
-    // cannot PopAndDestroy because it has been re-allocated !
-    delete wapBearer;
-    CleanupStack::PopAndDestroy( wapt );    // wapt
-
-    if ( retval == EApBearerTypeAllBearers )
-        {
-        User::Leave( KErrInvalidBearer );
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoBearerTypeL" ) ) );
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::DoISPTypeL
-// ---------------------------------------------------------
-//
-void CApUtils::DoISPTypeL( TUint32 aUid, TCommsDbIspType& aIspType )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoISPTypeL" ) ) );
-    
-    TCommsDbIspType retval = EIspTypeInternetAndWAP;
-
-    CCommsDbTableView* wapt;
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT), 
-                                        TPtrC(COMMDB_ID), 
-                                        aUid );
-
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-    HBufC* wapBearer = ApCommons::ReadText16ValueLC
-                                        (
-                                        wapt,
-                                        TPtrC(WAP_CURRENT_BEARER)
-                                        );
-
-    if ( *wapBearer == TPtrC(WAP_IP_BEARER) )
-        {
-        CCommsDbTableView* bearert;
-        bearert = iDb->OpenViewMatchingUintLC( TPtrC(*wapBearer), 
-                                               TPtrC(WAP_ACCESS_POINT_ID), 
-                                               aUid );
-
-        User::LeaveIfError( bearert->GotoFirstRecord() );
-        TUint32 aWapIap;
-        ApCommons::ReadUintL( bearert, TPtrC(WAP_IAP), aWapIap );
-        // now we have IAP uid, can go for Service type, ID
-
-        CCommsDbTableView* iapt;
-        iapt = iDb->OpenViewMatchingUintLC( TPtrC(IAP), 
-                                            TPtrC(COMMDB_ID), 
-                                            aWapIap );
-
-        User::LeaveIfError( iapt->GotoFirstRecord() );
-        HBufC* aIapServiceType = ApCommons::ReadText16ValueLC
-                                    (
-                                    iapt,
-                                    TPtrC(IAP_SERVICE_TYPE)
-                                    );
-        // decide which bearer, read bearer spec. data.
-        TUint32 aIsp;
-        ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), aIsp );
-
-        // No need to be defensive, if *aIapServiceType is invalid,
-        // it shall Leave,
-        // otherwise, we will handle the difference...
-        CCommsDbTableView* ispt = iDb->OpenViewMatchingUintLC(
-                                        *aIapServiceType,
-                                        TPtrC(COMMDB_ID), aIsp );
-        User::LeaveIfError( ispt->GotoFirstRecord() );
-        TUint32 sgd;
-        if ( ( *aIapServiceType == TPtrC(DIAL_OUT_ISP) ) ||
-             ( *aIapServiceType == TPtrC(DIAL_IN_ISP) ) )
-            { // get real IspType
-            ApCommons::ReadUintL( ispt, TPtrC(ISP_TYPE), sgd );
-            }
-        else
-            {
-            // OUTGOING_WCDMA/INCOMING_WCDMA
-            // read ISP type
-            ApCommons::ReadUintL( ispt, TPtrC(GPRS_AP_TYPE), sgd );
-            }
-        retval = TCommsDbIspType( sgd );
-        CleanupStack::PopAndDestroy( ispt ); // ispt
-        CleanupStack::Pop( aIapServiceType );// aIapServiceType,
-        // cannot PopAndDestroy because it has been re-allocated !
-        delete aIapServiceType;
-        CleanupStack::PopAndDestroy( 2, bearert ); // iapt, bearert
-        }
-    else
-        {
-        User::Leave( KErrInvalidBearer );
-        }
-
-    CleanupStack::Pop( wapBearer );    // wapBearer,
-    // cannot PopAndDestroy because it has been re-allocated !
-    delete wapBearer;
-    CleanupStack::PopAndDestroy( wapt );    // wapt
-    aIspType = retval;
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoISPTypeL" ) ) );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::DoNameL
-// ---------------------------------------------------------
-//
-void CApUtils::DoNameL( TUint32 aUid, TDes& aName )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoNameL" ) ) );
-
-    CCommsDbTableView* wapt = iDb->OpenViewMatchingUintLC(
-                                    TPtrC(WAP_ACCESS_POINT),
-                                    TPtrC(COMMDB_ID), aUid );
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-    HBufC* sgd = ApCommons::ReadText16ValueLC( wapt, TPtrC(COMMDB_NAME) );
-
-    if ( aName.MaxLength() < sgd->Length()  )
-        {
-        User::Leave( KErrDescOverflow );
-        }
-    else
-        {
-        aName.SetLength( sgd->Length() );
-        aName.Format( KFormat, &*sgd );
-        }
-    CleanupStack::PopAndDestroy( 2, wapt );   //  sgd, wapt
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoNameL" ) ) );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::DoSetNameL
-// ---------------------------------------------------------
-//
-void CApUtils::DoSetNameL( TDes& aName, TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoSetNameL" ) ) );
-
-    if ( iExt->iVariant & KApUiEditOnlyVPNs )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CCommsDbTableView* wapt;
-
-    wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT),
-                                       TPtrC(COMMDB_ID), aUid );
-    User::LeaveIfError( wapt->GotoFirstRecord() );
-    HBufC* aCurrent = ApCommons::ReadText16ValueLC( wapt,
-                                                     TPtrC(COMMDB_NAME) );
-    if ( *aCurrent != aName )
-        {
-        TBool aNameChanged( EFalse );
-        HBufC* namebuf = aName.AllocL();
-        CleanupStack::PushL( namebuf );
-        HBufC* sgd = ApCommons::DoMakeValidNameL
-                                        (
-                                        *iDb,
-                                        aNameChanged,
-                                        namebuf,
-                                        aUid,
-                                        EFalse
-                                        );
-        if ( aNameChanged )
-            {
-            aName.Copy( *sgd );
-            delete sgd;
-            }
-        CleanupStack::PopAndDestroy( namebuf ); // namebuf
-        User::LeaveIfError( wapt->UpdateRecord() );
-        wapt->WriteTextL( TPtrC(COMMDB_NAME), aName );
-        User::LeaveIfError( wapt->PutRecordChanges() );
-        }
-    CleanupStack::PopAndDestroy( 2, wapt );   // aCurrent,wapt
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoSetNameL" ) ) );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::DoSetISPTypeL
-// ---------------------------------------------------------
-//
-void CApUtils::DoSetISPTypeL( TUint32 aUid, TCommsDbIspType aIspType )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoSetISPTypeL" ) ) );
-
-    if ( iExt->iVariant & KApUiEditOnlyVPNs )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    // first check requested ISP-type validity
-    if ( ( aIspType == EIspTypeInternetOnly ) ||
-        ( aIspType == EIspTypeWAPOnly ) ||
-        ( aIspType == EIspTypeInternetAndWAP ) )
-        {
-        CCommsDbTableView* wapt;
-        wapt = iDb->OpenViewMatchingUintLC( TPtrC(WAP_ACCESS_POINT),
-                                           TPtrC(COMMDB_ID), aUid );
-        User::LeaveIfError( wapt->GotoFirstRecord() );
-        HBufC* wapBearer = ApCommons::ReadText16ValueLC
-                                            (
-                                            wapt,
-                                            TPtrC(WAP_CURRENT_BEARER)
-                                            );
-        if ( *wapBearer == TPtrC(WAP_IP_BEARER) )
-            {
-            CCommsDbTableView* bearert;
-            bearert = iDb->OpenViewMatchingUintLC(
-                            *wapBearer,
-                            TPtrC(WAP_ACCESS_POINT_ID), aUid );
-
-            User::LeaveIfError( bearert->GotoFirstRecord() );
-            TUint32 aWapIap;
-            ApCommons::ReadUintL( bearert, TPtrC(WAP_IAP), aWapIap );
-            // now we have IAP uid, can go for Service type, ID
-
-            CCommsDbTableView* iapt;
-            iapt = iDb->OpenViewMatchingUintLC( TPtrC(IAP),
-                                                TPtrC(COMMDB_ID),
-                                                aWapIap );
-            User::LeaveIfError( iapt->GotoFirstRecord() );
-
-            HBufC* aIapServiceType = ApCommons::ReadText16ValueLC
-                                            (
-                                            iapt,
-                                            TPtrC(IAP_SERVICE_TYPE)
-                                            );
-
-            // get ISP ID
-            TUint32 aIsp;
-            ApCommons::ReadUintL( iapt, TPtrC(IAP_SERVICE), aIsp );
-
-            CCommsDbTableView* ispt;
-            ispt = iDb->OpenViewMatchingUintLC( *aIapServiceType,
-                                                TPtrC(COMMDB_ID), aIsp );
-            User::LeaveIfError( ispt->GotoFirstRecord() );
-            // now we have it, just write:
-            User::LeaveIfError( ispt->UpdateRecord() );
-            // decide which bearer, write into bearer spec. column.
-            if ( ( *aIapServiceType == TPtrC(DIAL_OUT_ISP) ) ||
-                 ( *aIapServiceType == TPtrC(DIAL_IN_ISP) ) )
-                { // write real IspType
-                ispt->WriteUintL( TPtrC(ISP_TYPE), aIspType );
-                }
-            else
-                {
-                // OUTGOING_WCDMA / INCOMING_WCDMA
-                ispt->WriteUintL( TPtrC(GPRS_AP_TYPE), aIspType );
-                }
-            User::LeaveIfError( ispt->PutRecordChanges( EFalse, EFalse ) );
-            // ispt, aIapServiceType, iapt, bearert
-            CleanupStack::PopAndDestroy( 4, bearert );
-            }
-        else
-            {
-            User::Leave( KErrInvalidBearer );
-            }
-        CleanupStack::PopAndDestroy( 2, wapt );    // wapBearer, wapt
-        }
-    else
-        {
-        User::Leave( KErrInvalidIspRequest );
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoSetISPTypeL" ) ) );
-    }
-
-
-// ---------------------------------------------------------
-// CApUtils::DoesExistsL
-// ---------------------------------------------------------
-//
-TBool CApUtils::DoesExistsL( TPtrC aTable, TUint32 aUid )
-    {
-    CLOG( ( EUtil, 0, _L( "-> CApUtils::DoesExistsL" ) ) );
-    
-    TBool retval( EFalse );
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb, ETrue );
-    CCommsDbTableView* table;
-    table = iDb->OpenViewMatchingUintLC( aTable,
-                                       TPtrC(COMMDB_ID), aUid );
-    TInt res = table->GotoFirstRecord();
-    CleanupStack::PopAndDestroy( table ); // table
-    if ( res == KErrNone )
-        {
-        retval = ETrue;
-        }
-    if ( res != KErrNotFound )
-        {
-        User::LeaveIfError( res );
-        }
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoesExistsL" ) ) );
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApUtils::DoIsWlanL
-// ---------------------------------------------------------
-//
-TBool CApUtils::DoIsWlanL( TUint32 aLanCommdbId )
-    {
-    CLOG( ( EUtil, 1, _L( "-> CApUtils::DoIsWlanL" ) ) );
-    
-    TBool retval( EFalse );
-    
-    CCommsDbTableView* wlantable = NULL;
-
-    // WLAN settings table backlinks to LAN service, 
-    // so we query WLAN settings for a record 
-    // where WLAN_SERVICE_ID is LAN_SERVICE's COMMDB_ID, 
-    // which is aApItem.iIapServiceId...
-    wlantable = iDb->OpenViewMatchingUintLC( TPtrC(WLAN_SERVICE),
-                                             TPtrC(WLAN_SERVICE_ID),
-                                             aLanCommdbId );
-                                             
-    TInt err = wlantable->GotoFirstRecord();        
-    if ( err == KErrNotFound )
-        {
-        retval = EFalse;
-        }
-    else
-        {
-        User::LeaveIfError( err );
-        retval = ETrue;
-        }
-
-    CleanupStack::PopAndDestroy( wlantable );
-    
-    CLOG( ( EUtil, 1, _L( "<- CApUtils::DoIsWlanL" ) ) );
-    return retval;
-    }
-
-//  End of File