diff -r b852595f5cbe -r 63be7eb3fc78 wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp Thu Aug 19 10:59:40 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,553 +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 CWsfAppUi. -* -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "wlansettingsui.h" -#include "wsfappui.h" -#include "wsfmainview.h" -#include "wsfdetailsview.h" -#include "wsfmainviewcontrollerif.h" -#include "wsfdetailsviewcontrollerif.h" -#include "wsfmainuiobserver.h" -#include "wsfmainapplication.hrh" -#include "wsfdocument.h" -#include "wsfconnecteddetailsdialog.h" -#include "wsfconnecteddetailsmodel.h" -#include "wsfmodel.h" -#include "wsflogger.h" - -// LOCAL DEFINITIONS -#ifdef _DEBUG - _LIT( KAppUi, "CWsfAppUi" ); - #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \ - User::Panic( KAppUi, __LINE__) ) -#else - #define _ASSERTD( cond ) {} -#endif //_DEBUG - -// --------------------------------------------------------------------------- -// CWsfAppUi::ConstructL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ConstructL() - { - LOG_CREATE; - LOG_WRITE( "Constructing Wlan Sniffer" ); - LOG_ENTERFN( "CWsfAppUi::ConstructL" ); - - BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible ); - - // Initialize feature manager - FeatureManager::InitializeLibL(); - iFeatureManagerInitialized = ETrue; - - iIdle = CIdle::NewL( CActive::EPriorityIdle ); - - // check if the app. launched in embedded mode - TBool isEmbeddedApp = IsEmbedded(); - LOG_WRITEF( "IsEmbedded(): %d", isEmbeddedApp ); - - //Create mainview - LOG_WRITE( "Creating main view" ); - CWsfMainView* mainView = CWsfMainView::NewLC( isEmbeddedApp ); - LOG_WRITE( "Adding main view" ); - AddViewL( mainView ); // transfer ownership to CAknViewAppUi - CleanupStack::Pop( mainView ); - LOG_WRITE( "main view creating done" ); - SetDefaultViewL( *mainView ); - iObserver->MainViewCreatedL(); - - //Create details view (not connected) - LOG_WRITE( "Create details view (not connected)" ); - CWsfDetailsView* detailsView = CWsfDetailsView::NewLC(); - LOG_WRITE( "Adding details view (not connected)" ); - AddViewL( detailsView ); // transfer ownership to CAknViewAppUi - CleanupStack::Pop( detailsView ); - LOG_WRITE( "details view (not connected) creating done" ); - - ActivateMainViewL(); - - iIdle->Start( TCallBack( AppLaunchCompleteL, this ) ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::CWsfAppUi -// --------------------------------------------------------------------------- -// -CWsfAppUi::CWsfAppUi(): - iConnectedDetailsDialog( NULL ), - iForeground( ETrue ), - iFeatureManagerInitialized( EFalse ) - { - // no implementation required - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::~CWsfAppUi -// --------------------------------------------------------------------------- -// -CWsfAppUi::~CWsfAppUi() - { - if ( iWaitDialog ) - { - iWaitDialog->SetCallback( NULL ); - TRAP_IGNORE( iWaitDialog->ProcessFinishedL() ); - } - - if ( iFeatureManagerInitialized ) - { - FeatureManager::UnInitializeLib(); - } - - delete iIdle; - delete iConnectedDetailsDialog; - LOG_WRITE( "CWsfAppUi::~CWsfAppUi" ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::HandleCommandL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::HandleCommandL( TInt aCommand ) - { - LOG_ENTERFN( "CWsfAppUi::HandleCommandL" ); - switch ( aCommand ) - { - case EEikCmdExit: - case EAknCmdExit: - case EAknSoftkeyExit: - { - if ( iAppLaunchCompleted ) - { - Exit(); - } - break; - } - - case ESnifferCmdStartBrowsing: - { - iObserver->StartBrowsingL(); - break; - } - - case ESnifferCmdContinueBrowsing: - { - iObserver->ContinueBrowsingL(); - break; - } - - case ESnifferCmdShowWlans: - { - iObserver->ShowWlanListL(); - break; - } - - case ESnifferCmdConnect: - { - iObserver->ConnectL(); - break; - } - case ESnifferCmdDisconnect: - { - iObserver->DisconnectL(); - break; - } - case ESnifferCmdRefresh: - { - iObserver->RefreshL(); - break; - } - case ESnifferCmdDetails: - { - iObserver->ShowDetailsL(); - break; - } - case ESnifferCmdFilterWlans: - { - iObserver->EditBlackListItemsL(); - break; - } - case ESnifferCmdSettings: - { - // launch settings dialog - CWlanSettingsUi* wlanSettings = - CWlanSettingsUi::NewL( *iEikonEnv ); - CleanupStack::PushL( wlanSettings ); - iForeground = EFalse; - wlanSettings->RunSettingsL(); - iForeground = ETrue; - CleanupStack::PopAndDestroy( wlanSettings ); - break; - } - case EAknCmdHelp: - { - if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) ) - { - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), - AppHelpContextL() ); - } - break; - } - - default: - { - break; - } - } - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::SetUiObserver -// --------------------------------------------------------------------------- -// -void CWsfAppUi::SetUiObserver( MWsfMainUiObserver* aObserver ) - { - iObserver = aObserver; - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::HandleResourceChangeL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::HandleResourceChangeL( TInt aType ) - { - CAknAppUi::HandleResourceChangeL( aType ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::HandleForegroundEventL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::HandleForegroundEventL( TBool aForeground ) - { - LOG_ENTERFN( "CWsfAppUi::HandleForegroundEventL" ); - //Application switched to foreground. - if ( aForeground ) - { - CWsfMainView* mainView = static_cast( - View( TUid::Uid( EMainViewId ) ) ); - if ( mainView ) - { - TRAPD( err, mainView->UpdateBrowserUsageInfoL() ); - if ( err ) - { - LOG_WRITEF( "Browser iap usage update failed - err=%d", err ); - } - } - - if ( iObserver ) - { - iObserver->AppSwitchedForegroundL(); - } - } - else - { - if ( iObserver ) - { - iObserver->AppSwitchedBackgroundL(); - } - - } - - CAknViewAppUi::HandleForegroundEventL( aForeground ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ActivateDetailsViewL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ActivateDetailsViewL( TUid aDetailsViewId ) - { - ActivateLocalViewL( aDetailsViewId ); - LOG_WRITE( "CWsfAppUi::ActivateDetailsViewL" ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ActivateMainViewL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ActivateMainViewL() - { - ActivateLocalViewL( TUid::Uid( EMainViewId ) ); - LOG_WRITE( "CWsfAppUi::ActivateMainViewL" ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::MainView -// --------------------------------------------------------------------------- -// -MWsfMainViewControllerIf& CWsfAppUi::MainView() - { - CWsfMainView* mainView = static_cast( - View( TUid::Uid( EMainViewId ) ) ); - return mainView->Controller(); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::DetailsView -// --------------------------------------------------------------------------- -// -MWsfDetailsViewControllerIf& CWsfAppUi::DetailsView( TInt aDetailsViewType ) - { - CWsfDetailsView* detailsView = static_cast( - View( TUid::Uid( aDetailsViewType ) ) ); - return detailsView->Controller(); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::StartWaitNoteL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::StartWaitNoteL( TBool aVisibilityDelayOff ) - { - LOG_ENTERFN( "CWsfAppUi::StartWaitNoteL" ); - // wait dialog shown only if engine updating - // the wlan list - if( iObserver->EngineRefreshing() ) - { - iWaitDialog = new (ELeave) CAknWaitDialog( - reinterpret_cast( &iWaitDialog ), - aVisibilityDelayOff ); - iWaitDialog->SetCallback( this ); - iWaitDialog->ExecuteLD( R_WAITNOTE_SEARCHING_WLANS ); - } - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::HideWaitNoteL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::HideWaitNoteL() - { - LOG_ENTERFN( "CWsfAppUi::HideWaitNoteL" ); - if ( iWaitDialog ) - { - iWaitDialog->ProcessFinishedL(); - iWaitDialog = NULL; - } - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::DialogDismissedL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::DialogDismissedL( TInt aButtonId ) - { - LOG_ENTERFN( "CWsfAppUi::DialogDismissedL" ); - iWaitDialog = NULL; - - if ( aButtonId == EEikBidCancel ) - { - // dialog was cancelled by the user - - if ( Doc()->Model().IsConnecting() ) - { - // connecting wait note was active - LOG_WRITE( "cancelling 'connecting' wait note" ); - Doc()->Model().AbortConnectingL(); - Doc()->Model().SetConnecting( EFalse ); - } - else - { - // searching for wlan wait note was active - LOG_WRITE( "cancelling 'searching for wlan' wait note" ); - Doc()->Model().AbortScanningL(); - Doc()->Model().SetRefreshState( EFalse ); - } - } - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ShowMenuBarL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ShowMenuBarL() - { - CWsfMainView* mainview = static_cast( iView ); - mainview->SelectionKeyPressed(); - iView->MenuBar()->TryDisplayMenuBarL(); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ShowNoWlansFoundInfoL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ShowNoWlansFoundInfoL() - { - LOG_ENTERFN( "CWsfAppUi::ShowNoWlansFoundInfoL" ); - - CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL(); - connUiUtils->NoWLANNetworksAvailableNote(); - delete connUiUtils; - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ShowErrorNoteL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ShowErrorNoteL( TInt aResourceId ) - { - LOG_ENTERFN( "CWsfAppUi::ShowErrorNoteL" ); - HBufC* txt = StringLoader::LoadLC( aResourceId ); - - CAknErrorNote* errorNote = new (ELeave) CAknErrorNote; - errorNote->ExecuteLD( *txt ); - - CleanupStack::PopAndDestroy( txt ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::ShowGlobalErrorNoteL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::ShowGlobalErrorNoteL( TInt aError ) - { - LOG_ENTERFN( "CWsfAppUi::ShowGlobalErrorNoteL" ); - CErrorUI* errorUi = CErrorUI::NewLC( *CCoeEnv::Static() ); - errorUi->ShowGlobalErrorNoteL( aError ); - CleanupStack::PopAndDestroy( errorUi ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::AppLaunchCompleteL -// --------------------------------------------------------------------------- -// -TInt CWsfAppUi::AppLaunchCompleteL( TAny* aObject ) - { - LOG_ENTERFN( "CWsfAppUi::AppLaunchCompleteL" ); - _ASSERTD( aObject ); - CWsfAppUi* appUi = static_cast( aObject ); - appUi->iAppLaunchCompleted = ETrue; - appUi->StartWaitNoteL( EFalse ); - return 0; // Return false (zero) value not be called again. (Stops timer) - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::IsEmbedded -// --------------------------------------------------------------------------- -// -TBool CWsfAppUi::IsEmbedded() const - { - LOG_ENTERFN( "CWsfAppUi::IsEmbedded" ); - return iEikonEnv->StartedAsServerApp(); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::Doc -// --------------------------------------------------------------------------- -// -CWsfDocument* CWsfAppUi::Doc() - { - return static_cast( Document() ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::Foreground -// --------------------------------------------------------------------------- -// -TBool CWsfAppUi::Foreground() - { - return iForeground; - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::StartConnectedDetailsL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::StartConnectedDetailsL( CWsfWlanInfoArray* aWlanArray, - const TDesC8& aSelectedWlanSsid ) - { - LOG_ENTERFN( "CWsfAppUi::StartConnectedDetailsL" ); - CWsfConnectedDetailsModel* model = CWsfConnectedDetailsModel::NewLC(); - iConnectedDetailsDialog = CWsfConnectedDetailsDialog::NewL(); - iConnectedDetailsDialog->SetListModel(model); - iConnectedDetailsDialog->Controller().SetWlanListL( aWlanArray, - aSelectedWlanSsid ); - iConnectedDetailsDialog->ExecuteLD( R_QTN_CONNECTED_DETAILS_DIALOG ); - iConnectedDetailsDialog = NULL; - CleanupStack::PopAndDestroy(model); - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::UpdateConnectedDetailsL -// --------------------------------------------------------------------------- -// -void CWsfAppUi::UpdateConnectedDetailsL( CWsfWlanInfoArray* aWlanArray ) - { - LOG_ENTERFN( "CWsfAppUi::UpdateConnectedDetailsL" ); - if ( iConnectedDetailsDialog != NULL ) - { - iConnectedDetailsDialog->Controller().WlanListChangedL( aWlanArray ); - } - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::SuppressingKeyEvents -// --------------------------------------------------------------------------- -// -TBool CWsfAppUi::SuppressingKeyEvents() const - { - return iSuppressingKeyEvents; - } - - -// --------------------------------------------------------------------------- -// CWsfAppUi::SetSuppressingKeyEvents -// --------------------------------------------------------------------------- -// -void CWsfAppUi::SetSuppressingKeyEvents( TBool aSuppressing ) - { - iSuppressingKeyEvents = aSuppressing; - } - -// End of file