--- 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