apengine/apsettingshandlerui/src/ApSettingsModel.cpp
changeset 66 ed07dcc72692
parent 47 cb7afde124a3
equal deleted inserted replaced
64:84c6623982f6 66:ed07dcc72692
    79                                           TVpnFilterType aVpnFilterType,
    79                                           TVpnFilterType aVpnFilterType,
    80                                           TInt aVariant,
    80                                           TInt aVariant,
    81                                           TBool aIncludeEasyWlan,
    81                                           TBool aIncludeEasyWlan,
    82                                           TBool aNoEdit )
    82                                           TBool aNoEdit )
    83     {
    83     {
    84     APSETUILOGGER_ENTERFN( EModel,"Model::NewL")    
    84     return NULL;
    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     }
    85     }
    96 
    86 
    97 
    87 
    98 
    88 
    99 // ---------------------------------------------------------
    89 // ---------------------------------------------------------
   106                                           TVpnFilterType aVpnFilterType,
    96                                           TVpnFilterType aVpnFilterType,
   107                                           TInt aVariant,
    97                                           TInt aVariant,
   108                                           TBool aIncludeEasyWlan,
    98                                           TBool aIncludeEasyWlan,
   109                                           TBool aNoEdit )
    99                                           TBool aNoEdit )
   110     {
   100     {
   111     APSETUILOGGER_ENTERFN( EModel,"Model::NewL2")
   101     return NULL;
   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     }
   102     }
   123 
   103 
   124 
   104 
   125 /**
   105 /**
   126 * Destructor.
   106 * Destructor.
   127 */
   107 */
   128 CApSettingsModel::~CApSettingsModel( )
   108 CApSettingsModel::~CApSettingsModel( )
   129     {
   109     {
   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     }
   110     }
   147 
   111 
   148 
   112 
   149 /**
   113 /**
   150 * Constructor
   114 * Constructor
   155                                     TVpnFilterType aVpnFilterType,
   119                                     TVpnFilterType aVpnFilterType,
   156                                     TBool aIncludeEasyWlan,
   120                                     TBool aIncludeEasyWlan,
   157                                     TBool aNoEdit )
   121                                     TBool aNoEdit )
   158 
   122 
   159     {
   123     {
   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     }
   124     }
   179 
   125 
   180 
   126 
   181 
   127 
   182 // ---------------------------------------------------------
   128 // ---------------------------------------------------------
   183 // CApSettingsModel::ConstructL
   129 // CApSettingsModel::ConstructL
   184 // ---------------------------------------------------------
   130 // ---------------------------------------------------------
   185 //
   131 //
   186 void CApSettingsModel::ConstructL( CActiveApDb* aDb )
   132 void CApSettingsModel::ConstructL( CActiveApDb* aDb )
   187     {
   133     {
   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     }
   134     }
   213 
   135 
   214 
   136 
   215 
   137 
   216 // ---------------------------------------------------------
   138 // ---------------------------------------------------------
   217 // CApSettingsModel::Database
   139 // CApSettingsModel::Database
   218 // ---------------------------------------------------------
   140 // ---------------------------------------------------------
   219 //
   141 //
   220 CActiveApDb* CApSettingsModel::Database()
   142 CActiveApDb* CApSettingsModel::Database()
   221     {
   143     {
   222     APSETUILOGGER_ENTERFN( EModel,"Model::Database<->")
   144     return NULL;
   223     return iDb;
       
   224     }
   145     }
   225 
   146 
   226 
   147 
   227 
   148 
   228 
   149 
   233 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
   154 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
   234                                          CApListItemList& aList, 
   155                                          CApListItemList& aList, 
   235                                          TInt aIspFilter, TInt aBearerFilter,
   156                                          TInt aIspFilter, TInt aBearerFilter,
   236                                          TInt aSortType, TInt aReqIpvType )
   157                                          TInt aSortType, TInt aReqIpvType )
   237     {
   158     {
   238     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL<->")
   159     return 0;
   239     return AllListItemDataL( aFailedLocked, aList, aIspFilter, 
       
   240                              aBearerFilter, aSortType, aReqIpvType,
       
   241                              iVpnFilterType, iIncludeEasyWlan );
       
   242     }
   160     }
   243 
   161 
   244 
   162 
   245 
   163 
   246 // ---------------------------------------------------------
   164 // ---------------------------------------------------------
   256                                         TInt aReqIpvType,
   174                                         TInt aReqIpvType,
   257                                         TVpnFilterType aVpnFilterType,
   175                                         TVpnFilterType aVpnFilterType,
   258                                         TBool aIncludeEasyWlan
   176                                         TBool aIncludeEasyWlan
   259                                         )
   177                                         )
   260     {
   178     {
   261     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL2")
   179     return 0;
   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     }
   180     }
   300 
   181 
   301 
   182 
   302 
   183 
   303 // ---------------------------------------------------------
   184 // ---------------------------------------------------------
   305 // ---------------------------------------------------------
   186 // ---------------------------------------------------------
   306 //
   187 //
   307 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
   188 TInt CApSettingsModel::AllListItemDataL( TBool& aFailedLocked, 
   308                                          CApListItemList& aList )
   189                                          CApListItemList& aList )
   309     {
   190     {
   310     APSETUILOGGER_ENTERFN( EModel,"Model::AllListItemDataL ->")
   191     return 0;
   311     return AllListItemDataL( aFailedLocked, aList,  iParams.iIspFilter, 
       
   312                                                 iParams.iBearerFilter, 
       
   313                                                 iParams.iSortType,
       
   314                                                 iReqIpvType, iVpnFilterType,
       
   315                                                 iIncludeEasyWlan );
       
   316     }
   192     }
   317 
   193 
   318 
   194 
   319 
   195 
   320 // ---------------------------------------------------------
   196 // ---------------------------------------------------------
   322 // ---------------------------------------------------------
   198 // ---------------------------------------------------------
   323 //
   199 //
   324 void CApSettingsModel::AccessPointDataL( TUint32 aUid, 
   200 void CApSettingsModel::AccessPointDataL( TUint32 aUid, 
   325                                          CApAccessPointItem& aApItem )
   201                                          CApAccessPointItem& aApItem )
   326     {
   202     {
   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     }
   203     }
   351 
   204 
   352 
   205 
   353 
   206 
   354 // ---------------------------------------------------------
   207 // ---------------------------------------------------------
   355 // CApSettingsModel::UpdateAccessPointDataL
   208 // CApSettingsModel::UpdateAccessPointDataL
   356 // ---------------------------------------------------------
   209 // ---------------------------------------------------------
   357 //
   210 //
   358 TBool CApSettingsModel::UpdateAccessPointDataL( CApAccessPointItem& aApItem )
   211 TBool CApSettingsModel::UpdateAccessPointDataL( CApAccessPointItem& aApItem )
   359     {
   212     {
   360     APSETUILOGGER_ENTERFN( EModel,"Model::UpdateAccessPointDataL")
   213     return EFalse;
   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     }
   214     }
   398 
   215 
   399 
   216 
   400 
   217 
   401 
   218 
   403 // CApSettingsModel::DataHandler
   220 // CApSettingsModel::DataHandler
   404 // ---------------------------------------------------------
   221 // ---------------------------------------------------------
   405 //
   222 //
   406 CApDataHandler* CApSettingsModel::DataHandler()
   223 CApDataHandler* CApSettingsModel::DataHandler()
   407     {
   224     {
   408     APSETUILOGGER_ENTERFN( EModel,"Model::DataHandler <->")
   225     return NULL;
   409     return iApData;
       
   410     }
   226     }
   411 
   227 
   412 
   228 
   413 
   229 
   414 // ---------------------------------------------------------
   230 // ---------------------------------------------------------
   415 // CApSettingsModel::ApUtils
   231 // CApSettingsModel::ApUtils
   416 // ---------------------------------------------------------
   232 // ---------------------------------------------------------
   417 //
   233 //
   418 CApUtils* CApSettingsModel::ApUtils()
   234 CApUtils* CApSettingsModel::ApUtils()
   419     {
   235     {
   420     APSETUILOGGER_ENTERFN( EModel,"Model::ApUtils <->")
   236     return NULL;
   421     return iUtils;
       
   422     }
   237     }
   423 
   238 
   424 
   239 
   425 // ---------------------------------------------------------
   240 // ---------------------------------------------------------
   426 // CApSettingsModel::SetParams
   241 // CApSettingsModel::SetParams
   427 // ---------------------------------------------------------
   242 // ---------------------------------------------------------
   428 //
   243 //
   429 void CApSettingsModel::SetParams( TApSettingsParams aParams )
   244 void CApSettingsModel::SetParams( TApSettingsParams aParams )
   430     {
   245     {
   431     APSETUILOGGER_ENTERFN( EModel,"Model::SetParams <->")
       
   432     iParams = aParams;
       
   433     }
   246     }
   434 
   247 
   435 
   248 
   436 // ---------------------------------------------------------
   249 // ---------------------------------------------------------
   437 // CApSettingsModel::Params
   250 // CApSettingsModel::Params
   438 // ---------------------------------------------------------
   251 // ---------------------------------------------------------
   439 //
   252 //
   440 TApSettingsParams CApSettingsModel::Params()
   253 TApSettingsParams CApSettingsModel::Params()
   441     {
   254     {
   442     APSETUILOGGER_ENTERFN( EModel,"Model::Params <->")
   255     User::Leave( KErrNotSupported );
   443     return iParams;
   256     return iParams;
   444     }
   257     }
   445 
   258 
   446 
   259 
   447 
   260 
   449 // CApSettingsModel::VpnEngine
   262 // CApSettingsModel::VpnEngine
   450 // ---------------------------------------------------------
   263 // ---------------------------------------------------------
   451 //
   264 //
   452 CVpnApEngine* CApSettingsModel::VpnEngine()
   265 CVpnApEngine* CApSettingsModel::VpnEngine()
   453     {
   266     {
   454     APSETUILOGGER_ENTERFN( EModel,"Model::VpnEngine <->")
   267     return NULL;
   455     return iVpnApEngine;
       
   456     }
   268     }
   457 
   269 
   458 
   270 
   459 // ---------------------------------------------------------
   271 // ---------------------------------------------------------
   460 // CApSettingsModel::LaunchHelpL
   272 // CApSettingsModel::LaunchHelpL
   461 // ---------------------------------------------------------
   273 // ---------------------------------------------------------
   462 //
   274 //
   463 void CApSettingsModel::LaunchHelpL()
   275 void CApSettingsModel::LaunchHelpL()
   464     {
   276     {
   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     }
   277     }
   473 
   278 
   474 
   279 
   475 // ---------------------------------------------------------
   280 // ---------------------------------------------------------
   476 // CApSettingsModel::RemoveApL
   281 // CApSettingsModel::RemoveApL
   477 // ---------------------------------------------------------
   282 // ---------------------------------------------------------
   478 //
   283 //
   479 void CApSettingsModel::RemoveApL( TUint32 aUid )
   284 void CApSettingsModel::RemoveApL( TUint32 aUid )
   480     {
   285     {
   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     }
   286     }
   525 
   287 
   526 
   288 
   527 
   289 
   528 
   290 
   532 //
   294 //
   533 TTransactionResult CApSettingsModel::StartTransactionLC(
   295 TTransactionResult CApSettingsModel::StartTransactionLC(
   534                         TBool aWrite, TBool aShowNote,
   296                         TBool aWrite, TBool aShowNote,
   535                         TBool aRetry, TBool aLFFSChecking /* ETrue */ )
   297                         TBool aRetry, TBool aLFFSChecking /* ETrue */ )
   536     {
   298     {
   537     APSETUILOGGER_ENTERFN( EModel,"Model::StartTransactionLC")
   299     User::Leave( KErrNotSupported );
   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     }
   300     }
   622 
   301 
   623 
   302 
   624 // ---------------------------------------------------------
   303 // ---------------------------------------------------------
   625 // CApSettingsModel::GetWriteLockL
   304 // CApSettingsModel::GetWriteLockL
   626 // ---------------------------------------------------------
   305 // ---------------------------------------------------------
   627 //
   306 //
   628 void CApSettingsModel::GetWriteLockL( )
   307 void CApSettingsModel::GetWriteLockL( )
   629     {
   308     {
   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     }
   309     }
   641 
   310 
   642 // ---------------------------------------------------------
   311 // ---------------------------------------------------------
   643 // CApSettingsModel::RollbackTransactionOnLeave
   312 // CApSettingsModel::RollbackTransactionOnLeave
   644 // ---------------------------------------------------------
   313 // ---------------------------------------------------------
   645 //
   314 //
   646 void CApSettingsModel::RollbackTransactionOnLeave( TAny* aDb )
   315 void CApSettingsModel::RollbackTransactionOnLeave( TAny* aDb )
   647     {
   316     {
   648     APSETUILOGGER_ENTERFN( EModel,"Model::RollbackTransactionOnLeave")
       
   649     CCommsDatabase* db = STATIC_CAST( CCommsDatabase*, aDb );
       
   650     db->RollbackTransaction();
       
   651     APSETUILOGGER_LEAVEFN( EModel,"Model::RollbackTransactionOnLeave")    
       
   652     }
   317     }
   653 
   318 
   654 
   319 
   655 
   320 
   656 // ---------------------------------------------------------
   321 // ---------------------------------------------------------
   657 // CApSettingsModel::CommitTransaction
   322 // CApSettingsModel::CommitTransaction
   658 // ---------------------------------------------------------
   323 // ---------------------------------------------------------
   659 //
   324 //
   660 TInt CApSettingsModel::CommitTransaction()
   325 TInt CApSettingsModel::CommitTransaction()
   661     {
   326     {
   662     APSETUILOGGER_ENTERFN( EModel,"Model::CommitTransaction")
   327     return KErrNotSupported;
   663     TInt err = iDb->Database()->CommitTransaction();
       
   664     APSETUILOGGER_LEAVEFN( EModel,"Model::CommitTransaction")    
       
   665     return err;
       
   666     }
   328     }
   667 
   329 
   668 
   330 
   669 
   331 
   670 // ---------------------------------------------------------
   332 // ---------------------------------------------------------
   672 // ---------------------------------------------------------
   334 // ---------------------------------------------------------
   673 //
   335 //
   674 TBool CApSettingsModel::FFSSpaceBelowCriticalLevelL
   336 TBool CApSettingsModel::FFSSpaceBelowCriticalLevelL
   675         ( TBool aShowErrorNote, TInt aBytesToWrite /*=0*/ )
   337         ( TBool aShowErrorNote, TInt aBytesToWrite /*=0*/ )
   676     {
   338     {
   677     APSETUILOGGER_ENTERFN( EModel,"Model::FFSSpaceBelowCriticalLevelL")
   339     return EFalse;
   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     }
   340     }
   693 
   341 
   694 
   342 
   695 
   343 
   696 
   344 
   699 // ---------------------------------------------------------
   347 // ---------------------------------------------------------
   700 //
   348 //
   701 TInt CApSettingsModel::NetWorkListDataL( TBool& aFailedLocked, 
   349 TInt CApSettingsModel::NetWorkListDataL( TBool& aFailedLocked, 
   702                                          CApNetworkItemList& aList )
   350                                          CApNetworkItemList& aList )
   703     {
   351     {
   704     APSETUILOGGER_ENTERFN( EModel,"Model::NetWorkListDataL")
   352     return KErrNotSupported;
   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     }
   353     }
   729 
   354 
   730 
   355 
   731 
   356 
   732 // ---------------------------------------------------------
   357 // ---------------------------------------------------------
   733 // CApSettingsModel::RequestedIPvType
   358 // CApSettingsModel::RequestedIPvType
   734 // ---------------------------------------------------------
   359 // ---------------------------------------------------------
   735 //
   360 //
   736 TInt CApSettingsModel::RequestedIPvType( )
   361 TInt CApSettingsModel::RequestedIPvType( )
   737     {
   362     {
   738     APSETUILOGGER_ENTERFN( EModel,"Model::RequestedIPvType<->")
   363     return 0;
   739     return iReqIpvType;
       
   740     }
   364     }
   741 
   365 
   742 
   366 
   743 
   367 
   744 
   368 
   747 // called when menu needs to be displayed
   371 // called when menu needs to be displayed
   748 // ---------------------------------------------------------
   372 // ---------------------------------------------------------
   749 //
   373 //
   750 TBool CApSettingsModel::Need2DeleteSelect(  TInt aResourceId, TInt aCount )
   374 TBool CApSettingsModel::Need2DeleteSelect(  TInt aResourceId, TInt aCount )
   751     {
   375     {
   752     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteSelect")
   376     return EFalse;
   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     }
   377     }
   764 
   378 
   765 
   379 
   766 // ---------------------------------------------------------
   380 // ---------------------------------------------------------
   767 // CApSettingsModel::Need2DeleteOpen
   381 // CApSettingsModel::Need2DeleteOpen
   769 // ---------------------------------------------------------
   383 // ---------------------------------------------------------
   770 //
   384 //
   771 TBool CApSettingsModel::Need2DeleteOpen(  TInt aResourceId, TInt aCount, 
   385 TBool CApSettingsModel::Need2DeleteOpen(  TInt aResourceId, TInt aCount, 
   772                                           TUint32 aUid, TBool aNeedsNone )
   386                                           TUint32 aUid, TBool aNeedsNone )
   773     {
   387     {
   774     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteOpen")
   388     return EFalse;
   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     }
   389     }
   803 
   390 
   804 
   391 
   805 // ---------------------------------------------------------
   392 // ---------------------------------------------------------
   806 // CApSettingsModel::Need2DeleteDeleteL
   393 // CApSettingsModel::Need2DeleteDeleteL
   808 // ---------------------------------------------------------
   395 // ---------------------------------------------------------
   809 //
   396 //
   810 TBool CApSettingsModel::Need2DeleteDeleteL(  TInt aResourceId, TInt aCount, 
   397 TBool CApSettingsModel::Need2DeleteDeleteL(  TInt aResourceId, TInt aCount, 
   811                                              TUint32 aUid, TBool aNeedsNone )
   398                                              TUint32 aUid, TBool aNeedsNone )
   812     {
   399     {
   813     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteDeleteL")
   400     return EFalse;
   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     }
   401     }
   867 
   402 
   868 
   403 
   869 // ---------------------------------------------------------
   404 // ---------------------------------------------------------
   870 // CApSettingsModel::Need2DeleteNewUseExisting
   405 // CApSettingsModel::Need2DeleteNewUseExisting
   873 //
   408 //
   874 TBool CApSettingsModel::Need2DeleteNewUseExisting(  
   409 TBool CApSettingsModel::Need2DeleteNewUseExisting(  
   875                                             TInt aResourceId, 
   410                                             TInt aResourceId, 
   876                                             TInt aCount )
   411                                             TInt aCount )
   877     {
   412     {
   878     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewUseExisting")
   413     return EFalse;
   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     }
   414     }
   911 
   415 
   912 
   416 
   913 // ---------------------------------------------------------
   417 // ---------------------------------------------------------
   914 // CApSettingsModel::Need2DeleteNewL
   418 // CApSettingsModel::Need2DeleteNewL
   915 // called when menu needs to be displayed
   419 // called when menu needs to be displayed
   916 // ---------------------------------------------------------
   420 // ---------------------------------------------------------
   917 //
   421 //
   918 TBool CApSettingsModel::Need2DeleteNewL(  TInt aResourceId )
   422 TBool CApSettingsModel::Need2DeleteNewL(  TInt aResourceId )
   919     {
   423     {
   920     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteNewL")
   424     return EFalse;
   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     }
   425     }
   957 
   426 
   958 
   427 
   959 
   428 
   960 // ---------------------------------------------------------
   429 // ---------------------------------------------------------
   962 // called when menu needs to be displayed
   431 // called when menu needs to be displayed
   963 // ---------------------------------------------------------
   432 // ---------------------------------------------------------
   964 //
   433 //
   965 TBool CApSettingsModel::Need2DeleteHelp(  TInt aResourceId )
   434 TBool CApSettingsModel::Need2DeleteHelp(  TInt aResourceId )
   966     {
   435     {
   967     APSETUILOGGER_ENTERFN( EModel,"Model::Need2DeleteHelp")
   436     return EFalse;
   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     }
   437     }
   981 
   438 
   982 
   439 
   983 
   440 
   984 
   441 
   991 // CApSettingsModel::GetLinkedVpnAccessPointLC
   448 // CApSettingsModel::GetLinkedVpnAccessPointLC
   992 // ---------------------------------------------------------
   449 // ---------------------------------------------------------
   993 //
   450 //
   994 HBufC* CApSettingsModel::GetLinkedVpnAccessPointLC( TUint32 aUid )
   451 HBufC* CApSettingsModel::GetLinkedVpnAccessPointLC( TUint32 aUid )
   995     {
   452     {
   996     APSETUILOGGER_ENTERFN( EModel,"Model::GetLinkedVpnAccessPointLC")
   453     return NULL;
   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     }
   454     }
  1026 
   455 
  1027 
   456 
  1028 
   457 
  1029 // ---------------------------------------------------------
   458 // ---------------------------------------------------------
  1030 // CApSettingsModel::EikEnv
   459 // CApSettingsModel::EikEnv
  1031 // ---------------------------------------------------------
   460 // ---------------------------------------------------------
  1032 //
   461 //
  1033 CEikonEnv* CApSettingsModel::EikEnv()
   462 CEikonEnv* CApSettingsModel::EikEnv()
  1034     {
   463     {
  1035     APSETUILOGGER_ENTERFN( EModel,"Model::EikEnv<->")
   464     return NULL;
  1036     if ( !iEikEnv )
       
  1037         {
       
  1038         iEikEnv = CEikonEnv::Static();
       
  1039         }
       
  1040     return iEikEnv;
       
  1041     }
   465     }
  1042 
   466 
  1043 
   467 
  1044 
   468 
  1045 // ---------------------------------------------------------
   469 // ---------------------------------------------------------
  1046 // CApSettingsModel::CreateFromDataL
   470 // CApSettingsModel::CreateFromDataL
  1047 // ---------------------------------------------------------
   471 // ---------------------------------------------------------
  1048 //
   472 //
  1049 TUint32 CApSettingsModel::CreateFromDataL( CApAccessPointItem& aApItem )
   473 TUint32 CApSettingsModel::CreateFromDataL( CApAccessPointItem& aApItem )
  1050     {
   474     {
  1051     APSETUILOGGER_ENTERFN( EModel,"Model::CreateFromDataL")
   475     return 0;
  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     }
   476     }
  1072 
   477 
  1073 
   478 
  1074 
   479 
  1075 
   480 
  1078 // CApSettingsModel::ChangeWepSettingsL
   483 // CApSettingsModel::ChangeWepSettingsL
  1079 // ---------------------------------------------------------
   484 // ---------------------------------------------------------
  1080 //
   485 //
  1081 TInt CApSettingsModel::ChangeWepSettingsL( CApAccessPointItem* aApItem )
   486 TInt CApSettingsModel::ChangeWepSettingsL( CApAccessPointItem* aApItem )
  1082     {
   487     {
  1083     APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWepSettingsL - ERROR: not suported")
       
  1084     aApItem = aApItem;
       
  1085     return KErrNotSupported;
   488     return KErrNotSupported;
  1086     }
   489     }
  1087 
   490 
  1088 
   491 
  1089 
   492 
  1091 // CApSettingsModel::ChangeWpaSettingsL
   494 // CApSettingsModel::ChangeWpaSettingsL
  1092 // ---------------------------------------------------------
   495 // ---------------------------------------------------------
  1093 //
   496 //
  1094 TInt CApSettingsModel::ChangeWpaSettingsL( CApAccessPointItem* aApItem )
   497 TInt CApSettingsModel::ChangeWpaSettingsL( CApAccessPointItem* aApItem )
  1095     {
   498     {
  1096     APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWpaSettingsL - ERROR: not suported")
       
  1097     aApItem = aApItem;
       
  1098     return KErrNotSupported;
   499     return KErrNotSupported;
  1099     }
   500     }
  1100 
   501 
  1101 
   502 
  1102 
   503 
  1104 // CApSettingsModel::Change8021xSettingsL
   505 // CApSettingsModel::Change8021xSettingsL
  1105 // ---------------------------------------------------------
   506 // ---------------------------------------------------------
  1106 //
   507 //
  1107 TInt CApSettingsModel::Change8021xSettingsL( CApAccessPointItem* aApItem )
   508 TInt CApSettingsModel::Change8021xSettingsL( CApAccessPointItem* aApItem )
  1108     {
   509     {
  1109     APSETUILOGGER_ENTERFN( EModel,"Model::Change8021xSettingsL - ERROR: not suported")
       
  1110     aApItem = aApItem;
       
  1111     return KErrNotSupported;
   510     return KErrNotSupported;
  1112     }
   511     }
  1113 
   512 
  1114 
   513 
  1115 
   514 
  1117 // CApSettingsModel::ClearWEPAndWPASettings
   516 // CApSettingsModel::ClearWEPAndWPASettings
  1118 // ---------------------------------------------------------
   517 // ---------------------------------------------------------
  1119 //
   518 //
  1120 void CApSettingsModel::ClearWEPAndWPASettings()
   519 void CApSettingsModel::ClearWEPAndWPASettings()
  1121     {
   520     {
  1122     APSETUILOGGER_ENTERFN( EModel,"Model::ClearWEPAndWPASettings - ERROR: not suported")
       
  1123     }
   521     }
  1124 
   522 
  1125 
   523 
  1126 // ---------------------------------------------------------
   524 // ---------------------------------------------------------
  1127 // CApSettingsModel::WriteWlanL
   525 // CApSettingsModel::WriteWlanL
  1128 // ---------------------------------------------------------
   526 // ---------------------------------------------------------
  1129 //
   527 //
  1130 void CApSettingsModel::WriteWlanL( CApAccessPointItem& aApItem,
   528 void CApSettingsModel::WriteWlanL( CApAccessPointItem& aApItem,
  1131                                    TBool aIsNew )
   529                                    TBool aIsNew )
  1132     {
   530     {
  1133     APSETUILOGGER_ENTERFN( EModel,"Model::WriteWlanL - ERROR: not supported")
       
  1134     aApItem;
       
  1135     aIsNew;
       
  1136     User::Leave( KErrNotSupported );
   531     User::Leave( KErrNotSupported );
  1137     }
   532     }
  1138 
   533 
  1139 
   534 
  1140 // ---------------------------------------------------------
   535 // ---------------------------------------------------------
  1141 // CApSettingsModel::LoadWlanL
   536 // CApSettingsModel::LoadWlanL
  1142 // ---------------------------------------------------------
   537 // ---------------------------------------------------------
  1143 //
   538 //
  1144 void CApSettingsModel::LoadWlanL( CApAccessPointItem& aApItem )
   539 void CApSettingsModel::LoadWlanL( CApAccessPointItem& aApItem )
  1145     {
   540     {
  1146     APSETUILOGGER_ENTERFN( EModel,"Model::LoadWlanL - ERROR: not supported")
       
  1147     aApItem;
       
  1148     User::Leave( KErrNotSupported );
   541     User::Leave( KErrNotSupported );
  1149     }
   542     }
  1150 
   543 
  1151 
   544 
  1152 //----------------------------------------------------------
   545 //----------------------------------------------------------
  1153 // CApSettingsModel::HasWlanSecSettingsFilledL
   546 // CApSettingsModel::HasWlanSecSettingsFilledL
  1154 //----------------------------------------------------------
   547 //----------------------------------------------------------
  1155 //
   548 //
  1156 TBool CApSettingsModel::HasWlanSecSettingsFilledL( CApAccessPointItem& aApItem )
   549 TBool CApSettingsModel::HasWlanSecSettingsFilledL( CApAccessPointItem& aApItem )
  1157     {
   550     {
  1158     APSETUILOGGER_ENTERFN( EModel,"Model::HasWlanSecSettingsFilledL - ERROR: not supported")
       
  1159     aApItem;
       
  1160     return EFalse;
   551     return EFalse;
  1161     }
   552     }
  1162 
   553 
  1163 
   554 
  1164 //----------------------------------------------------------
   555 //----------------------------------------------------------
  1165 // CApSettingsModel::UpdateSecurityModeL
   556 // CApSettingsModel::UpdateSecurityModeL
  1166 //----------------------------------------------------------
   557 //----------------------------------------------------------
  1167 //
   558 //
  1168 void CApSettingsModel::UpdateSecurityModeL( CApAccessPointItem& aApItem )
   559 void CApSettingsModel::UpdateSecurityModeL( CApAccessPointItem& aApItem )
  1169     {
   560     {
  1170     APSETUILOGGER_ENTERFN( EModel,"Model::UpdateSecurityModeL - ERROR: not supported")
       
  1171     aApItem;
       
  1172     User::Leave( KErrNotSupported );
   561     User::Leave( KErrNotSupported );
  1173     }
   562     }
  1174 
   563 
  1175 // End of File
   564 // End of File