diff -r b852595f5cbe -r 63be7eb3fc78 wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Thu Aug 19 10:59:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,921 +0,0 @@ -/* -* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: Implementation of TWsfMainController. -* -*/ - -// EXTERNAL INCLUDES -#include -#include -#include -#include -#include -#include - -#include - -// CLASS HEADER -#include "wsfmaincontroller.h" - -// INTERNAL INCLUDES -#include "wsfmodel.h" -#include "wsfwlaninfo.h" -#include "wsfwlaninfoarray.h" -#include "wsfappui.h" -#include "wsfmainviewcontrollerif.h" -#include "wsfdetailsviewcontrollerif.h" -#include "wsfmainapplication.hrh" -#include "wsfwlaninfoarrayvisitor.h" - -#include "wsflogger.h" - -// LOCAL DEFINITIONS -#ifdef _DEBUG - _LIT( KMainControllerPanic, "TWsfMainController" ); - #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \ - User::Panic( KMainControllerPanic, __LINE__) ) -#else - #define _ASSERTD( cond ) {} -#endif //_DEBUG - -// --------------------------------------------------------------------------- -// TWsfMainController::Initialize -// --------------------------------------------------------------------------- -// -void TWsfMainController::Initialize( - CWsfAppUi& aAppUi, - CWsfModel& aModel, - CWsfWlanInfoArrayVisitor &aWlanInfoBranding ) - { - iAppUi = &aAppUi; - iModel = &aModel; - iWlanInfoBranding = &aWlanInfoBranding; - iModel->SetConnecting( EFalse ); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::UpdateViewL -// --------------------------------------------------------------------------- -// -void TWsfMainController::UpdateViewL() - { - LOG_ENTERFN( "TWsfMainController::UpdateViewL" ); - CWsfWlanInfoArray* array = iModel->GetWlanListL(); - array->SortArrayL( *iWlanInfoBranding ); - - LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid ); - switch ( iModel->ActiveViewL().iUid ) - { - case EMainViewId: - { - _ASSERTD( iMainView ); - iMainView->UpdateWlanListL( array ); - break; - } - - case EDetailsViewId: - { - _ASSERTD( iDetailsView ); - iMainView->UpdateWlanListInBackgroundL( array ); - iDetailsView->WlanListChangedL( array ); - break; - } - case EConnectedDetailsViewId: - { - iMainView->UpdateWlanListL( array ); - iAppUi->UpdateConnectedDetailsL( array ); - break; - } - default: - { - // Invalid view ID, make panic. - _ASSERTD( 0 ); - break; - } - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::UpdateViewL -// --------------------------------------------------------------------------- -// -void TWsfMainController::UpdateViewL( CWsfWlanInfoArray* aInfoArray ) - { - LOG_ENTERFN( "TWsfMainController::UpdateViewL( aInfoArray ) " ); - LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid ); - switch ( iModel->ActiveViewL().iUid ) - { - case EMainViewId: - { - iMainView->UpdateWlanListL( aInfoArray ); - break; - } - - case EDetailsViewId: - { - iDetailsView->WlanListChangedL( aInfoArray ); - break; - } - case EConnectedDetailsViewId: - { - iMainView->UpdateWlanListL( aInfoArray ); - iAppUi->UpdateConnectedDetailsL( aInfoArray ); - break; - } - default: - { - // Invalid view ID, make panic. - _ASSERTD( 0 ); - break; - } - } - } - -// Events from AppUi - -// --------------------------------------------------------------------------- -// TWsfMainController::ShowWlanListL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ShowWlanListL() - { - LOG_ENTERFN( "TWsfMainController::ShowWlanListL" ); - _ASSERTD( iAppUi ); - _ASSERTD( iModel ); - - iModel->SetActiveViewL( EMainViewId ); - iAppUi->ActivateMainViewL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ShowDetailsL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ShowDetailsL() - { - LOG_ENTERFN( "TWsfMainController::ShowDetailsL" ); - _ASSERTD( iAppUi ); - _ASSERTD( iModel ); - _ASSERTD( iModel->ActiveViewL().iUid != EDetailsViewId ); - - TWsfWlanInfo* selectedWlan = iMainView->SelectedItem(); - - if ( selectedWlan ) - { - TBool connected = selectedWlan->Connected(); - - if( connected ) // Connected Details View - Replaced with dialog - { - // Work around - Emulated view - iModel->SetActiveViewL( EConnectedDetailsViewId ); - // Holds selected wlan Ssid - HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC(); - - // Holds current wlan array - if ( !iInfoArray ) - { - iInfoArray = iModel->GetWlanListL(); - iInfoArray->SortArrayL( *iWlanInfoBranding ); - } - // Start and execute the Connected Details dialog - // Set array and Ssid to detail view - iAppUi->StartConnectedDetailsL( iInfoArray, *ssid ); - CleanupStack::PopAndDestroy( ssid ); - - // After the dismissal of the Connected Details dialog, - // change back to the main view - ShowWlanListL(); - } - else - { - iDetailsView = &( iAppUi->DetailsView( EDetailsViewId ) ); - iModel->SetActiveViewL( EDetailsViewId ); - iDetailsView->SetPartner( *this ); - - // Holds selected wlan Ssid - HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC(); - - // Holds current wlan array - if ( !iInfoArray ) - { - iInfoArray = iModel->GetWlanListL(); - iInfoArray->SortArrayL( *iWlanInfoBranding ); - } - //Set array and Ssid to detail view - iDetailsView->SetWlanListL( iInfoArray, *ssid ); - - CleanupStack::PopAndDestroy( ssid ); - - iAppUi->ActivateDetailsViewL( iModel->ActiveViewL() ); - } - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::MainViewCreatedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::MainViewCreatedL() - { - LOG_ENTERFN( "TWsfMainController::MainViewCreatedL" ); - iMainView = &( iAppUi->MainView() ); - iMainView->SetPartner( *this ); - iModel->SetActiveViewL( EMainViewId ); - - if ( !iModel->Refreshing() ) - { - iModel->SetRefreshState( ETrue ); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::WlanListChangedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::WlanListChangedL() - { - LOG_ENTERFN( "TWsfMainController::WlanListChangedL" ); - - if ( iModel->IsConnecting() ) - { - LOG_WRITE( "We are connecting just return from here" ); - return; - } - - if ( iModel->Refreshing() ) - { - // Make sure if leave occures that we don't block ourselves for retry - CleanupStack::PushL( TCleanupItem( RestoreRefreshState, this ) ); - iModel->SetRefreshState( EFalse ); - if ( iAppUi ) - { - iAppUi->HideWaitNoteL(); - iInfoArray = iModel->GetWlanListL(); - if ( !iInfoArray->Count() ) - { - iAppUi->ShowNoWlansFoundInfoL(); - } - UpdateViewL(); - } - // pop cleanup item RestoreRefreshState - CleanupStack::Pop(); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::NotifyEngineError -// --------------------------------------------------------------------------- -// -void TWsfMainController::NotifyEngineError( TInt aError ) - { - LOG_ENTERFN( "TWsfMainController::NotifyEngineError" ); - switch ( aError ) - { - case KErrServerTerminated: - { - break; - } - - default: - { - TRAP_IGNORE( iAppUi->ShowGlobalErrorNoteL( aError ) ); - } - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ScanDisabledL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ScanDisabledL() - { - // no implementation required - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ScanEnabledL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ScanEnabledL() - { - // no implementation required - } - -// --------------------------------------------------------------------------- -// TWsfMainController::WlanConnectionActivatedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::WlanConnectionActivatedL() - { - LOG_ENTERFN( "TWsfMainController::WlanConnectionActivatedL" ); - - // update the model and refresh ui - if ( iInfoArray ) - { - TBool found = EFalse; - TWsfWlanInfo info; - iModel->GetConnectedWlanDetailsL( info ); - if ( info.iIapId ) - { - // find the entry for iapid - // mark it connected - sort the array and refresh - TWsfWlanInfo* temp = iInfoArray->Match( info.iIapId, - iInfoArray->Count() ); - if ( temp ) - { - found = ETrue; - temp->iConnectionState = EConnected; - iInfoArray->SortArrayL(); - UpdateViewL( iInfoArray ); - } - } - - if ( !found ) - { - // find the entry - // mark it connected - sort the array and refresh - TWsfWlanInfo* temp = iInfoArray->Match( info.iSsid, - iInfoArray->Count() ); - if ( temp ) - { - temp->iConnectionState = EConnected; - temp->iIapId = info.iIapId; - iInfoArray->SortArrayL(); - UpdateViewL( iInfoArray ); - } - } - } - - //Update icon - iModel->RefreshScanL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::WlanConnectionClosedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::WlanConnectionClosedL() - { - LOG_ENTERFN( "TWsfMainController::WlanConnectionClosedL" ); - // update the model and refresh ui - if ( iInfoArray ) - { - // check if the array has any items - if ( iInfoArray->Count() ) - { - TWsfWlanInfo* firstItem = iInfoArray->At( 0 ); - if ( firstItem && ( firstItem->Connected() || - firstItem->iConnectionState == EConnecting ) ) - { - LOG_WRITEF( "info state = %d", firstItem->iConnectionState ); - firstItem->iConnectionState = ENotConnected; - TRAPD( error, iModel->CheckIsIapIdValidL( firstItem->iIapId ) ); - if ( error ) - { - LOG_WRITEF( "Iap Id is not valid - error=%d", error ); - if ( firstItem->iRawSsid.Length() ) - { - firstItem->iSsid.Copy( firstItem->iRawSsid ); - } - firstItem->iIapId = 0; - } - iInfoArray->SortArrayL(); - UpdateViewL( iInfoArray ); - } - } - } - - // Abort current scan if exists so that we get - // newest scan results propagated to ui - iModel->AbortScanningL(); - iModel->RefreshScanL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ConnectingFinishedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ConnectionCreationProcessFinishedL( TInt /*aResult*/ ) - { - // no implementation required - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ShowMenuBarL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ShowMenuBarL() - { - LOG_ENTERFN( "TWsfMainController::ShowMenuBarL" ); - iAppUi->ShowMenuBarL(); - } - -// --------------------------- Events from the details view ------------------ - -// --------------------------------------------------------------------------- -// TWsfMainController::CloseDetailsViewL -// --------------------------------------------------------------------------- -// -void TWsfMainController::CloseDetailsViewL() - { - LOG_ENTERFN( "TWsfMainController::CloseDetailsViewL" ); - ShowWlanListL(); - // After the Details View closed the mainview's - // WlanList will be refreshed. - iModel->RefreshScanL(); - } - -// ------------------------------- Menu press handler ------------------------ - - -// ---------------------------------------------------------------------------- -// TWsfMainController::StartBrowsingL -// ---------------------------------------------------------------------------- -// -void TWsfMainController::StartBrowsingL() - { - LOG_ENTERFN( "TWsfMainController::StartBrowsingL" ); - if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() && - ( !iMainView->SelectedItem() || - !iMainView->SelectedItem()->Connected() ) ) - { - iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE ); - return; - } - - // make sure we don't suppress our key events forever - CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) ); - iAppUi->SetSuppressingKeyEvents( ETrue ); - - TWsfWlanInfo* selectedItem = iMainView->SelectedItem(); - TWsfWlanInfo info; - - if ( selectedItem ) - { - info = *selectedItem; - } - - // Prevent connections to ad-hoc + WPA - if ( info.iNetMode == CMManager::EAdhoc - && info.iSecurityMode == CMManager::EWlanSecModeWpa ) - { - iAppUi->ShowGlobalErrorNoteL( KErrNotSupported ); - CleanupStack::PopAndDestroy(); - return; - } - - TInt result( KErrNone ); - - TWsfIapPersistence persistence = EIapPersistent; - - if ( !info.Known() && !info.Connected() ) - { - // if not known yet, create an IAP - if ( iModel->CreateAccessPointL( info, EFalse ) ) - { - persistence = EIapExpireOnDisconnect; - // update iapID to list - UpdateIapIdToInfoArrayL( info ); - } - else - { - result = KErrGeneral; - } - } - - if ( info.iIapId && !info.Connected() ) - { - // hopefully we have a valid IAP id inside - result = iModel->ConnectL( info.iIapId, EFalse, persistence ); - } - else if ( !info.Connected() ) - { - result = KErrGeneral; - } - - // pop cleanup item ReleaseSuppressingKeyEvents - CleanupStack::Pop(); - iAppUi->SetSuppressingKeyEvents( EFalse ); - - if ( !result ) - { - TUint32 passedIap( info.iIapId ); - - if ( info.Connected() && !passedIap ) - { - // in case we have an EasyWLAN here - RCmManagerExt cmmanager; - cmmanager.OpenLC(); - - passedIap = cmmanager.EasyWlanIdL(); - - CleanupStack::PopAndDestroy( &cmmanager ); - } - - // launch the browser - iModel->LaunchBrowserL( passedIap ); - } - else if ( result == KErrCancel ) - { - // connection creation was cancelled, refresh the view - iModel->RefreshScanL(); - } - - } - - -// ---------------------------------------------------------------------------- -// TWsfMainController::ConnectL -// ---------------------------------------------------------------------------- -// -void TWsfMainController::ConnectL() - { - LOG_ENTERFN( "TWsfMainController::ConnectL" ); - if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() ) - { - iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE ); - return; - } - - // make sure we don't suppress our key events forever - CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) ); - iAppUi->SetSuppressingKeyEvents( ETrue ); - - TWsfWlanInfo* selectedItem = iMainView->SelectedItem(); - TWsfWlanInfo info; - - if ( selectedItem ) - { - info = *selectedItem; - } - - // Prevent connections to ad-hoc + WPA - if ( info.iNetMode == CMManager::EAdhoc - && info.iSecurityMode == CMManager::EWlanSecModeWpa ) - { - iAppUi->ShowGlobalErrorNoteL( KErrNotSupported ); - CleanupStack::PopAndDestroy(); - return; - } - - TWsfIapPersistence persistence = EIapPersistent; - - if ( !info.Known() ) - { - // a new access point needs to be created - if ( iModel->CreateAccessPointL( info, EFalse ) ) - { - persistence = EIapExpireOnDisconnect; - // update iapID to list - UpdateIapIdToInfoArrayL( info ); - } - } - - if ( info.iIapId ) - { - // hopefully we have a valid IAP id inside - iModel->ConnectL( info.iIapId, ETrue, persistence ); - } - - // pop cleanup item ReleaseSuppressingKeyEvents - CleanupStack::Pop(); - iAppUi->SetSuppressingKeyEvents( EFalse ); - - } - -// --------------------------------------------------------------------------- -// TWsfMainController::UpdateIapIdToInfoArrayL -// --------------------------------------------------------------------------- -// -void TWsfMainController::UpdateIapIdToInfoArrayL( TWsfWlanInfo& aInfo ) - { - LOG_ENTERFN( "TWsfMainController::UpdateIapIdToInfoArrayL" ); - TWsfWlanInfo* temp = iInfoArray->Match( aInfo.iSsid, iInfoArray->Count() ); - if ( temp && !aInfo.Hidden() ) - { - LOG_WRITE( "Info found" ); - - // Check that there aren't any IAPs with same id - TWsfWlanInfo* wlanInfoWithSameIapId = iInfoArray->Match( aInfo.iIapId, - iInfoArray->Count() ); - if ( wlanInfoWithSameIapId ) - { - // info with same id found set its iap id to zero - LOG_WRITE( "info with same id found" ); - wlanInfoWithSameIapId->iIapId = 0; - } - - temp->iIapId = aInfo.iIapId; - - if ( aInfo.iNetworkName.Length() ) - { - // Replace ssid as well since scanner does this same thing - temp->iSsid.Copy( aInfo.iNetworkName ); - } - } - else - { - LOG_WRITE( "Info not found" ); - TWsfWlanInfo* createdInfo = new (ELeave) TWsfWlanInfo( aInfo ); - createdInfo->iVisibility = ETrue; - createdInfo->iStrengthLevel = EWlanSignalStrengthMax; - iInfoArray->AppendL( createdInfo ); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::DisconnectL -// --------------------------------------------------------------------------- -// -void TWsfMainController::DisconnectL() - { - LOG_ENTERFN( "TWsfMainController::DisconnectL" ); - if ( iModel->IsConnecting() ) - { - LOG_WRITE( "Abort connecting" ); - iModel->AbortConnectingL(); - } - else - { - LOG_WRITE( "Disconnect" ); - iModel->DisconnectL(); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::RefreshL -// --------------------------------------------------------------------------- -// -void TWsfMainController::RefreshL() - { - LOG_ENTERFN( "TWsfMainController::RefreshL" ); - TBool refreshing = iModel->RefreshScanL(); - if ( refreshing ) - { - iAppUi->StartWaitNoteL( ETrue ); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ContinueBrowsingL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ContinueBrowsingL() - { - LOG_ENTERFN( "TWsfMainController::ContinueBrowsingL" ); - // pass selected WLAN info to engine - TWsfWlanInfo *selectedItem = iMainView->SelectedItem(); - - if ( selectedItem ) - { - // Prevent connections to ad-hoc + WPA - if ( selectedItem->iNetMode == CMManager::EAdhoc - && selectedItem->iSecurityMode == CMManager::EWlanSecModeWpa ) - { - iAppUi->ShowGlobalErrorNoteL( KErrNotSupported ); - return; - } - - TUint iapId = selectedItem->iIapId; - iModel->ContinueBrowsingL( iapId ); - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::EngineRefreshing -// --------------------------------------------------------------------------- -// -TBool TWsfMainController::EngineRefreshing() - { - LOG_ENTERFN( "TWsfMainController::EngineRefreshing" ); - _ASSERTD( iModel ); - return iModel->Refreshing(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::AppLaunchCompleteL -// --------------------------------------------------------------------------- -// -void TWsfMainController::AppLaunchCompleteL() - { - LOG_ENTERFN( "TWsfMainController::AppLaunchCompleteL" ); - iAppUi->StartWaitNoteL( EFalse ); - iModel->EnableScanL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::AppSwitchedForegroundL -// --------------------------------------------------------------------------- -// -void TWsfMainController::AppSwitchedForegroundL() - { - LOG_ENTERFN( "TWsfMainController::AppSwitchedForegroundL" ); - - //turn on scanning for our point of view - iModel->EnableScanL(); - - if ( !iModel->IsConnecting() ) - { - LOG_WRITE( "Scan now" ); - TBool scan = iModel->RefreshScanL(); - if( !scan ) - { - LOG_WRITE( "Set refresh state to true" ); - //if the refresh call was called when the server was - //actually making a scan then the refresh state of the - //model is turned to false, but in this case the scanning - //wait note will stuck on the screen, That's why the - //refresh state must be turned to true - iModel->SetRefreshState( ETrue ); - } - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::AppSwitchedBackgroundL -// --------------------------------------------------------------------------- -// -void TWsfMainController::AppSwitchedBackgroundL() - { - LOG_ENTERFN( "TWsfMainController::AppSwitchedBackgroundL" ); - iModel->DisableScanL(); - } - - -// --------------------------------------------------------------------------- -// TWsfMainController::BrowserLaunchCompleteL -// --------------------------------------------------------------------------- -// -void TWsfMainController::BrowserLaunchCompleteL() - { - LOG_ENTERFN( "TWsfMainController::BrowserLaunchCompleteL" ); - // no implementation required - } - - -// --------------------------------------------------------------------------- -// TWsfMainController::BrowserExitL -// --------------------------------------------------------------------------- -// -void TWsfMainController::BrowserExitL() - { - LOG_ENTERFN( "TWsfMainController::BrowserExitL" ); - iModel->AbortScanningL(); - iModel->RefreshScanL(); - } - - -// --------------------------------------------------------------------------- -// TWsfMainController::BrowserLaunchFailed -// --------------------------------------------------------------------------- -// -void TWsfMainController::BrowserLaunchFailed( TInt aError ) - { - LOG_ENTERFN( "TWsfMainController::BrowserLaunchFailed" ); - LOG_WRITEF( "error = %d", aError ); - switch ( aError ) - { - case KErrCancel: - { - // user pressed cancel to connection creation - break; - } - - default: - { - break; - } - } - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ConnectingL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ConnectingL( TUint32 aIapId ) - { - LOG_ENTERFN( "TWsfMainController::ConnectingL" ); - iModel->SetConnecting( ETrue ); - - // update the model and refresh ui - if ( iInfoArray ) - { - LOG_WRITEF( "Match array with iapID = %d", aIapId ); - // find the entry for aIapId - // mark it connecting - sort the array and refresh - TWsfWlanInfo* temp = iInfoArray->Match( aIapId, iInfoArray->Count() ); - if ( temp ) - { - LOG_WRITEF( "Info found iapID = %d", aIapId ); - temp->iConnectionState = EConnecting; - iInfoArray->SortArrayL(); - UpdateViewL( iInfoArray ); - } - } - } - - -// --------------------------------------------------------------------------- -// TWsfMainController::ConnectingFinishedL -// --------------------------------------------------------------------------- -// -void TWsfMainController::ConnectingFinishedL( TInt aResult ) - { - LOG_ENTERFN( "TWsfMainController::ConnectingFinishedL" ); - if ( iModel->IsConnecting() ) - { - iModel->SetConnecting( EFalse ); - iModel->SetRefreshState( ETrue ); - iAppUi->HideWaitNoteL(); - } - - if ( aResult != KErrNone && aResult != KErrCancel ) - { - LOG_WRITEF( "Connection failed with error=%d", aResult ); - if ( iInfoArray && iInfoArray->Count() && - iInfoArray->At(0)->iConnectionState == EConnecting ) - { - iInfoArray->At(0)->iConnectionState = ENotConnected; - TRAPD( error, iModel->CheckIsIapIdValidL( - iInfoArray->At(0)->iIapId ) ); - if ( error ) - { - LOG_WRITEF( "Iap Id %d is not valid - error=%d", - iInfoArray->At(0)->iIapId, error ); - - if ( iInfoArray->At(0)->iRawSsid.Length() ) - { - iInfoArray->At(0)->iSsid.Copy( - iInfoArray->At(0)->iRawSsid ); - } - - iInfoArray->At(0)->iIapId = 0; - } - iInfoArray->SortArrayL(); - UpdateViewL( iInfoArray ); - iModel->AbortScanningL(); - iModel->RefreshScanL(); - } - } - } - - -// --------------------------------------------------------------------------- -// TWsfMainController::EditBlackListItemsL -// --------------------------------------------------------------------------- -// -void TWsfMainController::EditBlackListItemsL() - { - LOG_ENTERFN( "TWsfMainController::EditBlackListItemsL" ); - _ASSERTD( iWlanInfoBranding ); - iWlanInfoBranding->EditBlackListL( *iInfoArray ); - iModel->RefreshScanL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::DetailsScanL -// --------------------------------------------------------------------------- -// -void TWsfMainController::DetailsScanL() - { - LOG_ENTERFN( "TWsfMainController::DetailsScanL" ); - iModel->RefreshScanL(); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::ReleaseSuppressingKeyEvents -// --------------------------------------------------------------------------- -// -void TWsfMainController::ReleaseSuppressingKeyEvents( TAny* aPtr ) - { - TWsfMainController* self = - static_cast( aPtr ); - self->iAppUi->SetSuppressingKeyEvents( EFalse ); - self->iModel->SetConnecting( EFalse ); - TRAP_IGNORE( self->iModel->RefreshScanL() ); - } - -// --------------------------------------------------------------------------- -// TWsfMainController::RestoreRefreshState -// --------------------------------------------------------------------------- -// -void TWsfMainController::RestoreRefreshState( TAny* aPtr ) - { - TWsfMainController* self = - static_cast( aPtr ); - LOG_WRITE( "Restore refresh state") - self->iModel->SetRefreshState( ETrue ); - } - -// End of file