apengine/apsettingshandlerui/src/ApSettingsModel.cpp
changeset 61 8b0c979bbe8c
parent 59 2709c04a4af5
child 70 ac5daea24fb0
--- a/apengine/apsettingshandlerui/src/ApSettingsModel.cpp	Fri Sep 03 09:38:26 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1175 +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:  Implementation of CApSettingsModel.
-*
-*/
-
-
-// INCLUDE FILES
-#include "APSettingsHandlerUIVariant.hrh"
-
-#include <ActiveApDb.h>
-#include <ApListItemList.h>
-#include <ApListItem.h>
-#include <ApSelect.h>
-#include <apsetui.rsg>
-#include <VpnApEngine.h>
-#include <hlplch.h>
-#include <eikenv.h>
-#include <eikappui.h>
-#include <StringLoader.h>
-#include <featmgr.h>
-
-#include "ApSettingsHandlerUI.hrh"
-
-#include "ApSettingsModel.h"
-#include <ApSettingsHandlerCommons.h>
-#include "Apsettingsdeleteoperation.h"
-
-#include <sysutil.h>
-#include <ErrorUI.h>
-
-
-#include "ApNetworks.h"
-#include "FeatureManagerWrapper.h"
-
-#include <ApAccessPointItem.h>
-
-#include "ApSettingsHandlerLogger.h"
-
-//#define __TEST_PERFORMANCE
-
-// CONSTANTS
-
-
-
-
-/**
-* Estimated number of bytes in FFS for one writing operation. This amount
-* is checked to be available before each transaction which places write-lock.
-* Exact size is not known (because what happens in a transaction is unknown).
-* A typical access point is estimated to be less than ~2000 bytes; 
-* so assuming the typical operation of adding one access point 
-* (with database transaction overhead and safety) is estimated 
-* to be 2000 bytes. This should be a safe guess.
-*/
-LOCAL_C const TInt KEstimatedFfsUsage = 2000;
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CApSettingsModel::NewL
-// ---------------------------------------------------------
-//
-CApSettingsModel* CApSettingsModel::NewL( TInt aIspFilter, TInt aBearerFilter,
-                                          TInt aSortType, TInt aReqIpvType,
-                                          TVpnFilterType aVpnFilterType,
-                                          TInt aVariant,
-                                          TBool aIncludeEasyWlan,
-                                          TBool aNoEdit )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::NewL")    
-    CApSettingsModel* db = 
-        new( ELeave ) CApSettingsModel( aIspFilter, aBearerFilter, 
-                                        aSortType, aReqIpvType, aVariant,
-                                        aVpnFilterType, aIncludeEasyWlan,
-                                        aNoEdit );
-    CleanupStack::PushL( db );
-    db->ConstructL( NULL );
-    CleanupStack::Pop(); // db
-    APSETUILOGGER_LEAVEFN( EModel,"Model::NewL")    
-    return db;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::NewL
-// ---------------------------------------------------------
-//
-CApSettingsModel* CApSettingsModel::NewL( CActiveApDb& aDb, TInt aIspFilter,
-                                          TInt aBearerFilter, TInt aSortType,
-                                          TInt aReqIpvType, 
-                                          TVpnFilterType aVpnFilterType,
-                                          TInt aVariant,
-                                          TBool aIncludeEasyWlan,
-                                          TBool aNoEdit )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::NewL2")
-    CApSettingsModel* db = 
-        new( ELeave ) CApSettingsModel( aIspFilter, aBearerFilter, 
-                                        aSortType, aReqIpvType, aVariant,
-                                        aVpnFilterType, aIncludeEasyWlan,
-                                        aNoEdit );
-    CleanupStack::PushL( db );
-    db->ConstructL( &aDb );
-    CleanupStack::Pop(); // db
-    APSETUILOGGER_LEAVEFN( EModel,"Model::NewL2")    
-    return db;
-    }
-
-
-/**
-* Destructor.
-*/
-CApSettingsModel::~CApSettingsModel( )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"~Model")
-    delete iFeatureManagerWrapper;
-
-    delete iApData;
-    delete iUtils;
-    delete iVpnApEngine;
-    if ( iDbOwned )
-        {
-        delete iDb;
-        }
-    if (iop)
-        {
-        delete iop;
-        }
-
-    APSETUILOGGER_LEAVEFN( EModel,"~Model")    
-    }
-
-
-/**
-* Constructor
-*/
-CApSettingsModel::CApSettingsModel( TInt aIspFilter, TInt aBearerFilter, 
-                                    TInt aSortType, TInt aReqIpvType,
-                                    TInt aVariant,
-                                    TVpnFilterType aVpnFilterType,
-                                    TBool aIncludeEasyWlan,
-                                    TBool aNoEdit )
-
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model")
-    
-    iWepUiExitReason = 0;
-    iParams.iIspFilter = aIspFilter;
-    iParams.iBearerFilter = aBearerFilter;
-    iParams.iSortType = aSortType;
-    iReqIpvType = aReqIpvType;
-    iApData = NULL;
-    iDb = NULL;
-    iUtils = NULL;
-    iDbOwned = ETrue;
-    iVpnFilterType = aVpnFilterType;
-    iVariant = aVariant;
-    iIncludeEasyWlan = aIncludeEasyWlan;
-    iNoEdit = aNoEdit;
-    iInRefresh = EFalse;
-    iNeedRefresh = EFalse;
-    APSETUILOGGER_LEAVEFN( EModel,"Model")    
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::ConstructL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::ConstructL( CActiveApDb* aDb )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ConstructL")
-    if ( aDb )
-        {
-        iDbOwned = EFalse;
-        iDb = aDb;
-        }
-    else
-        {
-        iDb = CActiveApDb::NewL( EDatabaseTypeIAP );
-        iDbOwned = ETrue;
-        }
-    iApData = CApDataHandler::NewLC( *iDb->Database() );
-    CleanupStack::Pop( iApData ); // as it is a member
-    iUtils = CApUtils::NewLC( *iDb->Database() );
-    CleanupStack::Pop( iUtils ); //
-    iVpnApEngine = CVpnApEngine::NewLC( iDb->Database() );
-    CleanupStack::Pop( iVpnApEngine ); //
-
-    iFeatureManagerWrapper = CFeatureManagerWrapper::NewL();
-    iHelpSupported = FeatureManager::FeatureSupported( KFeatureIdHelp );
-    iProtectionSupported = FeatureManager::FeatureSupported( 
-                                            KFeatureIdSettingsProtection );
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::ConstructL")    
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Database
-// ---------------------------------------------------------
-//
-CActiveApDb* CApSettingsModel::Database()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Database<->")
-    return iDb;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::AllListItemDataL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
-                                         CApListItemList& aList, 
-                                         TInt aIspFilter, TInt aBearerFilter,
-                                         TInt aSortType, TInt aReqIpvType )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL<->")
-    return AllListItemDataL( aFailedLocked, aList, aIspFilter, 
-                             aBearerFilter, aSortType, aReqIpvType,
-                             iVpnFilterType, iIncludeEasyWlan );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::AllListItemDataL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::AllListItemDataL( 
-                                        TBool& aFailedLocked,
-                                        CApListItemList& aList,
-                                        TInt aIspFilter,
-                                        TInt aBearerFilter,
-                                        TInt aSortType,
-                                        TInt aReqIpvType,
-                                        TVpnFilterType aVpnFilterType,
-                                        TBool aIncludeEasyWlan
-                                        )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL2")
-    TInt retval( 0 );
-    if (iInRefresh)
-        {
-        APSETUILOGGER_WRITE( EModel,"AllListItemData overrun->");
-        iNeedRefresh = ETrue;
-        }
-    else
-        {
-        iInRefresh = ETrue;
-        aFailedLocked = EFalse;
-        CApSelect* apselect = CApSelect::NewLC( *iDb->Database(), aIspFilter, 
-                                                aBearerFilter, aSortType,
-                                                aReqIpvType,
-                                                aVpnFilterType,
-                                                aIncludeEasyWlan );
-        APSETUILOGGER_WRITE( EModel,"ApSelect::NewLC returned");
-        
-        retval = apselect->AllListItemDataL( aList );
-        
-        APSETUILOGGER_WRITE( EModel,"ApSelect::AllListItemDataL returned");
-
-        CleanupStack::PopAndDestroy( apselect ); // apselect
-        retval = aList.Count();
-    
-        iInRefresh = EFalse;
-        }
-    if (iNeedRefresh && !iInRefresh)
-        {
-        APSETUILOGGER_WRITE( EModel,"add. refresh starts");
-        retval = AllListItemDataL( aFailedLocked, aList, aIspFilter, 
-                                   aBearerFilter, aSortType, aReqIpvType,
-                                   aVpnFilterType, aIncludeEasyWlan );
-        iNeedRefresh = EFalse;
-        APSETUILOGGER_WRITE( EModel,"add. refresh ends");
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::AllListItemDataL2")
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::AllListItemDataL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
-                                         CApListItemList& aList )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL ->")
-    return AllListItemDataL( aFailedLocked, aList,  iParams.iIspFilter, 
-                                                iParams.iBearerFilter, 
-                                                iParams.iSortType,
-                                                iReqIpvType, iVpnFilterType,
-                                                iIncludeEasyWlan );
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::AccessPointDataL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::AccessPointDataL( TUint32 aUid, 
-                                         CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::AccessPointDataL")
-    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
-                                               /*aShowNote*/ETrue,
-                                               /*aRetry*/ETrue );
-    if ( ownTransaction != EFailedWithLocked )
-        {
-        iApData->AccessPointDataL( aUid, aApItem );    // adds normal ap
-        // Load wlan data, only loads if WLAN ap.
-        TRAPD( err, LoadWlanL( aApItem ) );
-        if ( err != KErrUnknown)
-            {
-            User::LeaveIfError( err );
-            }
-
-        if ( ownTransaction == EOwnTransaction )
-            {
-            TInt err = CommitTransaction();
-            User::LeaveIfError( err );
-            CleanupStack::Pop(); // RollbackTransactionOnLeave
-            }
-        }
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::AccessPointDataL")    
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::UpdateAccessPointDataL
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::UpdateAccessPointDataL( CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::UpdateAccessPointDataL")
-    TBool nameChanged( EFalse );
-// It should be aWrite ETrue, but there is an error in Symbian stuff
-// causing a memory leak
-//    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/ETrue,
-    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
-                                               /*aShowNote*/ETrue,
-                                               /*aRetry*/ETrue );
-    if ( ownTransaction != EFailedWithLocked )
-        {
-        TBool isnew(EFalse);
-        if ( aApItem.BearerTypeL() == EApBearerTypeWLAN )
-            { // it is WLAN...
-            // check that there were no bearer-change, because if orig. bearer
-            // was NOT wlan, then we shouls consider it as a new record!!!
-            if ( iUtils->BearerTypeL( aApItem.WapUid() ) != EApBearerTypeWLAN )
-                {
-                isnew = ETrue;
-                }
-            }
-        iApData->UpdateAccessPointDataL( aApItem, nameChanged );
-        // write wlan data, only writes if WLAN ap.
-        WriteWlanL( aApItem, isnew );
-
-#ifdef __WINS__
-        ShowNoteL( R_APUI_VIEW_SAVED );
-#endif
-        if ( ownTransaction == EOwnTransaction )
-            {
-            TInt err = CommitTransaction();
-            User::LeaveIfError( err );
-            CleanupStack::Pop(); // RollbackTransactionOnLeave
-            }
-        }
-
-    APSETUILOGGER_LEAVEFN( EModel,"Model::UpdateAccessPointDataL")
-    return nameChanged;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::DataHandler
-// ---------------------------------------------------------
-//
-CApDataHandler* CApSettingsModel::DataHandler()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::DataHandler <->")
-    return iApData;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::ApUtils
-// ---------------------------------------------------------
-//
-CApUtils* CApSettingsModel::ApUtils()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ApUtils <->")
-    return iUtils;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::SetParams
-// ---------------------------------------------------------
-//
-void CApSettingsModel::SetParams( TApSettingsParams aParams )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::SetParams <->")
-    iParams = aParams;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Params
-// ---------------------------------------------------------
-//
-TApSettingsParams CApSettingsModel::Params()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Params <->")
-    return iParams;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::VpnEngine
-// ---------------------------------------------------------
-//
-CVpnApEngine* CApSettingsModel::VpnEngine()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::VpnEngine <->")
-    return iVpnApEngine;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::LaunchHelpL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::LaunchHelpL()
-    {
-#ifdef __SERIES60_HELP
-    APSETUILOGGER_ENTERFN( EModel,"Model::LaunchHelpL")
-    HlpLauncher::LaunchHelpApplicationL(
-                        EikEnv()->WsSession(),
-                        EikEnv()->EikAppUi()->AppHelpContextL() );
-    APSETUILOGGER_LEAVEFN( EModel,"Model::LaunchHelpL")    
-#endif // __SERIES60_HELP
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::RemoveApL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::RemoveApL( TUint32 aUid )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::RemoveApL")
-// DELETE OPERATION STARTS HERE
-    TBuf<KModifiableTextLength> sgd;
-    iUtils->NameL( aUid, sgd );
-    HBufC* temp = StringLoader::LoadLC( R_APUI_VIEW_DELETING_AP, sgd );    
-
-    APSETUILOGGER_WRITE( EModel,"Creating thread");
-    
-    if (!iop)
-        {
-        iop = CApSettingsDeleteOperation::NewL(
-                        KApWaitNote, R_APUI_VIEW_WAIT_NOTE,
-                        aUid, *temp
-                        );
-        APSETUILOGGER_WRITE( EModel,"Thread created");
-        }
-    else
-        {
-        if (iop->State() != CApSettingsDeleteOperation::EProcOffDialogOff )
-            {
-            ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
-            User::Leave( KErrInUse );
-            }
-        else
-            {
-            iop->SetUid( aUid );
-            iop->SetNoteTextL( *temp );
-            }
-        }
-    
-    TRAPD(err, iop->StartL() );
-    
-    APSETUILOGGER_WRITE_FORMAT( EModel, "Thread StartL returned, code:%d", err);
-    
-    if ( err != KErrNone )
-        { 
-        User::Leave( err );
-        }
-    
-    CleanupStack::PopAndDestroy( temp );
-    APSETUILOGGER_LEAVEFN( EModel,"Model::RemoveApL")    
-// DELETE OPERATION ENDS HERE
-
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::StarTransactionLC
-// ---------------------------------------------------------
-//
-TTransactionResult CApSettingsModel::StartTransactionLC(
-                        TBool aWrite, TBool aShowNote,
-                        TBool aRetry, TBool aLFFSChecking /* ETrue */ )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::StartTransactionLC")
-    TTransactionResult retval( EOwnTransaction );
-
-    // Before attempting db modification, check if we would go below Critical
-    // Level in FFS (disk). The value used for checking is an estimate.
-    // Reading the db also allocates some bytes (transaction log), but
-    // this is not estimated and not checked, because it should be small
-    // enough, and would slow down operation. (Typical use is to read a lot
-    // and write much less.)
-    if (    aLFFSChecking &&
-            aWrite &&
-            FFSSpaceBelowCriticalLevelL
-                ( /*aShowErrorNote=*/EFalse, KEstimatedFfsUsage )
-       )
-        {
-        User::Leave( KErrDiskFull );
-        }
-
-    CCommsDatabase* aDb = iDb->Database();
-    TInt err( KErrNone );
-    if ( !aDb->InTransaction() )
-        {
-        TInt retriesLeft( aRetry ? KRetryCount : 1 );
-        err = aDb->BeginTransaction();
-        while ( ( ( err == KErrLocked ) || ( err == KErrAccessDenied ) )
-                && --retriesLeft )
-            {
-            User::After( KRetryWait );
-            err = aDb->BeginTransaction();
-            if (aWrite )
-                {
-                TRAP(err, GetWriteLockL() );
-                }
-            }
-        if ( err && aShowNote )
-            {
-            ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
-            }
-        switch ( err )
-            {
-            case KErrNone:
-                {
-                CleanupStack::PushL( 
-                    TCleanupItem( RollbackTransactionOnLeave, aDb ) );
-                break;
-                }
-            case KErrLocked:
-            case KErrAccessDenied:
-                {
-                retval = EFailedWithLocked;
-                break;
-                }
-            default:
-                {
-                User::LeaveIfError( err );
-                break;
-                }
-            }
-        }
-    else
-        {
-        if ( aWrite )
-            {
-            TRAP(err, GetWriteLockL() );
-            }
-        if ( err && aShowNote )
-            {
-            ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
-            }
-        if ( err != KErrLocked )
-            {
-            User::LeaveIfError( err );
-            }
-        if ( err )
-            {
-            retval = EFailedWithLocked;
-            }
-        else
-            {
-            retval = EUsingAlreadyStarted;
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::StartTransactionLC")    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::GetWriteLockL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::GetWriteLockL( )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::GetWriteLockL")
-    CCommsDbTableView* v = 
-        iDb->Database()->OpenTableLC( TPtrC(WAP_ACCESS_POINT ) );
-    TUint32 dummyUid( KApNoneUID );
-    TInt err = v->InsertRecord( dummyUid );
-    User::LeaveIfError( err );
-    v->CancelRecordChanges();
-    User::LeaveIfError( err );
-    CleanupStack::PopAndDestroy( v );
-    APSETUILOGGER_LEAVEFN( EModel,"Model::GetWriteLockL")    
-    }
-
-// ---------------------------------------------------------
-// CApSettingsModel::RollbackTransactionOnLeave
-// ---------------------------------------------------------
-//
-void CApSettingsModel::RollbackTransactionOnLeave( TAny* aDb )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::RollbackTransactionOnLeave")
-    CCommsDatabase* db = STATIC_CAST( CCommsDatabase*, aDb );
-    db->RollbackTransaction();
-    APSETUILOGGER_LEAVEFN( EModel,"Model::RollbackTransactionOnLeave")    
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::CommitTransaction
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::CommitTransaction()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::CommitTransaction")
-    TInt err = iDb->Database()->CommitTransaction();
-    APSETUILOGGER_LEAVEFN( EModel,"Model::CommitTransaction")    
-    return err;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::FFSSpaceBelowCriticalLevelL
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::FFSSpaceBelowCriticalLevelL
-        ( TBool aShowErrorNote, TInt aBytesToWrite /*=0*/ )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::FFSSpaceBelowCriticalLevelL")
-    TBool ret( EFalse );
-    if ( SysUtil::FFSSpaceBelowCriticalLevelL
-                ( &( EikEnv()->FsSession()), aBytesToWrite ) )
-        {
-        ret = ETrue;
-        if ( aShowErrorNote )
-            {
-            CErrorUI* errorUi = CErrorUI::NewLC( *EikEnv() );
-            errorUi->ShowGlobalErrorNoteL( KErrDiskFull );
-            CleanupStack::PopAndDestroy();  // errorUi
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::FFSSpaceBelowCriticalLevelL")    
-    return ret;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::NetWorkListDataL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::NetWorkListDataL( TBool& aFailedLocked, 
-                                         CApNetworkItemList& aList )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::NetWorkListDataL")
-    TInt retval( KErrNone );
-    aFailedLocked = EFalse;
-    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
-                                               /*aShowNote*/EFalse,
-                                               /*aRetry*/ETrue );
-    if ( ownTransaction != EFailedWithLocked )
-        {
-        CApNetworks* apnet = CApNetworks::NewLC( *iDb->Database() );
-        retval = apnet->AllListItemDataL( aList );
-        CleanupStack::PopAndDestroy( apnet ); // apSelect
-        if ( ownTransaction == EOwnTransaction )
-            {
-            TInt err = CommitTransaction();
-            User::LeaveIfError( err );
-            CleanupStack::Pop(); // RollbackTransactionOnLeave
-            }
-        }
-    else
-        {
-        aFailedLocked = ETrue;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::NetWorkListDataL")    
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::RequestedIPvType
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::RequestedIPvType( )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::RequestedIPvType<->")
-    return iReqIpvType;
-    }
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteSelect
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteSelect(  TInt aResourceId, TInt aCount )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteSelect")
-    TBool retval( EFalse );
-
-    if ( ( aCount == 0 )
-         &&
-         ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) )
-        {
-        retval = ETrue;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteSelect")    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteOpen
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteOpen(  TInt aResourceId, TInt aCount, 
-                                          TUint32 aUid, TBool aNeedsNone )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteOpen")
-    TBool retval( EFalse );
-    TBool noItem( EFalse );
-    TBool onlyItemIsNone( EFalse );
-    TBool editOnlyVPN( EFalse );
-    TBool noEdit( EFalse );
-
-    noItem = ( aCount == 0) && 
-            ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
-              ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) );
-    
-    onlyItemIsNone = ( aNeedsNone ) && ( aUid == KApNoneUID ) 
-         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_ONLY ) ||
-              ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    editOnlyVPN = ( iVariant & KApUiEditOnlyVPNs ) 
-        && ( ( aResourceId == R_APSETTINGSUI_SELECT_ONLY_MENUBAR ) ||
-             ( aResourceId == R_APSETTINGSUI_SELECT_NORMAL_MENUBAR ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-    noEdit = ( iNoEdit )
-        && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    retval = noItem || onlyItemIsNone || editOnlyVPN || noEdit;
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteOpen")    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteDeleteL
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteDeleteL(  TInt aResourceId, TInt aCount, 
-                                             TUint32 aUid, TBool aNeedsNone )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteDeleteL")
-    TBool retval( EFalse );
-    TBool noItem( EFalse );
-    TBool onlyItemIsNone( EFalse );    
-    TBool editOnlyVPN( EFalse );
-    TBool noEdit( EFalse );
-
-    noItem = ( aCount == 0) && 
-            ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
-              ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) );
-
-    onlyItemIsNone = ( aNeedsNone ) && ( aUid == KApNoneUID ) 
-        && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_ONLY ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    editOnlyVPN = ( iVariant & KApUiEditOnlyVPNs )
-        && ( ( aResourceId == R_APSETTINGSUI_SELECT_ONLY_MENUBAR ) ||
-             ( aResourceId == R_APSETTINGSUI_SELECT_NORMAL_MENUBAR ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-             
-    noEdit = ( iNoEdit )
-        && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    if ( editOnlyVPN )
-        {
-        // check if current item is VPN...        
-        if ( ( aCount != 0 ) && ( aUid != KApNoneUID ) )
-            {
-            retval = ! iVpnApEngine->IsVpnApL( aUid );                
-            }
-        else
-            {
-            retval = ETrue;
-            }
-        }
-    else
-        {
-        if ( onlyItemIsNone || noItem )
-            {
-            retval = ETrue;
-            }
-        }
-    if ( !retval )
-        {
-        if (noEdit)
-            {
-            retval = ETrue;
-            }
-        }        
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteDeleteL")    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteNewUseExisting
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteNewUseExisting(  
-                                            TInt aResourceId, 
-                                            TInt aCount )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewUseExisting")
-    TBool noEdit( EFalse );
-    TBool retval( EFalse );
-    
-    if ( iProtectionSupported )
-        {
-        if (  aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL  ||
-                aResourceId == R_APSETTINGSUI_MENU_NORMAL )
-            {
-            TRAP_IGNORE( retval = CApProtHandler::IsTableProtectedL( iDb->Database() ));
-            }
-        }
-
-    if ( aCount == 0)
-        {
-        if ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
-            ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) )
-            {
-            retval = ETrue;
-            }
-        }
-
-    noEdit = ( iNoEdit )
-        && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    if (noEdit)
-        {
-        retval = ETrue;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteNewUseExisting")    
-    return retval;
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteNewL
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteNewL(  TInt aResourceId )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewL")
-    TBool noEdit( EFalse );
-    TBool retval( EFalse );
-
-    if ( iProtectionSupported )
-        {
-        if (  aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL  ||
-                aResourceId == R_APSETTINGSUI_MENU_NORMAL )
-            {      
-            if ( CApProtHandler::IsTableProtectedL( iDb->Database() ))
-                {
-                retval = ETrue;
-                }
-            }
-        }
-
-    if ( iVariant & KApUiEditOnlyVPNs )
-        {
-        if ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) 
-           )
-            {
-            retval = ETrue;
-            }
-        }
-
-    noEdit = ( iNoEdit )
-        && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
-             ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
-
-    if (noEdit)
-        {
-        retval = ETrue;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteNewL")    
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Need2DeleteHelp
-// called when menu needs to be displayed
-// ---------------------------------------------------------
-//
-TBool CApSettingsModel::Need2DeleteHelp(  TInt aResourceId )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteHelp")
-    TBool retval( EFalse );
-
-	if ( !iHelpSupported )
-		{
-	    if ( aResourceId == R_APSETTINGSUI_MENU_NORMAL )
-	        {
-	        retval = ETrue;
-	        }
-		}
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteHelp")    
-    return retval;
-    }
-
-
-
-
-
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::GetLinkedVpnAccessPointLC
-// ---------------------------------------------------------
-//
-HBufC* CApSettingsModel::GetLinkedVpnAccessPointLC( TUint32 aUid )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::GetLinkedVpnAccessPointLC")
-    HBufC* retval = HBufC::NewLC( KCommsDbSvrMaxFieldLength );    
-    
-    // Get iap for the above WAP, aUid
-    TUint32 homeiap = iUtils->IapIdFromWapIdL( aUid );
-
-    // now get ALL VPN_SERVICE entry ID where HOME_IAP == iap
-    // Select * from VPN_SERVICE where HOME_IAP == homeiap
-    CCommsDbTableView* t;
-    t = iDb->Database()->OpenViewMatchingUintLC( TPtrC(VPN_SERVICE), 
-                                                 TPtrC(VPN_SERVICE_IAP), 
-                                                 homeiap );
-    TInt err = t->GotoFirstRecord();
-    // if not found, no such, simply exit, no change in passed array
-    if ( err != KErrNotFound )
-        {
-        User::LeaveIfError( err );
-        TPtr sgd = retval->Des();
-        t->ReadTextL( TPtrC(COMMDB_NAME), sgd );
-        CleanupStack::PopAndDestroy( t );//t
-        }
-    else
-        {
-        CleanupStack::PopAndDestroy( 2, retval );// retval, t
-        retval = NULL;
-        }
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::GetLinkedVpnAccessPointLC")    
-    return retval;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::EikEnv
-// ---------------------------------------------------------
-//
-CEikonEnv* CApSettingsModel::EikEnv()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::EikEnv<->")
-    if ( !iEikEnv )
-        {
-        iEikEnv = CEikonEnv::Static();
-        }
-    return iEikEnv;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::CreateFromDataL
-// ---------------------------------------------------------
-//
-TUint32 CApSettingsModel::CreateFromDataL( CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::CreateFromDataL")
-    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
-                                               /*aShowNote*/ETrue,
-                                               /*aRetry*/ETrue );
-    if ( ownTransaction != EFailedWithLocked )
-        {
-        iApData->CreateFromDataL( aApItem );    // adds normal ap
-        // write wlan data, only writes if WLAN ap.
-        WriteWlanL( aApItem, ETrue );
-
-        if ( ownTransaction == EOwnTransaction )
-            {
-            TInt err = CommitTransaction();
-            User::LeaveIfError( err );
-            CleanupStack::Pop(); // RollbackTransactionOnLeave
-            }
-        }
-
-    APSETUILOGGER_LEAVEFN( EModel,"Model::CreateFromDataL")    
-    return aApItem.WapUid();
-    }
-
-
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::ChangeWepSettingsL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::ChangeWepSettingsL( CApAccessPointItem* aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWepSettingsL - ERROR: not suported")
-    aApItem = aApItem;
-    return KErrNotSupported;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::ChangeWpaSettingsL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::ChangeWpaSettingsL( CApAccessPointItem* aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWpaSettingsL - ERROR: not suported")
-    aApItem = aApItem;
-    return KErrNotSupported;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::Change8021xSettingsL
-// ---------------------------------------------------------
-//
-TInt CApSettingsModel::Change8021xSettingsL( CApAccessPointItem* aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Change8021xSettingsL - ERROR: not suported")
-    aApItem = aApItem;
-    return KErrNotSupported;
-    }
-
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::ClearWEPAndWPASettings
-// ---------------------------------------------------------
-//
-void CApSettingsModel::ClearWEPAndWPASettings()
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ClearWEPAndWPASettings - ERROR: not suported")
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::WriteWlanL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::WriteWlanL( CApAccessPointItem& aApItem,
-                                   TBool aIsNew )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::WriteWlanL - ERROR: not supported")
-    aApItem;
-    aIsNew;
-    User::Leave( KErrNotSupported );
-    }
-
-
-// ---------------------------------------------------------
-// CApSettingsModel::LoadWlanL
-// ---------------------------------------------------------
-//
-void CApSettingsModel::LoadWlanL( CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::LoadWlanL - ERROR: not supported")
-    aApItem;
-    User::Leave( KErrNotSupported );
-    }
-
-
-//----------------------------------------------------------
-// CApSettingsModel::HasWlanSecSettingsFilledL
-//----------------------------------------------------------
-//
-TBool CApSettingsModel::HasWlanSecSettingsFilledL( CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::HasWlanSecSettingsFilledL - ERROR: not supported")
-    aApItem;
-    return EFalse;
-    }
-
-
-//----------------------------------------------------------
-// CApSettingsModel::UpdateSecurityModeL
-//----------------------------------------------------------
-//
-void CApSettingsModel::UpdateSecurityModeL( CApAccessPointItem& aApItem )
-    {
-    APSETUILOGGER_ENTERFN( EModel,"Model::UpdateSecurityModeL - ERROR: not supported")
-    aApItem;
-    User::Leave( KErrNotSupported );
-    }
-
-// End of File