apengine/apsettingshandlerui/src/ApSettingsModel.cpp
changeset 61 8b0c979bbe8c
parent 59 2709c04a4af5
child 70 ac5daea24fb0
equal deleted inserted replaced
59:2709c04a4af5 61:8b0c979bbe8c
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Implementation of CApSettingsModel.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include "APSettingsHandlerUIVariant.hrh"
       
    21 
       
    22 #include <ActiveApDb.h>
       
    23 #include <ApListItemList.h>
       
    24 #include <ApListItem.h>
       
    25 #include <ApSelect.h>
       
    26 #include <apsetui.rsg>
       
    27 #include <VpnApEngine.h>
       
    28 #include <hlplch.h>
       
    29 #include <eikenv.h>
       
    30 #include <eikappui.h>
       
    31 #include <StringLoader.h>
       
    32 #include <featmgr.h>
       
    33 
       
    34 #include "ApSettingsHandlerUI.hrh"
       
    35 
       
    36 #include "ApSettingsModel.h"
       
    37 #include <ApSettingsHandlerCommons.h>
       
    38 #include "Apsettingsdeleteoperation.h"
       
    39 
       
    40 #include <sysutil.h>
       
    41 #include <ErrorUI.h>
       
    42 
       
    43 
       
    44 #include "ApNetworks.h"
       
    45 #include "FeatureManagerWrapper.h"
       
    46 
       
    47 #include <ApAccessPointItem.h>
       
    48 
       
    49 #include "ApSettingsHandlerLogger.h"
       
    50 
       
    51 //#define __TEST_PERFORMANCE
       
    52 
       
    53 // CONSTANTS
       
    54 
       
    55 
       
    56 
       
    57 
       
    58 /**
       
    59 * Estimated number of bytes in FFS for one writing operation. This amount
       
    60 * is checked to be available before each transaction which places write-lock.
       
    61 * Exact size is not known (because what happens in a transaction is unknown).
       
    62 * A typical access point is estimated to be less than ~2000 bytes; 
       
    63 * so assuming the typical operation of adding one access point 
       
    64 * (with database transaction overhead and safety) is estimated 
       
    65 * to be 2000 bytes. This should be a safe guess.
       
    66 */
       
    67 LOCAL_C const TInt KEstimatedFfsUsage = 2000;
       
    68 
       
    69 
       
    70 
       
    71 // ================= MEMBER FUNCTIONS =======================
       
    72 
       
    73 // ---------------------------------------------------------
       
    74 // CApSettingsModel::NewL
       
    75 // ---------------------------------------------------------
       
    76 //
       
    77 CApSettingsModel* CApSettingsModel::NewL( TInt aIspFilter, TInt aBearerFilter,
       
    78                                           TInt aSortType, TInt aReqIpvType,
       
    79                                           TVpnFilterType aVpnFilterType,
       
    80                                           TInt aVariant,
       
    81                                           TBool aIncludeEasyWlan,
       
    82                                           TBool aNoEdit )
       
    83     {
       
    84     APSETUILOGGER_ENTERFN( EModel,"Model::NewL")    
       
    85     CApSettingsModel* db = 
       
    86         new( ELeave ) CApSettingsModel( aIspFilter, aBearerFilter, 
       
    87                                         aSortType, aReqIpvType, aVariant,
       
    88                                         aVpnFilterType, aIncludeEasyWlan,
       
    89                                         aNoEdit );
       
    90     CleanupStack::PushL( db );
       
    91     db->ConstructL( NULL );
       
    92     CleanupStack::Pop(); // db
       
    93     APSETUILOGGER_LEAVEFN( EModel,"Model::NewL")    
       
    94     return db;
       
    95     }
       
    96 
       
    97 
       
    98 
       
    99 // ---------------------------------------------------------
       
   100 // CApSettingsModel::NewL
       
   101 // ---------------------------------------------------------
       
   102 //
       
   103 CApSettingsModel* CApSettingsModel::NewL( CActiveApDb& aDb, TInt aIspFilter,
       
   104                                           TInt aBearerFilter, TInt aSortType,
       
   105                                           TInt aReqIpvType, 
       
   106                                           TVpnFilterType aVpnFilterType,
       
   107                                           TInt aVariant,
       
   108                                           TBool aIncludeEasyWlan,
       
   109                                           TBool aNoEdit )
       
   110     {
       
   111     APSETUILOGGER_ENTERFN( EModel,"Model::NewL2")
       
   112     CApSettingsModel* db = 
       
   113         new( ELeave ) CApSettingsModel( aIspFilter, aBearerFilter, 
       
   114                                         aSortType, aReqIpvType, aVariant,
       
   115                                         aVpnFilterType, aIncludeEasyWlan,
       
   116                                         aNoEdit );
       
   117     CleanupStack::PushL( db );
       
   118     db->ConstructL( &aDb );
       
   119     CleanupStack::Pop(); // db
       
   120     APSETUILOGGER_LEAVEFN( EModel,"Model::NewL2")    
       
   121     return db;
       
   122     }
       
   123 
       
   124 
       
   125 /**
       
   126 * Destructor.
       
   127 */
       
   128 CApSettingsModel::~CApSettingsModel( )
       
   129     {
       
   130     APSETUILOGGER_ENTERFN( EModel,"~Model")
       
   131     delete iFeatureManagerWrapper;
       
   132 
       
   133     delete iApData;
       
   134     delete iUtils;
       
   135     delete iVpnApEngine;
       
   136     if ( iDbOwned )
       
   137         {
       
   138         delete iDb;
       
   139         }
       
   140     if (iop)
       
   141         {
       
   142         delete iop;
       
   143         }
       
   144 
       
   145     APSETUILOGGER_LEAVEFN( EModel,"~Model")    
       
   146     }
       
   147 
       
   148 
       
   149 /**
       
   150 * Constructor
       
   151 */
       
   152 CApSettingsModel::CApSettingsModel( TInt aIspFilter, TInt aBearerFilter, 
       
   153                                     TInt aSortType, TInt aReqIpvType,
       
   154                                     TInt aVariant,
       
   155                                     TVpnFilterType aVpnFilterType,
       
   156                                     TBool aIncludeEasyWlan,
       
   157                                     TBool aNoEdit )
       
   158 
       
   159     {
       
   160     APSETUILOGGER_ENTERFN( EModel,"Model")
       
   161     
       
   162     iWepUiExitReason = 0;
       
   163     iParams.iIspFilter = aIspFilter;
       
   164     iParams.iBearerFilter = aBearerFilter;
       
   165     iParams.iSortType = aSortType;
       
   166     iReqIpvType = aReqIpvType;
       
   167     iApData = NULL;
       
   168     iDb = NULL;
       
   169     iUtils = NULL;
       
   170     iDbOwned = ETrue;
       
   171     iVpnFilterType = aVpnFilterType;
       
   172     iVariant = aVariant;
       
   173     iIncludeEasyWlan = aIncludeEasyWlan;
       
   174     iNoEdit = aNoEdit;
       
   175     iInRefresh = EFalse;
       
   176     iNeedRefresh = EFalse;
       
   177     APSETUILOGGER_LEAVEFN( EModel,"Model")    
       
   178     }
       
   179 
       
   180 
       
   181 
       
   182 // ---------------------------------------------------------
       
   183 // CApSettingsModel::ConstructL
       
   184 // ---------------------------------------------------------
       
   185 //
       
   186 void CApSettingsModel::ConstructL( CActiveApDb* aDb )
       
   187     {
       
   188     APSETUILOGGER_ENTERFN( EModel,"Model::ConstructL")
       
   189     if ( aDb )
       
   190         {
       
   191         iDbOwned = EFalse;
       
   192         iDb = aDb;
       
   193         }
       
   194     else
       
   195         {
       
   196         iDb = CActiveApDb::NewL( EDatabaseTypeIAP );
       
   197         iDbOwned = ETrue;
       
   198         }
       
   199     iApData = CApDataHandler::NewLC( *iDb->Database() );
       
   200     CleanupStack::Pop( iApData ); // as it is a member
       
   201     iUtils = CApUtils::NewLC( *iDb->Database() );
       
   202     CleanupStack::Pop( iUtils ); //
       
   203     iVpnApEngine = CVpnApEngine::NewLC( iDb->Database() );
       
   204     CleanupStack::Pop( iVpnApEngine ); //
       
   205 
       
   206     iFeatureManagerWrapper = CFeatureManagerWrapper::NewL();
       
   207     iHelpSupported = FeatureManager::FeatureSupported( KFeatureIdHelp );
       
   208     iProtectionSupported = FeatureManager::FeatureSupported( 
       
   209                                             KFeatureIdSettingsProtection );
       
   210     
       
   211     APSETUILOGGER_LEAVEFN( EModel,"Model::ConstructL")    
       
   212     }
       
   213 
       
   214 
       
   215 
       
   216 // ---------------------------------------------------------
       
   217 // CApSettingsModel::Database
       
   218 // ---------------------------------------------------------
       
   219 //
       
   220 CActiveApDb* CApSettingsModel::Database()
       
   221     {
       
   222     APSETUILOGGER_ENTERFN( EModel,"Model::Database<->")
       
   223     return iDb;
       
   224     }
       
   225 
       
   226 
       
   227 
       
   228 
       
   229 // ---------------------------------------------------------
       
   230 // CApSettingsModel::AllListItemDataL
       
   231 // ---------------------------------------------------------
       
   232 //
       
   233 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
       
   234                                          CApListItemList& aList, 
       
   235                                          TInt aIspFilter, TInt aBearerFilter,
       
   236                                          TInt aSortType, TInt aReqIpvType )
       
   237     {
       
   238     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL<->")
       
   239     return AllListItemDataL( aFailedLocked, aList, aIspFilter, 
       
   240                              aBearerFilter, aSortType, aReqIpvType,
       
   241                              iVpnFilterType, iIncludeEasyWlan );
       
   242     }
       
   243 
       
   244 
       
   245 
       
   246 // ---------------------------------------------------------
       
   247 // CApSettingsModel::AllListItemDataL
       
   248 // ---------------------------------------------------------
       
   249 //
       
   250 TInt CApSettingsModel::AllListItemDataL( 
       
   251                                         TBool& aFailedLocked,
       
   252                                         CApListItemList& aList,
       
   253                                         TInt aIspFilter,
       
   254                                         TInt aBearerFilter,
       
   255                                         TInt aSortType,
       
   256                                         TInt aReqIpvType,
       
   257                                         TVpnFilterType aVpnFilterType,
       
   258                                         TBool aIncludeEasyWlan
       
   259                                         )
       
   260     {
       
   261     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL2")
       
   262     TInt retval( 0 );
       
   263     if (iInRefresh)
       
   264         {
       
   265         APSETUILOGGER_WRITE( EModel,"AllListItemData overrun->");
       
   266         iNeedRefresh = ETrue;
       
   267         }
       
   268     else
       
   269         {
       
   270         iInRefresh = ETrue;
       
   271         aFailedLocked = EFalse;
       
   272         CApSelect* apselect = CApSelect::NewLC( *iDb->Database(), aIspFilter, 
       
   273                                                 aBearerFilter, aSortType,
       
   274                                                 aReqIpvType,
       
   275                                                 aVpnFilterType,
       
   276                                                 aIncludeEasyWlan );
       
   277         APSETUILOGGER_WRITE( EModel,"ApSelect::NewLC returned");
       
   278         
       
   279         retval = apselect->AllListItemDataL( aList );
       
   280         
       
   281         APSETUILOGGER_WRITE( EModel,"ApSelect::AllListItemDataL returned");
       
   282 
       
   283         CleanupStack::PopAndDestroy( apselect ); // apselect
       
   284         retval = aList.Count();
       
   285     
       
   286         iInRefresh = EFalse;
       
   287         }
       
   288     if (iNeedRefresh && !iInRefresh)
       
   289         {
       
   290         APSETUILOGGER_WRITE( EModel,"add. refresh starts");
       
   291         retval = AllListItemDataL( aFailedLocked, aList, aIspFilter, 
       
   292                                    aBearerFilter, aSortType, aReqIpvType,
       
   293                                    aVpnFilterType, aIncludeEasyWlan );
       
   294         iNeedRefresh = EFalse;
       
   295         APSETUILOGGER_WRITE( EModel,"add. refresh ends");
       
   296         }
       
   297     APSETUILOGGER_LEAVEFN( EModel,"Model::AllListItemDataL2")
       
   298     return retval;
       
   299     }
       
   300 
       
   301 
       
   302 
       
   303 // ---------------------------------------------------------
       
   304 // CApSettingsModel::AllListItemDataL
       
   305 // ---------------------------------------------------------
       
   306 //
       
   307 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
       
   308                                          CApListItemList& aList )
       
   309     {
       
   310     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL ->")
       
   311     return AllListItemDataL( aFailedLocked, aList,  iParams.iIspFilter, 
       
   312                                                 iParams.iBearerFilter, 
       
   313                                                 iParams.iSortType,
       
   314                                                 iReqIpvType, iVpnFilterType,
       
   315                                                 iIncludeEasyWlan );
       
   316     }
       
   317 
       
   318 
       
   319 
       
   320 // ---------------------------------------------------------
       
   321 // CApSettingsModel::AccessPointDataL
       
   322 // ---------------------------------------------------------
       
   323 //
       
   324 void CApSettingsModel::AccessPointDataL( TUint32 aUid, 
       
   325                                          CApAccessPointItem& aApItem )
       
   326     {
       
   327     APSETUILOGGER_ENTERFN( EModel,"Model::AccessPointDataL")
       
   328     TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
       
   329                                                /*aShowNote*/ETrue,
       
   330                                                /*aRetry*/ETrue );
       
   331     if ( ownTransaction != EFailedWithLocked )
       
   332         {
       
   333         iApData->AccessPointDataL( aUid, aApItem );    // adds normal ap
       
   334         // Load wlan data, only loads if WLAN ap.
       
   335         TRAPD( err, LoadWlanL( aApItem ) );
       
   336         if ( err != KErrUnknown)
       
   337             {
       
   338             User::LeaveIfError( err );
       
   339             }
       
   340 
       
   341         if ( ownTransaction == EOwnTransaction )
       
   342             {
       
   343             TInt err = CommitTransaction();
       
   344             User::LeaveIfError( err );
       
   345             CleanupStack::Pop(); // RollbackTransactionOnLeave
       
   346             }
       
   347         }
       
   348     
       
   349     APSETUILOGGER_LEAVEFN( EModel,"Model::AccessPointDataL")    
       
   350     }
       
   351 
       
   352 
       
   353 
       
   354 // ---------------------------------------------------------
       
   355 // CApSettingsModel::UpdateAccessPointDataL
       
   356 // ---------------------------------------------------------
       
   357 //
       
   358 TBool CApSettingsModel::UpdateAccessPointDataL( CApAccessPointItem& aApItem )
       
   359     {
       
   360     APSETUILOGGER_ENTERFN( EModel,"Model::UpdateAccessPointDataL")
       
   361     TBool nameChanged( EFalse );
       
   362 // It should be aWrite ETrue, but there is an error in Symbian stuff
       
   363 // causing a memory leak
       
   364 //    TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/ETrue,
       
   365     TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
       
   366                                                /*aShowNote*/ETrue,
       
   367                                                /*aRetry*/ETrue );
       
   368     if ( ownTransaction != EFailedWithLocked )
       
   369         {
       
   370         TBool isnew(EFalse);
       
   371         if ( aApItem.BearerTypeL() == EApBearerTypeWLAN )
       
   372             { // it is WLAN...
       
   373             // check that there were no bearer-change, because if orig. bearer
       
   374             // was NOT wlan, then we shouls consider it as a new record!!!
       
   375             if ( iUtils->BearerTypeL( aApItem.WapUid() ) != EApBearerTypeWLAN )
       
   376                 {
       
   377                 isnew = ETrue;
       
   378                 }
       
   379             }
       
   380         iApData->UpdateAccessPointDataL( aApItem, nameChanged );
       
   381         // write wlan data, only writes if WLAN ap.
       
   382         WriteWlanL( aApItem, isnew );
       
   383 
       
   384 #ifdef __WINS__
       
   385         ShowNoteL( R_APUI_VIEW_SAVED );
       
   386 #endif
       
   387         if ( ownTransaction == EOwnTransaction )
       
   388             {
       
   389             TInt err = CommitTransaction();
       
   390             User::LeaveIfError( err );
       
   391             CleanupStack::Pop(); // RollbackTransactionOnLeave
       
   392             }
       
   393         }
       
   394 
       
   395     APSETUILOGGER_LEAVEFN( EModel,"Model::UpdateAccessPointDataL")
       
   396     return nameChanged;
       
   397     }
       
   398 
       
   399 
       
   400 
       
   401 
       
   402 // ---------------------------------------------------------
       
   403 // CApSettingsModel::DataHandler
       
   404 // ---------------------------------------------------------
       
   405 //
       
   406 CApDataHandler* CApSettingsModel::DataHandler()
       
   407     {
       
   408     APSETUILOGGER_ENTERFN( EModel,"Model::DataHandler <->")
       
   409     return iApData;
       
   410     }
       
   411 
       
   412 
       
   413 
       
   414 // ---------------------------------------------------------
       
   415 // CApSettingsModel::ApUtils
       
   416 // ---------------------------------------------------------
       
   417 //
       
   418 CApUtils* CApSettingsModel::ApUtils()
       
   419     {
       
   420     APSETUILOGGER_ENTERFN( EModel,"Model::ApUtils <->")
       
   421     return iUtils;
       
   422     }
       
   423 
       
   424 
       
   425 // ---------------------------------------------------------
       
   426 // CApSettingsModel::SetParams
       
   427 // ---------------------------------------------------------
       
   428 //
       
   429 void CApSettingsModel::SetParams( TApSettingsParams aParams )
       
   430     {
       
   431     APSETUILOGGER_ENTERFN( EModel,"Model::SetParams <->")
       
   432     iParams = aParams;
       
   433     }
       
   434 
       
   435 
       
   436 // ---------------------------------------------------------
       
   437 // CApSettingsModel::Params
       
   438 // ---------------------------------------------------------
       
   439 //
       
   440 TApSettingsParams CApSettingsModel::Params()
       
   441     {
       
   442     APSETUILOGGER_ENTERFN( EModel,"Model::Params <->")
       
   443     return iParams;
       
   444     }
       
   445 
       
   446 
       
   447 
       
   448 // ---------------------------------------------------------
       
   449 // CApSettingsModel::VpnEngine
       
   450 // ---------------------------------------------------------
       
   451 //
       
   452 CVpnApEngine* CApSettingsModel::VpnEngine()
       
   453     {
       
   454     APSETUILOGGER_ENTERFN( EModel,"Model::VpnEngine <->")
       
   455     return iVpnApEngine;
       
   456     }
       
   457 
       
   458 
       
   459 // ---------------------------------------------------------
       
   460 // CApSettingsModel::LaunchHelpL
       
   461 // ---------------------------------------------------------
       
   462 //
       
   463 void CApSettingsModel::LaunchHelpL()
       
   464     {
       
   465 #ifdef __SERIES60_HELP
       
   466     APSETUILOGGER_ENTERFN( EModel,"Model::LaunchHelpL")
       
   467     HlpLauncher::LaunchHelpApplicationL(
       
   468                         EikEnv()->WsSession(),
       
   469                         EikEnv()->EikAppUi()->AppHelpContextL() );
       
   470     APSETUILOGGER_LEAVEFN( EModel,"Model::LaunchHelpL")    
       
   471 #endif // __SERIES60_HELP
       
   472     }
       
   473 
       
   474 
       
   475 // ---------------------------------------------------------
       
   476 // CApSettingsModel::RemoveApL
       
   477 // ---------------------------------------------------------
       
   478 //
       
   479 void CApSettingsModel::RemoveApL( TUint32 aUid )
       
   480     {
       
   481     APSETUILOGGER_ENTERFN( EModel,"Model::RemoveApL")
       
   482 // DELETE OPERATION STARTS HERE
       
   483     TBuf<KModifiableTextLength> sgd;
       
   484     iUtils->NameL( aUid, sgd );
       
   485     HBufC* temp = StringLoader::LoadLC( R_APUI_VIEW_DELETING_AP, sgd );    
       
   486 
       
   487     APSETUILOGGER_WRITE( EModel,"Creating thread");
       
   488     
       
   489     if (!iop)
       
   490         {
       
   491         iop = CApSettingsDeleteOperation::NewL(
       
   492                         KApWaitNote, R_APUI_VIEW_WAIT_NOTE,
       
   493                         aUid, *temp
       
   494                         );
       
   495         APSETUILOGGER_WRITE( EModel,"Thread created");
       
   496         }
       
   497     else
       
   498         {
       
   499         if (iop->State() != CApSettingsDeleteOperation::EProcOffDialogOff )
       
   500             {
       
   501             ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
       
   502             User::Leave( KErrInUse );
       
   503             }
       
   504         else
       
   505             {
       
   506             iop->SetUid( aUid );
       
   507             iop->SetNoteTextL( *temp );
       
   508             }
       
   509         }
       
   510     
       
   511     TRAPD(err, iop->StartL() );
       
   512     
       
   513     APSETUILOGGER_WRITE_FORMAT( EModel, "Thread StartL returned, code:%d", err);
       
   514     
       
   515     if ( err != KErrNone )
       
   516         { 
       
   517         User::Leave( err );
       
   518         }
       
   519     
       
   520     CleanupStack::PopAndDestroy( temp );
       
   521     APSETUILOGGER_LEAVEFN( EModel,"Model::RemoveApL")    
       
   522 // DELETE OPERATION ENDS HERE
       
   523 
       
   524     }
       
   525 
       
   526 
       
   527 
       
   528 
       
   529 // ---------------------------------------------------------
       
   530 // CApSettingsModel::StarTransactionLC
       
   531 // ---------------------------------------------------------
       
   532 //
       
   533 TTransactionResult CApSettingsModel::StartTransactionLC(
       
   534                         TBool aWrite, TBool aShowNote,
       
   535                         TBool aRetry, TBool aLFFSChecking /* ETrue */ )
       
   536     {
       
   537     APSETUILOGGER_ENTERFN( EModel,"Model::StartTransactionLC")
       
   538     TTransactionResult retval( EOwnTransaction );
       
   539 
       
   540     // Before attempting db modification, check if we would go below Critical
       
   541     // Level in FFS (disk). The value used for checking is an estimate.
       
   542     // Reading the db also allocates some bytes (transaction log), but
       
   543     // this is not estimated and not checked, because it should be small
       
   544     // enough, and would slow down operation. (Typical use is to read a lot
       
   545     // and write much less.)
       
   546     if (    aLFFSChecking &&
       
   547             aWrite &&
       
   548             FFSSpaceBelowCriticalLevelL
       
   549                 ( /*aShowErrorNote=*/EFalse, KEstimatedFfsUsage )
       
   550        )
       
   551         {
       
   552         User::Leave( KErrDiskFull );
       
   553         }
       
   554 
       
   555     CCommsDatabase* aDb = iDb->Database();
       
   556     TInt err( KErrNone );
       
   557     if ( !aDb->InTransaction() )
       
   558         {
       
   559         TInt retriesLeft( aRetry ? KRetryCount : 1 );
       
   560         err = aDb->BeginTransaction();
       
   561         while ( ( ( err == KErrLocked ) || ( err == KErrAccessDenied ) )
       
   562                 && --retriesLeft )
       
   563             {
       
   564             User::After( KRetryWait );
       
   565             err = aDb->BeginTransaction();
       
   566             if (aWrite )
       
   567                 {
       
   568                 TRAP(err, GetWriteLockL() );
       
   569                 }
       
   570             }
       
   571         if ( err && aShowNote )
       
   572             {
       
   573             ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
       
   574             }
       
   575         switch ( err )
       
   576             {
       
   577             case KErrNone:
       
   578                 {
       
   579                 CleanupStack::PushL( 
       
   580                     TCleanupItem( RollbackTransactionOnLeave, aDb ) );
       
   581                 break;
       
   582                 }
       
   583             case KErrLocked:
       
   584             case KErrAccessDenied:
       
   585                 {
       
   586                 retval = EFailedWithLocked;
       
   587                 break;
       
   588                 }
       
   589             default:
       
   590                 {
       
   591                 User::LeaveIfError( err );
       
   592                 break;
       
   593                 }
       
   594             }
       
   595         }
       
   596     else
       
   597         {
       
   598         if ( aWrite )
       
   599             {
       
   600             TRAP(err, GetWriteLockL() );
       
   601             }
       
   602         if ( err && aShowNote )
       
   603             {
       
   604             ShowNoteL( R_APUI_VIEW_TEXT_CANNOT_ACCESS_DB );
       
   605             }
       
   606         if ( err != KErrLocked )
       
   607             {
       
   608             User::LeaveIfError( err );
       
   609             }
       
   610         if ( err )
       
   611             {
       
   612             retval = EFailedWithLocked;
       
   613             }
       
   614         else
       
   615             {
       
   616             retval = EUsingAlreadyStarted;
       
   617             }
       
   618         }
       
   619     APSETUILOGGER_LEAVEFN( EModel,"Model::StartTransactionLC")    
       
   620     return retval;
       
   621     }
       
   622 
       
   623 
       
   624 // ---------------------------------------------------------
       
   625 // CApSettingsModel::GetWriteLockL
       
   626 // ---------------------------------------------------------
       
   627 //
       
   628 void CApSettingsModel::GetWriteLockL( )
       
   629     {
       
   630     APSETUILOGGER_ENTERFN( EModel,"Model::GetWriteLockL")
       
   631     CCommsDbTableView* v = 
       
   632         iDb->Database()->OpenTableLC( TPtrC(WAP_ACCESS_POINT ) );
       
   633     TUint32 dummyUid( KApNoneUID );
       
   634     TInt err = v->InsertRecord( dummyUid );
       
   635     User::LeaveIfError( err );
       
   636     v->CancelRecordChanges();
       
   637     User::LeaveIfError( err );
       
   638     CleanupStack::PopAndDestroy( v );
       
   639     APSETUILOGGER_LEAVEFN( EModel,"Model::GetWriteLockL")    
       
   640     }
       
   641 
       
   642 // ---------------------------------------------------------
       
   643 // CApSettingsModel::RollbackTransactionOnLeave
       
   644 // ---------------------------------------------------------
       
   645 //
       
   646 void CApSettingsModel::RollbackTransactionOnLeave( TAny* aDb )
       
   647     {
       
   648     APSETUILOGGER_ENTERFN( EModel,"Model::RollbackTransactionOnLeave")
       
   649     CCommsDatabase* db = STATIC_CAST( CCommsDatabase*, aDb );
       
   650     db->RollbackTransaction();
       
   651     APSETUILOGGER_LEAVEFN( EModel,"Model::RollbackTransactionOnLeave")    
       
   652     }
       
   653 
       
   654 
       
   655 
       
   656 // ---------------------------------------------------------
       
   657 // CApSettingsModel::CommitTransaction
       
   658 // ---------------------------------------------------------
       
   659 //
       
   660 TInt CApSettingsModel::CommitTransaction()
       
   661     {
       
   662     APSETUILOGGER_ENTERFN( EModel,"Model::CommitTransaction")
       
   663     TInt err = iDb->Database()->CommitTransaction();
       
   664     APSETUILOGGER_LEAVEFN( EModel,"Model::CommitTransaction")    
       
   665     return err;
       
   666     }
       
   667 
       
   668 
       
   669 
       
   670 // ---------------------------------------------------------
       
   671 // CApSettingsModel::FFSSpaceBelowCriticalLevelL
       
   672 // ---------------------------------------------------------
       
   673 //
       
   674 TBool CApSettingsModel::FFSSpaceBelowCriticalLevelL
       
   675         ( TBool aShowErrorNote, TInt aBytesToWrite /*=0*/ )
       
   676     {
       
   677     APSETUILOGGER_ENTERFN( EModel,"Model::FFSSpaceBelowCriticalLevelL")
       
   678     TBool ret( EFalse );
       
   679     if ( SysUtil::FFSSpaceBelowCriticalLevelL
       
   680                 ( &( EikEnv()->FsSession()), aBytesToWrite ) )
       
   681         {
       
   682         ret = ETrue;
       
   683         if ( aShowErrorNote )
       
   684             {
       
   685             CErrorUI* errorUi = CErrorUI::NewLC( *EikEnv() );
       
   686             errorUi->ShowGlobalErrorNoteL( KErrDiskFull );
       
   687             CleanupStack::PopAndDestroy();  // errorUi
       
   688             }
       
   689         }
       
   690     APSETUILOGGER_LEAVEFN( EModel,"Model::FFSSpaceBelowCriticalLevelL")    
       
   691     return ret;
       
   692     }
       
   693 
       
   694 
       
   695 
       
   696 
       
   697 // ---------------------------------------------------------
       
   698 // CApSettingsModel::NetWorkListDataL
       
   699 // ---------------------------------------------------------
       
   700 //
       
   701 TInt CApSettingsModel::NetWorkListDataL( TBool& aFailedLocked, 
       
   702                                          CApNetworkItemList& aList )
       
   703     {
       
   704     APSETUILOGGER_ENTERFN( EModel,"Model::NetWorkListDataL")
       
   705     TInt retval( KErrNone );
       
   706     aFailedLocked = EFalse;
       
   707     TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
       
   708                                                /*aShowNote*/EFalse,
       
   709                                                /*aRetry*/ETrue );
       
   710     if ( ownTransaction != EFailedWithLocked )
       
   711         {
       
   712         CApNetworks* apnet = CApNetworks::NewLC( *iDb->Database() );
       
   713         retval = apnet->AllListItemDataL( aList );
       
   714         CleanupStack::PopAndDestroy( apnet ); // apSelect
       
   715         if ( ownTransaction == EOwnTransaction )
       
   716             {
       
   717             TInt err = CommitTransaction();
       
   718             User::LeaveIfError( err );
       
   719             CleanupStack::Pop(); // RollbackTransactionOnLeave
       
   720             }
       
   721         }
       
   722     else
       
   723         {
       
   724         aFailedLocked = ETrue;
       
   725         }
       
   726     APSETUILOGGER_LEAVEFN( EModel,"Model::NetWorkListDataL")    
       
   727     return retval;
       
   728     }
       
   729 
       
   730 
       
   731 
       
   732 // ---------------------------------------------------------
       
   733 // CApSettingsModel::RequestedIPvType
       
   734 // ---------------------------------------------------------
       
   735 //
       
   736 TInt CApSettingsModel::RequestedIPvType( )
       
   737     {
       
   738     APSETUILOGGER_ENTERFN( EModel,"Model::RequestedIPvType<->")
       
   739     return iReqIpvType;
       
   740     }
       
   741 
       
   742 
       
   743 
       
   744 
       
   745 // ---------------------------------------------------------
       
   746 // CApSettingsModel::Need2DeleteSelect
       
   747 // called when menu needs to be displayed
       
   748 // ---------------------------------------------------------
       
   749 //
       
   750 TBool CApSettingsModel::Need2DeleteSelect(  TInt aResourceId, TInt aCount )
       
   751     {
       
   752     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteSelect")
       
   753     TBool retval( EFalse );
       
   754 
       
   755     if ( ( aCount == 0 )
       
   756          &&
       
   757          ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) )
       
   758         {
       
   759         retval = ETrue;
       
   760         }
       
   761     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteSelect")    
       
   762     return retval;
       
   763     }
       
   764 
       
   765 
       
   766 // ---------------------------------------------------------
       
   767 // CApSettingsModel::Need2DeleteOpen
       
   768 // called when menu needs to be displayed
       
   769 // ---------------------------------------------------------
       
   770 //
       
   771 TBool CApSettingsModel::Need2DeleteOpen(  TInt aResourceId, TInt aCount, 
       
   772                                           TUint32 aUid, TBool aNeedsNone )
       
   773     {
       
   774     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteOpen")
       
   775     TBool retval( EFalse );
       
   776     TBool noItem( EFalse );
       
   777     TBool onlyItemIsNone( EFalse );
       
   778     TBool editOnlyVPN( EFalse );
       
   779     TBool noEdit( EFalse );
       
   780 
       
   781     noItem = ( aCount == 0) && 
       
   782             ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
       
   783               ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) );
       
   784     
       
   785     onlyItemIsNone = ( aNeedsNone ) && ( aUid == KApNoneUID ) 
       
   786          && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_ONLY ) ||
       
   787               ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   788               ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   789 
       
   790     editOnlyVPN = ( iVariant & KApUiEditOnlyVPNs ) 
       
   791         && ( ( aResourceId == R_APSETTINGSUI_SELECT_ONLY_MENUBAR ) ||
       
   792              ( aResourceId == R_APSETTINGSUI_SELECT_NORMAL_MENUBAR ) ||
       
   793              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   794     noEdit = ( iNoEdit )
       
   795         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   796              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   797 
       
   798     retval = noItem || onlyItemIsNone || editOnlyVPN || noEdit;
       
   799     
       
   800     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteOpen")    
       
   801     return retval;
       
   802     }
       
   803 
       
   804 
       
   805 // ---------------------------------------------------------
       
   806 // CApSettingsModel::Need2DeleteDeleteL
       
   807 // called when menu needs to be displayed
       
   808 // ---------------------------------------------------------
       
   809 //
       
   810 TBool CApSettingsModel::Need2DeleteDeleteL(  TInt aResourceId, TInt aCount, 
       
   811                                              TUint32 aUid, TBool aNeedsNone )
       
   812     {
       
   813     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteDeleteL")
       
   814     TBool retval( EFalse );
       
   815     TBool noItem( EFalse );
       
   816     TBool onlyItemIsNone( EFalse );    
       
   817     TBool editOnlyVPN( EFalse );
       
   818     TBool noEdit( EFalse );
       
   819 
       
   820     noItem = ( aCount == 0) && 
       
   821             ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
       
   822               ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) );
       
   823 
       
   824     onlyItemIsNone = ( aNeedsNone ) && ( aUid == KApNoneUID ) 
       
   825         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_ONLY ) ||
       
   826              ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   827              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   828 
       
   829     editOnlyVPN = ( iVariant & KApUiEditOnlyVPNs )
       
   830         && ( ( aResourceId == R_APSETTINGSUI_SELECT_ONLY_MENUBAR ) ||
       
   831              ( aResourceId == R_APSETTINGSUI_SELECT_NORMAL_MENUBAR ) ||
       
   832              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   833              
       
   834     noEdit = ( iNoEdit )
       
   835         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   836              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   837 
       
   838     if ( editOnlyVPN )
       
   839         {
       
   840         // check if current item is VPN...        
       
   841         if ( ( aCount != 0 ) && ( aUid != KApNoneUID ) )
       
   842             {
       
   843             retval = ! iVpnApEngine->IsVpnApL( aUid );                
       
   844             }
       
   845         else
       
   846             {
       
   847             retval = ETrue;
       
   848             }
       
   849         }
       
   850     else
       
   851         {
       
   852         if ( onlyItemIsNone || noItem )
       
   853             {
       
   854             retval = ETrue;
       
   855             }
       
   856         }
       
   857     if ( !retval )
       
   858         {
       
   859         if (noEdit)
       
   860             {
       
   861             retval = ETrue;
       
   862             }
       
   863         }        
       
   864     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteDeleteL")    
       
   865     return retval;
       
   866     }
       
   867 
       
   868 
       
   869 // ---------------------------------------------------------
       
   870 // CApSettingsModel::Need2DeleteNewUseExisting
       
   871 // called when menu needs to be displayed
       
   872 // ---------------------------------------------------------
       
   873 //
       
   874 TBool CApSettingsModel::Need2DeleteNewUseExisting(  
       
   875                                             TInt aResourceId, 
       
   876                                             TInt aCount )
       
   877     {
       
   878     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewUseExisting")
       
   879     TBool noEdit( EFalse );
       
   880     TBool retval( EFalse );
       
   881     
       
   882     if ( iProtectionSupported )
       
   883         {
       
   884         if (  aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL  ||
       
   885                 aResourceId == R_APSETTINGSUI_MENU_NORMAL )
       
   886             {
       
   887             TRAP_IGNORE( retval = CApProtHandler::IsTableProtectedL( iDb->Database() ));
       
   888             }
       
   889         }
       
   890 
       
   891     if ( aCount == 0)
       
   892         {
       
   893         if ( ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) ||
       
   894             ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) )
       
   895             {
       
   896             retval = ETrue;
       
   897             }
       
   898         }
       
   899 
       
   900     noEdit = ( iNoEdit )
       
   901         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   902              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   903 
       
   904     if (noEdit)
       
   905         {
       
   906         retval = ETrue;
       
   907         }
       
   908     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteNewUseExisting")    
       
   909     return retval;
       
   910     }
       
   911 
       
   912 
       
   913 // ---------------------------------------------------------
       
   914 // CApSettingsModel::Need2DeleteNewL
       
   915 // called when menu needs to be displayed
       
   916 // ---------------------------------------------------------
       
   917 //
       
   918 TBool CApSettingsModel::Need2DeleteNewL(  TInt aResourceId )
       
   919     {
       
   920     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewL")
       
   921     TBool noEdit( EFalse );
       
   922     TBool retval( EFalse );
       
   923 
       
   924     if ( iProtectionSupported )
       
   925         {
       
   926         if (  aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL  ||
       
   927                 aResourceId == R_APSETTINGSUI_MENU_NORMAL )
       
   928             {      
       
   929             if ( CApProtHandler::IsTableProtectedL( iDb->Database() ))
       
   930                 {
       
   931                 retval = ETrue;
       
   932                 }
       
   933             }
       
   934         }
       
   935 
       
   936     if ( iVariant & KApUiEditOnlyVPNs )
       
   937         {
       
   938         if ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   939              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) 
       
   940            )
       
   941             {
       
   942             retval = ETrue;
       
   943             }
       
   944         }
       
   945 
       
   946     noEdit = ( iNoEdit )
       
   947         && ( ( aResourceId == R_APSETTINGSUI_MENU_SELECT_NORMAL ) ||
       
   948              ( aResourceId == R_APSETTINGSUI_MENU_NORMAL ) );
       
   949 
       
   950     if (noEdit)
       
   951         {
       
   952         retval = ETrue;
       
   953         }
       
   954     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteNewL")    
       
   955     return retval;
       
   956     }
       
   957 
       
   958 
       
   959 
       
   960 // ---------------------------------------------------------
       
   961 // CApSettingsModel::Need2DeleteHelp
       
   962 // called when menu needs to be displayed
       
   963 // ---------------------------------------------------------
       
   964 //
       
   965 TBool CApSettingsModel::Need2DeleteHelp(  TInt aResourceId )
       
   966     {
       
   967     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteHelp")
       
   968     TBool retval( EFalse );
       
   969 
       
   970 	if ( !iHelpSupported )
       
   971 		{
       
   972 	    if ( aResourceId == R_APSETTINGSUI_MENU_NORMAL )
       
   973 	        {
       
   974 	        retval = ETrue;
       
   975 	        }
       
   976 		}
       
   977     
       
   978     APSETUILOGGER_LEAVEFN( EModel,"Model::Need2DeleteHelp")    
       
   979     return retval;
       
   980     }
       
   981 
       
   982 
       
   983 
       
   984 
       
   985 
       
   986 
       
   987 
       
   988 
       
   989 
       
   990 // ---------------------------------------------------------
       
   991 // CApSettingsModel::GetLinkedVpnAccessPointLC
       
   992 // ---------------------------------------------------------
       
   993 //
       
   994 HBufC* CApSettingsModel::GetLinkedVpnAccessPointLC( TUint32 aUid )
       
   995     {
       
   996     APSETUILOGGER_ENTERFN( EModel,"Model::GetLinkedVpnAccessPointLC")
       
   997     HBufC* retval = HBufC::NewLC( KCommsDbSvrMaxFieldLength );    
       
   998     
       
   999     // Get iap for the above WAP, aUid
       
  1000     TUint32 homeiap = iUtils->IapIdFromWapIdL( aUid );
       
  1001 
       
  1002     // now get ALL VPN_SERVICE entry ID where HOME_IAP == iap
       
  1003     // Select * from VPN_SERVICE where HOME_IAP == homeiap
       
  1004     CCommsDbTableView* t;
       
  1005     t = iDb->Database()->OpenViewMatchingUintLC( TPtrC(VPN_SERVICE), 
       
  1006                                                  TPtrC(VPN_SERVICE_IAP), 
       
  1007                                                  homeiap );
       
  1008     TInt err = t->GotoFirstRecord();
       
  1009     // if not found, no such, simply exit, no change in passed array
       
  1010     if ( err != KErrNotFound )
       
  1011         {
       
  1012         User::LeaveIfError( err );
       
  1013         TPtr sgd = retval->Des();
       
  1014         t->ReadTextL( TPtrC(COMMDB_NAME), sgd );
       
  1015         CleanupStack::PopAndDestroy( t );//t
       
  1016         }
       
  1017     else
       
  1018         {
       
  1019         CleanupStack::PopAndDestroy( 2, retval );// retval, t
       
  1020         retval = NULL;
       
  1021         }
       
  1022     
       
  1023     APSETUILOGGER_LEAVEFN( EModel,"Model::GetLinkedVpnAccessPointLC")    
       
  1024     return retval;
       
  1025     }
       
  1026 
       
  1027 
       
  1028 
       
  1029 // ---------------------------------------------------------
       
  1030 // CApSettingsModel::EikEnv
       
  1031 // ---------------------------------------------------------
       
  1032 //
       
  1033 CEikonEnv* CApSettingsModel::EikEnv()
       
  1034     {
       
  1035     APSETUILOGGER_ENTERFN( EModel,"Model::EikEnv<->")
       
  1036     if ( !iEikEnv )
       
  1037         {
       
  1038         iEikEnv = CEikonEnv::Static();
       
  1039         }
       
  1040     return iEikEnv;
       
  1041     }
       
  1042 
       
  1043 
       
  1044 
       
  1045 // ---------------------------------------------------------
       
  1046 // CApSettingsModel::CreateFromDataL
       
  1047 // ---------------------------------------------------------
       
  1048 //
       
  1049 TUint32 CApSettingsModel::CreateFromDataL( CApAccessPointItem& aApItem )
       
  1050     {
       
  1051     APSETUILOGGER_ENTERFN( EModel,"Model::CreateFromDataL")
       
  1052     TTransactionResult ownTransaction = StartTransactionLC( /*aWrite*/EFalse,
       
  1053                                                /*aShowNote*/ETrue,
       
  1054                                                /*aRetry*/ETrue );
       
  1055     if ( ownTransaction != EFailedWithLocked )
       
  1056         {
       
  1057         iApData->CreateFromDataL( aApItem );    // adds normal ap
       
  1058         // write wlan data, only writes if WLAN ap.
       
  1059         WriteWlanL( aApItem, ETrue );
       
  1060 
       
  1061         if ( ownTransaction == EOwnTransaction )
       
  1062             {
       
  1063             TInt err = CommitTransaction();
       
  1064             User::LeaveIfError( err );
       
  1065             CleanupStack::Pop(); // RollbackTransactionOnLeave
       
  1066             }
       
  1067         }
       
  1068 
       
  1069     APSETUILOGGER_LEAVEFN( EModel,"Model::CreateFromDataL")    
       
  1070     return aApItem.WapUid();
       
  1071     }
       
  1072 
       
  1073 
       
  1074 
       
  1075 
       
  1076 
       
  1077 // ---------------------------------------------------------
       
  1078 // CApSettingsModel::ChangeWepSettingsL
       
  1079 // ---------------------------------------------------------
       
  1080 //
       
  1081 TInt CApSettingsModel::ChangeWepSettingsL( CApAccessPointItem* aApItem )
       
  1082     {
       
  1083     APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWepSettingsL - ERROR: not suported")
       
  1084     aApItem = aApItem;
       
  1085     return KErrNotSupported;
       
  1086     }
       
  1087 
       
  1088 
       
  1089 
       
  1090 // ---------------------------------------------------------
       
  1091 // CApSettingsModel::ChangeWpaSettingsL
       
  1092 // ---------------------------------------------------------
       
  1093 //
       
  1094 TInt CApSettingsModel::ChangeWpaSettingsL( CApAccessPointItem* aApItem )
       
  1095     {
       
  1096     APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWpaSettingsL - ERROR: not suported")
       
  1097     aApItem = aApItem;
       
  1098     return KErrNotSupported;
       
  1099     }
       
  1100 
       
  1101 
       
  1102 
       
  1103 // ---------------------------------------------------------
       
  1104 // CApSettingsModel::Change8021xSettingsL
       
  1105 // ---------------------------------------------------------
       
  1106 //
       
  1107 TInt CApSettingsModel::Change8021xSettingsL( CApAccessPointItem* aApItem )
       
  1108     {
       
  1109     APSETUILOGGER_ENTERFN( EModel,"Model::Change8021xSettingsL - ERROR: not suported")
       
  1110     aApItem = aApItem;
       
  1111     return KErrNotSupported;
       
  1112     }
       
  1113 
       
  1114 
       
  1115 
       
  1116 // ---------------------------------------------------------
       
  1117 // CApSettingsModel::ClearWEPAndWPASettings
       
  1118 // ---------------------------------------------------------
       
  1119 //
       
  1120 void CApSettingsModel::ClearWEPAndWPASettings()
       
  1121     {
       
  1122     APSETUILOGGER_ENTERFN( EModel,"Model::ClearWEPAndWPASettings - ERROR: not suported")
       
  1123     }
       
  1124 
       
  1125 
       
  1126 // ---------------------------------------------------------
       
  1127 // CApSettingsModel::WriteWlanL
       
  1128 // ---------------------------------------------------------
       
  1129 //
       
  1130 void CApSettingsModel::WriteWlanL( CApAccessPointItem& aApItem,
       
  1131                                    TBool aIsNew )
       
  1132     {
       
  1133     APSETUILOGGER_ENTERFN( EModel,"Model::WriteWlanL - ERROR: not supported")
       
  1134     aApItem;
       
  1135     aIsNew;
       
  1136     User::Leave( KErrNotSupported );
       
  1137     }
       
  1138 
       
  1139 
       
  1140 // ---------------------------------------------------------
       
  1141 // CApSettingsModel::LoadWlanL
       
  1142 // ---------------------------------------------------------
       
  1143 //
       
  1144 void CApSettingsModel::LoadWlanL( CApAccessPointItem& aApItem )
       
  1145     {
       
  1146     APSETUILOGGER_ENTERFN( EModel,"Model::LoadWlanL - ERROR: not supported")
       
  1147     aApItem;
       
  1148     User::Leave( KErrNotSupported );
       
  1149     }
       
  1150 
       
  1151 
       
  1152 //----------------------------------------------------------
       
  1153 // CApSettingsModel::HasWlanSecSettingsFilledL
       
  1154 //----------------------------------------------------------
       
  1155 //
       
  1156 TBool CApSettingsModel::HasWlanSecSettingsFilledL( CApAccessPointItem& aApItem )
       
  1157     {
       
  1158     APSETUILOGGER_ENTERFN( EModel,"Model::HasWlanSecSettingsFilledL - ERROR: not supported")
       
  1159     aApItem;
       
  1160     return EFalse;
       
  1161     }
       
  1162 
       
  1163 
       
  1164 //----------------------------------------------------------
       
  1165 // CApSettingsModel::UpdateSecurityModeL
       
  1166 //----------------------------------------------------------
       
  1167 //
       
  1168 void CApSettingsModel::UpdateSecurityModeL( CApAccessPointItem& aApItem )
       
  1169     {
       
  1170     APSETUILOGGER_ENTERFN( EModel,"Model::UpdateSecurityModeL - ERROR: not supported")
       
  1171     aApItem;
       
  1172     User::Leave( KErrNotSupported );
       
  1173     }
       
  1174 
       
  1175 // End of File