# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268649894 -7200 # Node ID 8b0eae1b1d71db88f772c06664df94090eceb6b1 # Parent dff6ebfd236fad21d0debb9d48bf5e953fea0c06 Revision: 201009 Kit: 201010 diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/group/bld.inf --- a/hotspotfw/group/bld.inf Fri Mar 12 15:48:54 2010 +0200 +++ b/hotspotfw/group/bld.inf Mon Mar 15 12:44:54 2010 +0200 @@ -24,6 +24,8 @@ PRJ_EXPORTS ../rom/hotspot.iby CORE_MW_LAYER_IBY_EXPORT_PATH(hotspot.iby) ../rom/hotspotResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(hotspotResources.iby) +../rom/hotspotfwstub.sis /epoc32/data/z/system/install/hotspotfwstub.sis +../rom/ictsstub.sis /epoc32/data/z/system/install/ictsstub.sis // Localisation files of whole Hotspot localised here ../hsbrowser/loc/hsbrowser.loc MW_LAYER_LOC_EXPORT_PATH(hsbrowser.loc) diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/hsfw_sis/hotspotfwupdater.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/hsfw_sis/hotspotfwupdater.pkg Mon Mar 15 12:44:54 2010 +0200 @@ -0,0 +1,50 @@ +; Copyright (c) 2010 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: Hotspot FW updater +; + +;Languages +; - None (English only by default) + +;Header +#{"Hotspot FW updater"},(0x10282ECB),1,0,1, TYPE=SP + +; Product / platform version compatibility - S60 5.2 +[0x20022e6d],0,0,0,{"Series60ProductID"} + +; Localised Vendor Name +%{"Nokia"} + +;Unique Vendor Name +:"Nokia" + +;Server +"\epoc32\release\armv5\udeb\HotSpotServer.exe"-"c:\sys\bin\HotSpotServer.exe" + +; Client +"\epoc32\release\armv5\udeb\hotspotclient.dll"-"c:\sys\bin\hotspotclient.dll" + +; ECOM plugin for daemon +"\epoc32\data\z\resource\plugins\NetCfgExtnHotSpot.rsc"-"c:\resource\plugins\NetCfgExtnHotSpot.rsc" +"\epoc32\release\armv5\udeb\NetCfgExtnHotSpot.dll"-"c:\sys\bin\NetCfgExtnHotSpot.dll" + +; ECOM plugin for Mgmt API +"\epoc32\data\z\resource\plugins\HssMgmtImpl.rsc"-"c:\resource\plugins\HssMgmtImpl.rsc" +"\epoc32\release\armv5\udeb\hssmgmtimpl.dll"-"c:\sys\bin\hssmgmtimpl.dll" + +; ECOM plugin for Agent +"\epoc32\data\z\resource\plugins\WlanAgtHotSpotImpl.rsc"-"c:\resource\plugins\WlanAgtHotSpotImpl.rsc" +"\epoc32\release\armv5\udeb\wlanagthotspotimpl.dll"-"c:\sys\bin\wlanagthotspotimpl.dll" + + + diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/hsfw_sis/ictsupdater.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/hsfw_sis/ictsupdater.pkg Mon Mar 15 12:44:54 2010 +0200 @@ -0,0 +1,33 @@ +; Copyright (c) 2010 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: Internet Connectivity Test Service updater +; + +;Languages +; - None (English only by default) + +;Header +#{"ICTS updater"},(0x10282EC5),1,0,1, TYPE=SP + +; Product / platform version compatibility - S60 5.2 +[0x20022e6d],0,0,0,{"Series60ProductID"} + +; Localised Vendor Name +%{"Nokia"} + +;Unique Vendor Name +:"Nokia" + +"\epoc32\release\armv5\udeb\ictsclientinterface.dll"-"c:\sys\bin\ictsclientinterface.dll" + + diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/rom/hotspot.iby --- a/hotspotfw/rom/hotspot.iby Fri Mar 12 15:48:54 2010 +0200 +++ b/hotspotfw/rom/hotspot.iby Mon Mar 15 12:44:54 2010 +0200 @@ -44,6 +44,8 @@ S60_APP_AIF_ICONS( hsbrowsericon ) data=ZPRIVATE\10282EC5\backup_registration.xml private\10282EC5\backup_registration.xml +data=DATAZ_\system\install\hotspotfwstub.sis system\install\hotspotfwstub.sis +data=DATAZ_\system\install\ictsstub.sis system\install\ictsstub.sis #endif // __PROTOCOL_WLAN #endif // HOTSPOTS_IBY \ No newline at end of file diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/rom/hotspotfwstub.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/rom/hotspotfwstub.pkg Mon Mar 15 12:44:54 2010 +0200 @@ -0,0 +1,50 @@ +; +; Copyright (c) 2010 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: This is the stub package file for Hotspot Framework +; + +;Languages +; - None (English only by default) + +;Header +#{"Hotspot Framework"},(0x10282ECB),1,0,0,TYPE=SA + +; Product / platform version compatibility - S60 5.2 +[0x20022e6d],0,0,0,{"Series60ProductID"} + +; Localised Vendor Name +%{"Nokia"} + +;Unique Vendor Name +:"Nokia" + +; Server stub +""-"z:\sys\bin\HotSpotServer.exe" + +; Client stub +""-"z:\sys\bin\hotspotclient.dll" + +; Hotspot daemon plugin stub +""-"z:\sys\bin\NetCfgExtnHotSpot.dll" +""-"z:\resource\plugins\NetCfgExtnHotSpot.RSC" + +; Hotspot Management API stub +""-"z:\sys\bin\hssmgmtimpl.dll" +""-"z:\resource\plugins\HssMgmtImpl.rsc" + +; Plugin interface for WLAN Agent stub +""-"z:\sys\bin\wlanagthotspotimpl.dll" +""-"z:\resource\plugins\WlanAgtHotSpotImpl.RSC" + + diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/rom/hotspotfwstub.sis Binary file hotspotfw/rom/hotspotfwstub.sis has changed diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/rom/ictsstub.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hotspotfw/rom/ictsstub.pkg Mon Mar 15 12:44:54 2010 +0200 @@ -0,0 +1,35 @@ +; +; Copyright (c) 2010 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: This is the stub package file for +; Internet Connectivity Test Service +; + +;Languages +; - None (English only by default) + +;Header +#{"Internet Connectivity Test"},(0x10282EC5),1,0,0,TYPE=SA + +; Product / platform version compatibility - S60 5.2 +[0x20022e6d],0,0,0,{"Series60ProductID"} + +; Localised Vendor Name +%{"Nokia"} + +;Unique Vendor Name +:"Nokia" + +; Internet Connectivity Test stub +""-"z:\sys\bin\ictsclientinterface.dll" + diff -r dff6ebfd236f -r 8b0eae1b1d71 hotspotfw/rom/ictsstub.sis Binary file hotspotfw/rom/ictsstub.sis has changed diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h --- a/wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h Mon Mar 15 12:44:54 2010 +0200 @@ -148,10 +148,8 @@ /* * Wlan bearer opened using accesspoint - * @param TDesC aAccesspointName. */ - virtual void WlanConnectionActivatedL( const - TDesC& aAccessPointName ); + virtual void WlanConnectionActivatedL(); /* * wlan bearer has been closed diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp --- a/wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -214,8 +214,7 @@ // --------------------------------------------------------- // CWlanPluginWlanState::WlanConnectionActivatedL // --------------------------------------------------------- -void CWlanPluginWlanState::WlanConnectionActivatedL( - const TDesC& /*aAccessPointName*/ ) +void CWlanPluginWlanState::WlanConnectionActivatedL() { CLOG_ENTERFN( "CWlanPluginWlanState::WlanConnectionActivatedL()" ); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h --- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h Mon Mar 15 12:44:54 2010 +0200 @@ -175,9 +175,8 @@ /** * A WLAN connection has been established * @since S60 5.0 - * @param aAccesspointName The name of the active connection */ - void WlanConnectionActivatedL( const TDesC& aAccessPointName ); + void WlanConnectionActivatedL(); /** * A WLAN connection has been closed diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp --- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -398,8 +398,7 @@ // CWsfAiHelperAppUi::WlanConnectionActivatedL // --------------------------------------------------------------------------- // -void CWsfAiHelperAppUi::WlanConnectionActivatedL( - const TDesC& /*aAccessPointName*/ ) +void CWsfAiHelperAppUi::WlanConnectionActivatedL() { // no implementation required } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h Mon Mar 15 12:44:54 2010 +0200 @@ -21,6 +21,7 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include "wsfwlaninfo.h" @@ -71,9 +72,9 @@ * @param aAiModel model reference of AiPlugin * @param aActiveWrappers reference of wrappers holder */ - void InitializeL( CWsfModel* aModel, CWsfAiModel* aAiModel, - CWsfDbObserver* aObserver, - CWsfActiveWrappers* aActiveWrappers ); + void InitializeL( CEikonEnv* aEnv, CWsfModel* aModel, + CWsfAiModel* aAiModel, CWsfDbObserver* aObserver, + CWsfActiveWrappers* aActiveWrappers ); /** * Set the UI for the controller @@ -111,7 +112,7 @@ /** * Propagates the network data from the engine * to the AI model - * @since S60 5.0 + * @since S60 5.2 */ void StartupRefreshDataReadyL(); @@ -136,7 +137,7 @@ /** * Propagates the network data from the engine * to the AI model - * @since S60 5.0 + * @since S60 5.2 */ void WlanListDataReadyL(); @@ -171,9 +172,8 @@ /** * A WLAN connection has been established * @since S60 5.0 - * @param aAccesspointName The name of the active connection */ - void WlanConnectionActivatedL( const TDesC& aAccessPointName ); + void WlanConnectionActivatedL(); /** * A WLAN connection has been closed @@ -329,7 +329,16 @@ private: // data + + /** + * Handle to Eikon environment. + * Own. + */ + CEikonEnv* iEnv; + /** + * Cache of the used info + */ TWsfWlanInfo iUsedInfo; /** diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h Mon Mar 15 12:44:54 2010 +0200 @@ -22,6 +22,7 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include "wsfaicontroller.h" @@ -254,6 +255,11 @@ private: // Data + + /** + * Handle to Eikon environment. + */ + CEikonEnv* iEnv; /** * Array of content observers diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h Mon Mar 15 12:44:54 2010 +0200 @@ -25,7 +25,7 @@ // the drive letter _LIT( KResourceDrive, "z:" ); // resource file -_LIT( KResourceFile, "wsfaipluginrsc.r*" ); +_LIT( KResourceFile, "wsfaipluginrsc.rsc" ); // icons _LIT( KBitmapFile, "wsficons.mif" ); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h Mon Mar 15 12:44:54 2010 +0200 @@ -22,6 +22,7 @@ // EXTERNAL INCLUDES #include + // FORWARD DECLARATIONS class CAknIconArray; class CGulIcon; diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -107,11 +107,13 @@ // TWsfAiController::Initialize // -------------------------------------------------------------------------- // -void TWsfAiController::InitializeL( CWsfModel* aModel, CWsfAiModel* aAiModel, - CWsfDbObserver* aObserver, +void TWsfAiController::InitializeL( CEikonEnv* aEnv, CWsfModel* aModel, + CWsfAiModel* aAiModel, + CWsfDbObserver* aObserver, CWsfActiveWrappers* aActiveWrappers ) { LOG_ENTERFN( "TWsfAiController::InitializeL" ); + iEnv = aEnv; iModel = aModel; iAiModel = aAiModel; iDbObserver = aObserver; @@ -286,7 +288,6 @@ } } } - } @@ -300,7 +301,7 @@ TKeyEvent key; key.iCode = EKeyEscape; key.iModifiers = 0; - CEikonEnv::Static()->SimulateKeyEventL( key, EEventKey ); + iEnv->SimulateKeyEventL( key, EEventKey ); } @@ -390,7 +391,6 @@ } iUi->UpdateHotSpotsL( data, index ); - } @@ -433,8 +433,7 @@ // TWsfAiController::WlanConnectionActivatedL // -------------------------------------------------------------------------- // -void TWsfAiController::WlanConnectionActivatedL( - const TDesC& /*aAccessPointName*/ ) +void TWsfAiController::WlanConnectionActivatedL() { LOG_ENTERFN( "TWsfAiController::WlanConnectionActivatedL" ); iModel->SetConnecting( EFalse ); @@ -463,7 +462,6 @@ { iUi->DisplayEngineOffL(); } - } @@ -767,11 +765,12 @@ } else { + CWsfWlanInfoArray* wlanArray = iAiModel->GetInfoArray(); // check that the model still has the entry - if ( selectedWlan < iAiModel->GetInfoArray()->Count() ) + if ( wlanArray && selectedWlan < wlanArray->Count() ) { // get wlan info - aInfo = *iAiModel->GetInfoArray()->At( selectedWlan ); + aInfo = *wlanArray->At( selectedWlan ); } else { @@ -907,7 +906,7 @@ _ASS_D( iAiModel ); // show error to user... - CEikonEnv::Static()->ResolveError( aError ); + iEnv->ResolveError( aError ); } @@ -925,7 +924,7 @@ TUid id( TUid::Uid( KBrowserUid ) ); // Check if the Browser application is already running. - TApaTaskList taskList( CEikonEnv::Static()->WsSession() ); + TApaTaskList taskList( iEnv->WsSession() ); TApaTask task = taskList.FindApp( id ); TBool isWlanUsed( EFalse ); @@ -1057,13 +1056,12 @@ CWsfWlanInfoArray* wlanArray = iAiModel->GetInfoArray(); - switch ( selectedMode ) { case EAiOfflineStartBrowsing: { // Start web browsing was selected - if ( !wlanArray->Count() || + if ( !wlanArray || !wlanArray->Count() || !wlanArray->At( KFirstItemArrayIndex )->Known() ) { // no known networks, let the user choose one @@ -1086,7 +1084,7 @@ case EAiOfflineConnect: { // Connect was selected - if ( !wlanArray->Count() || + if ( !wlanArray || !wlanArray->Count() || !wlanArray->At( KFirstItemArrayIndex )->Known() ) { // no known networks, let the user choose one @@ -1138,7 +1136,6 @@ default: { } - } } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -145,41 +145,44 @@ CDesCArrayFlat* CWsfAiModel::FormatWlanListL( CWsfWlanInfoArray* aWlanList, const TBool aUIPrioritySort ) { LOG_ENTERFN( "CWsfAiModel::FormatWlanListL" ); + HBufC* item = HBufC::NewLC( KListBoxItemMaxLength ); + TPtr ptr( item->Des() ); + iFormattedWlanList->Reset(); // Function expects that items in list are already in proper order iWlanInfoArray = aWlanList; - - if ( aUIPrioritySort ) - { - iWlanInfoArray->SetUIPrioritySort( ETrue ); - iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); - // Sort Array with default sort - // this sets the highest UI priority networks on top - iWlanInfoArray->SortArrayL( ); - iWlanInfoArray->SetUIPrioritySort( EFalse ); - } - else + + if ( iWlanInfoArray ) { - iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); - } - - iFormattedWlanList->Reset(); - HBufC* item = HBufC::NewLC( KListBoxItemMaxLength ); - TPtr ptr( item->Des() ); - for (TInt i = 0; i < aWlanList->Count(); ++i ) - { - TWsfWlanInfo* wlanInfo = aWlanList->At(i); - - // Hidden WLAN item is appended later for unknown hidden networks - if ( wlanInfo->Hidden() && !wlanInfo->iIapId ) + if ( aUIPrioritySort ) + { + iWlanInfoArray->SetUIPrioritySort( ETrue ); + iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); + // Sort Array with default sort + // this sets the highest UI priority networks on top + iWlanInfoArray->SortArrayL( ); + iWlanInfoArray->SetUIPrioritySort( EFalse ); + } + else { - continue; + iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); } + + for (TInt i = 0; i < iWlanInfoArray->Count(); ++i ) + { + TWsfWlanInfo* wlanInfo = iWlanInfoArray->At(i); - // known hidden wlans are also "visible" - ptr.Zero(); - FormatWlanSingleLineL( *wlanInfo, ptr, EFalse ); - iFormattedWlanList->AppendL( ptr ); + // Hidden WLAN item is appended later for unknown hidden networks + if ( !wlanInfo || ( wlanInfo->Hidden() && !wlanInfo->iIapId ) ) + { + continue; + } + + // known hidden wlans are also "visible" + ptr.Zero(); + FormatWlanSingleLineL( *wlanInfo, ptr, EFalse ); + iFormattedWlanList->AppendL( ptr ); + } } // now add "Other (unlisted)..." for hidden networks (always visible) @@ -226,13 +229,17 @@ { LOG_ENTERFN( "CWsfAiModel::FormatSingleLineWlanListL" ); iWlanInfoArray = aWlanList; - iWlanInfoArray->SetUIPrioritySort( ETrue ); - iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); - // Sort Array with default sort - // this sets the highest UI priority networks on top - iWlanInfoArray->SortArrayL(); - iWlanInfoArray->SetUIPrioritySort( EFalse ); + if ( iWlanInfoArray ) + { + iWlanInfoArray->SetUIPrioritySort( ETrue ); + iWlanInfoArray->SortArrayL( *iWlanInfoBranding ); + + // Sort Array with default sort + // this sets the highest UI priority networks on top + iWlanInfoArray->SortArrayL(); + iWlanInfoArray->SetUIPrioritySort( EFalse ); + } iFormattedWlanList->Reset(); @@ -256,7 +263,7 @@ // if there's wlans avail else if ( iWlanInfoArray && iWlanInfoArray->Count() ) { - CheckWlansL( aWlanList, ptr ); + CheckWlansL( iWlanInfoArray, ptr ); iFormattedWlanList->AppendL( ptr ); } else @@ -375,10 +382,11 @@ R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF ); } - aItem.Format( KListItemFormat, EWlanOffIcon, - iStatusScanningOff, - ETransparentIcon, - ETransparentIcon ); + aItem.Format( KListItemFormat, + EWlanOffIcon, + iStatusScanningOff, + ETransparentIcon, + ETransparentIcon ); } @@ -396,11 +404,11 @@ R_QTN_STATUS_NO_WLANS_AVAILABLE ); } - aItem.Format( KListItemFormat, ScanningOn()? - EWlanOnIcon: EWlanOffIcon, - iNoWLANsAvailable, - ETransparentIcon, - ETransparentIcon ); + aItem.Format( KListItemFormat, + ScanningOn()? EWlanOnIcon: EWlanOffIcon, + iNoWLANsAvailable, + ETransparentIcon, + ETransparentIcon ); } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -122,7 +122,7 @@ delete iKnownNetworkFound; } - CCoeEnv::Static()->DeleteResourceFile( iResourceFileOffset ); + iEnv->DeleteResourceFile( iResourceFileOffset ); iObservers.Close(); @@ -137,6 +137,7 @@ // CWsfAiPlugin::CWsfAiPlugin() { + iEnv = CEikonEnv::Static(); } @@ -160,13 +161,13 @@ iAiModel = CWsfAiModel::NewL(); iUi = CWsfAiView::NewL( *this ); - iDbObserver = CWsfDbObserver::NewL(); + iActiveWrappers = CWsfActiveWrappers::NewL( iModel, iController ); - iActiveWrappers = CWsfActiveWrappers::NewL( iModel, iController ); + iDbObserver = CWsfDbObserver::NewL(); iController.SetUi( *static_cast( iUi ) ); - iController.InitializeL( iModel, iAiModel, iDbObserver, + iController.InitializeL( iEnv, iModel, iAiModel, iDbObserver, iActiveWrappers ); } @@ -393,21 +394,13 @@ { LOG_ENTERFN( "CWsfAiPlugin::AllocateResourcesL" ); // create resourcefile - CCoeEnv* env = CCoeEnv::Static(); - TFindFile finder( env->FsSession() ); - CDir* fileEntries; - User::LeaveIfError( finder.FindWildByDir( KResourceFile, - KDC_RESOURCE_FILES_DIR, - fileEntries ) ); - - TParse pathParse; - pathParse.Set( (*fileEntries)[0].iName, &finder.File(), NULL ); - - TFileName resourceFile = pathParse.FullName(); - delete fileEntries; + TFileName resourceFile; + resourceFile.Append( KResourceDrive ); + resourceFile.Append( KDC_RESOURCE_FILES_DIR ); + resourceFile.Append( KResourceFile ); - BaflUtils::NearestLanguageFile( env->FsSession(), resourceFile ); - iResourceFileOffset = env->AddResourceFileL( resourceFile ); + BaflUtils::NearestLanguageFile( iEnv->FsSession(), resourceFile ); + iResourceFileOffset = iEnv->AddResourceFileL( resourceFile ); } // -------------------------------------------------------------------------- @@ -730,7 +723,7 @@ // check if the app is already running ... and brings it to foreground. TUid id( TUid::Uid( KUidSnifferApp.iUid ) ); - TApaTaskList taskList( CEikonEnv::Static()->WsSession() ); + TApaTaskList taskList( iEnv->WsSession() ); TApaTask task = taskList.FindApp( id ); if ( task.Exists() ) diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfconnectactivewrapper.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfconnectactivewrapper.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfconnectactivewrapper.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -95,7 +95,6 @@ void CWsfConnectActiveWrapper::DoCancel() { LOG_ENTERFN( "CWsfConnectActiveWrapper::DoCancel" ); - TRAP_IGNORE( iModel->AbortConnectingL() ); } @@ -123,21 +122,28 @@ void CWsfConnectActiveWrapper::RunL() { LOG_ENTERFN( "CWsfConnectActiveWrapper::RunL" ); - if (iState == EUninitialized) + if ( iStatus == KErrNone ) { - LOG_WRITE( "Start connect" ); - iModel->ConnectL( iPckg, iIapID, iPersistence, iStatus ); - iState = EInitialized; - SetActive(); // Tell scheduler a request is active + if ( iState == EUninitialized ) + { + LOG_WRITE( "Start connect" ); + iModel->ConnectL( iPckg, iIapID, iPersistence, iStatus ); + iState = EInitialized; + SetActive(); // Tell scheduler a request is active + } + else if ( iState == EInitialized ) + { + LOG_WRITEF( "request result = %d", iPckg() ); + iModel->SetConnectResultL( iPckg(), iIapID ); + } + else + { + LOG_WRITEF( "iState = %d", iState ); + } } - else if (iState == EInitialized ) - { - LOG_WRITEF( "request result = %d", iPckg() ); - iModel->SetConnectResultL(iPckg(), iIapID ); - } else { - LOG_WRITEF( "iState = %d", iState ); + LOG_WRITEF( "ConnectActiveWrapper iStatus = %d", iStatus.Int() ); } } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfdisconnectactivewrapper.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfdisconnectactivewrapper.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfdisconnectactivewrapper.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -118,20 +118,27 @@ void CWsfDisconnectActiveWrapper::RunL() { LOG_ENTERFN( "CWsfDisconnectActiveWrapper::RunL" ); - if (iState == EUninitialized) + if ( iStatus == KErrNone ) { - LOG_WRITE( "disconnect" ); - iModel->Disconnect( iPckg, iStatus ); - iState = EInitialized; - SetActive(); // Tell scheduler a request is active - } - else if (iState == EInitialized ) - { - LOG_WRITEF( "request result = %d", iPckg() ); + if (iState == EUninitialized) + { + LOG_WRITE( "disconnect" ); + iModel->Disconnect( iPckg, iStatus ); + iState = EInitialized; + SetActive(); // Tell scheduler a request is active + } + else if (iState == EInitialized ) + { + LOG_WRITEF( "request result = %d", iPckg() ); + } + else + { + LOG_WRITEF( "iState = %d", iState ); + } } else { - LOG_WRITEF( "iState = %d", iState ); + LOG_WRITEF( "DisconnectActiveWrapper iStatus = %d", iStatus.Int() ); } } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -83,24 +83,23 @@ const TInt aIconId, const TFileName aBitmapFile ) { - CGulIcon* icon = CGulIcon::NewLC(); - CFbsBitmap* bitmap; - CFbsBitmap* mask; - - // Creates bitmap an icon. + CGulIcon* icon = CGulIcon::NewLC(); + CFbsBitmap* bitmap; + CFbsBitmap* mask; - AknsUtils::CreateIconL( AknsUtils::SkinInstance(), - aAknItemId, - bitmap, - mask, - aBitmapFile, - aIconId, - aIconId+1 ); + // Creates bitmap an icon. + AknsUtils::CreateIconL( AknsUtils::SkinInstance(), + aAknItemId, + bitmap, + mask, + aBitmapFile, + aIconId, + aIconId + 1 ); - icon->SetBitmap( bitmap ); - icon->SetMask( mask ); - return icon; - } + icon->SetBitmap(bitmap); + icon->SetMask(mask); + return icon; + } // --------------------------------------------------------- // LoadSkinnableBlackIconLC @@ -115,16 +114,16 @@ CFbsBitmap* mask; // Creates bitmap an icon. - AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(), - aAknItemId, - KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13, - bitmap, - mask, - aBitmapFile, - aIconId, - aIconId+1, - KRgbBlack ); + aAknItemId, + KAknsIIDQsnIconColors, + EAknsCIQsnIconColorsCG13, + bitmap, + mask, + aBitmapFile, + aIconId, + aIconId+1, + KRgbBlack ); icon->SetBitmap( bitmap ); icon->SetMask( mask ); @@ -135,13 +134,12 @@ // CWsfIconArrayCreator::CreateArrayL // -------------------------------------------------------------------------- // -CAknIconArray* CWsfIconArrayCreator::CreateArrayL( ) +CAknIconArray* CWsfIconArrayCreator::CreateArrayL() { - // try to locate the resorce file - TFindFile finder( CEikonEnv::Static()->FsSession() ); - User::LeaveIfError( finder.FindByDir( - KBitmapFile, KDC_APP_BITMAP_DIR ) ); - TFileName bitmapFileName = finder.File(); + // Used bitmap file name + TFileName bitmapFileName; + bitmapFileName.Append( KDC_APP_BITMAP_DIR ); + bitmapFileName.Append( KBitmapFile ); CAknIconArray* icons = new(ELeave) CAknIconArray( KAIShortcutPluginGranularity ); @@ -248,12 +246,10 @@ // CGulIcon* CWsfIconArrayCreator::GetIconLC( TInt aIconId ) { - - // try to locate the resorce file - TFindFile finder( CEikonEnv::Static()->FsSession() ); - User::LeaveIfError( finder.FindByDir( KBitmapFile, - KDC_APP_BITMAP_DIR ) ); - TFileName bitmapFileName = finder.File(); + // Used bitmap file name + TFileName bitmapFileName; + bitmapFileName.Append( KDC_APP_BITMAP_DIR ); + bitmapFileName.Append( KBitmapFile ); TAknsItemID localAknItemId( KAknsIIDQgnMenuWlanSniffer ); TInt iconId( EMbmWsficonsQgn_menu_wlan_sniffer ); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfrefreshscanactivewrapper.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfrefreshscanactivewrapper.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfrefreshscanactivewrapper.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -118,21 +118,28 @@ void CWsfRefreshScanActiveWrapper::RunL() { LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::RunL" ); - if (iState == EUninitialized) - { - LOG_WRITE( "request scan" ); - iModel->RefreshScan( iPckg, iStatus ); - iState = EInitialized; - SetActive(); // Tell scheduler a request is active - } - else if (iState == EInitialized ) - { - LOG_WRITEF( "request result = %d", iPckg() ); - iModel->SetRefreshState( iPckg() ); - } + if (iStatus == KErrNone) + { + if (iState == EUninitialized) + { + LOG_WRITE( "request scan" ); + iModel->RefreshScan( iPckg, iStatus ); + iState = EInitialized; + SetActive(); // Tell scheduler a request is active + } + else if (iState == EInitialized ) + { + LOG_WRITEF( "request result = %d", iPckg() ); + iModel->SetRefreshState( iPckg() ); + } + else + { + LOG_WRITEF( "iState = %d", iState ); + } + } else { - LOG_WRITEF( "iState = %d", iState ); + LOG_WRITEF( "RefreshScanActiveWrapper iStatus = %d", iStatus.Int() ); } } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/aiplugin/src/wsfwlanlistactivewrapper.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfwlanlistactivewrapper.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfwlanlistactivewrapper.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -155,103 +155,110 @@ void CWsfWLANListActiveWrapper::RunL() { LOG_ENTERFN( "CWsfWLANListActiveWrapper::RunL" ); - if ( iState == EUninitialized ) - { - LOG_WRITE( "Get WLAN list size" ); - iModel->GetWlanListSize( iPckgNeededSize, iStatus ); - iState = EInitialized; - SetActive(); // Tell scheduler a request is active - } - else if ( iState == EInitialized ) + if (iStatus == KErrNone) { - LOG_WRITEF( "WLAN data buffer size = %d", iPckgNeededSize() ); - - if ( !iPckgNeededSize() ) + if ( iState == EUninitialized ) + { + LOG_WRITE( "Get WLAN list size" ); + iModel->GetWlanListSize( iPckgNeededSize, iStatus ); + iState = EInitialized; + SetActive(); // Tell scheduler a request is active + } + else if ( iState == EInitialized ) + { + LOG_WRITEF( "WLAN data buffer size = %d", iPckgNeededSize() ); + + if ( !iPckgNeededSize() ) + { + LOG_WRITE( "no data.." ); + iState = EProcessWLANListData; + SetActive(); + TRequestStatus* status = &iStatus; + User::RequestComplete(status, KErrNone); + } + else + { + // alloc the required size buffer... + delete iBuffer; + iBuffer = NULL; + iBuffer = HBufC8::NewL( iPckgNeededSize() ); + iPtr.Set( iBuffer->Des() ); + + LOG_WRITE( "Get WLAN list" ); + iModel->GetWlanList( iPckgAllocatedSize, iPtr, iStatus ); + iState = EProcessWLANListData; + SetActive(); // Tell scheduler a request is active + } + } + else if ( iState == EProcessWLANListData ) { - LOG_WRITE( "no data.." ); - iState = EProcessWLANListData; - SetActive(); - TRequestStatus* status = &iStatus; - User::RequestComplete(status, KErrNone); + LOG_WRITEF( "actual bytes occupied = %d", iPckgAllocatedSize() ); + + if ( iPckgNeededSize() != iPckgAllocatedSize() ) + { + // the buffer is not long enough... stop + if ( iRetriesLeft > 0 ) + { + LOG_WRITEF( "iRetriesLeft = %d", iRetriesLeft ); + iRetriesLeft--; + iState = EUninitialized; + SetActive(); + TRequestStatus* status = &iStatus; + User::RequestComplete( status, KErrNone ); + return; + } + else + { + // no more retries + User::Leave( KErrOverflow ); + } + } + + iArray->Reset(); + + if ( iPckgAllocatedSize() ) + { + iArray->AppendFromStreamBufferL( iPtr ); + } + + LOG_WRITEF( "Array count=%d startup=%d", iArray->Count(), iStartUp ); + + iModel->GetConnectedWlanDetails( iPckg, iConnectedWlan, iStatus ); + iState = EGetConnectedNetwork; + SetActive(); // Tell scheduler a request is active + } + else if ( iState == EGetConnectedNetwork ) + { + LOG_WRITEF( "request result = %d", iPckg() ); + + if ( !iPckg() ) + { + LOG_WRITE( "result is false, so wlaninfo is marked not connected" ); + iConnectedWlan.iConnectionState = ENotConnected; + } + + LOG_WRITEF( "Connected = %d", iConnectedWlan.Connected() ); + + LOG_WRITEF( "iConnectedWlan state = %d", + iConnectedWlan.iConnectionState ); + + if ( iStartUp ) + { + iController->StartupRefreshDataReadyL(); + } + else + { + iController->WlanListDataReadyL(); + } } else { - // alloc the required size buffer... - delete iBuffer; - iBuffer = NULL; - iBuffer = HBufC8::NewL( iPckgNeededSize() ); - iPtr.Set( iBuffer->Des() ); - - LOG_WRITE( "Get WLAN list" ); - iModel->GetWlanList( iPckgAllocatedSize, iPtr, iStatus ); - iState = EProcessWLANListData; - SetActive(); // Tell scheduler a request is active - } - } - else if ( iState == EProcessWLANListData ) - { - LOG_WRITEF( "actual bytes occupied = %d", iPckgAllocatedSize() ); - - if ( iPckgNeededSize() != iPckgAllocatedSize() ) - { - // the buffer is not long enough... stop - if ( iRetriesLeft > 0 ) - { - LOG_WRITEF( "iRetriesLeft = %d", iRetriesLeft ); - iRetriesLeft--; - iState = EUninitialized; - SetActive(); - TRequestStatus* status = &iStatus; - User::RequestComplete( status, KErrNone ); - return; - } - else - { - // no more retries - User::Leave( KErrOverflow ); - } - } - - iArray->Reset(); - - if ( iPckgAllocatedSize() ) - { - iArray->AppendFromStreamBufferL( iPtr ); - } - - LOG_WRITEF( "Array count=%d startup=%d", iArray->Count(), iStartUp ); - - iModel->GetConnectedWlanDetails( iPckg, iConnectedWlan, iStatus ); - iState = EGetConnectedNetwork; - SetActive(); // Tell scheduler a request is active - } - else if ( iState == EGetConnectedNetwork ) - { - LOG_WRITEF( "request result = %d", iPckg() ); - - if ( !iPckg() ) - { - LOG_WRITE( "result is false, so wlaninfo is marked not connected" ); - iConnectedWlan.iConnectionState = ENotConnected; - } - - LOG_WRITEF( "Connected = %d", iConnectedWlan.Connected() ); - - LOG_WRITEF( "iConnectedWlan state = %d", - iConnectedWlan.iConnectionState ); - - if ( iStartUp ) - { - iController->StartupRefreshDataReadyL(); - } - else - { - iController->WlanListDataReadyL(); + LOG_WRITEF( "iState = %d", iState ); } } else { - LOG_WRITEF( "iState = %d", iState ); + LOG_WRITEF( "WLANListActiveWrapper iStatus = %d", iStatus.Int() ); } } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h --- a/wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h Mon Mar 15 12:44:54 2010 +0200 @@ -66,10 +66,8 @@ /** * A WLAN connection has been established * @since S60 5.0 - * @param aAccesspointName The name of the active connection */ - virtual void WlanConnectionActivatedL( - const TDesC& aAccessPointName ) = 0; + virtual void WlanConnectionActivatedL() = 0; /** * A WLAN connection has been closed diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp --- a/wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -111,11 +111,7 @@ if ( !iBlockConnectedEvent ) { // if the event wasn't blocked, notify the observer - // get the connection name - HBufC* accessPointName = iSession->ConnectedAccountNameL(); - CleanupStack::PushL( accessPointName ); - iObserver->WlanConnectionActivatedL( *accessPointName ); - CleanupStack::PopAndDestroy( accessPointName ); + iObserver->WlanConnectionActivatedL(); } else { diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h --- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h Mon Mar 15 12:44:54 2010 +0200 @@ -179,8 +179,9 @@ /** * Aborts the currently ongoing connecting process * @since S60 5.0 + * @return KErrNone on success, error code otherwise */ - void AbortConnecting(); + TInt AbortConnecting(); /** * Controls the auto-disconnect timer in the server diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp --- a/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -611,9 +611,11 @@ { LOG_ENTERFN("CWsfEngine::AbortConnectingL"); - iWlanBearerMonitor->AbortConnecting(); + TInt result = iWlanBearerMonitor->AbortConnecting(); - if ( iMonitoredIap ) + LOG_WRITEF( "abort connection result = %d", result ); + + if ( result == KErrNone && iMonitoredIap ) { if ( iIapPersistence == EIapExpireOnDisconnect ) { diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp --- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -476,9 +476,10 @@ // CWsfWlanBearerConnectionMonitor::AbortConnecting // --------------------------------------------------------------------------- // -void CWsfWlanBearerConnectionMonitor::AbortConnecting() +TInt CWsfWlanBearerConnectionMonitor::AbortConnecting() { LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::AbortConnecting" ); + TInt result = KErrGeneral; if ( iConnectingState != ECsIdle ) { @@ -488,9 +489,10 @@ if ( IsActive() && iConnectingState == ECsSocketOpened ) { LOG_WRITE( "forcing connection to stop" ); - iConnection.Stop(); + result = iConnection.Stop(); } } + return result; } @@ -518,7 +520,7 @@ LOG_WRITEF( "Monitor iConnectingState =%d and iConnectionId = %d", iConnectingState, iConnectionId ); - if ( iConnectingState == ECsIdle ) + if ( iConnectingState == ECsIdle && iConnectionId == KNoConnection ) { // Make sure that we have connection id FindWlanBearerConnectedL(); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h --- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h Mon Mar 15 12:44:54 2010 +0200 @@ -253,9 +253,8 @@ /** * A WLAN connection has been established * @since S60 5.0 - * @param aAccesspointName The name of the active connection */ - void WlanConnectionActivatedL( const TDesC& aAccessPointName ); + void WlanConnectionActivatedL(); /** * A WLAN connection has been closed @@ -280,11 +279,18 @@ static void ReleaseSuppressingKeyEvents( TAny* aPtr ); /** + * Cleanup function to restore refresh state + * @since S60 5.2 + * @param aPtr Pointer for this class + */ + static void RestoreRefreshState( TAny* aPtr ); + + /** * Updates iap id to wlan list * @since S60 5.2 * @param aInfo reference of TWsfWlanInfo class */ - void UpdateIapIdToInfoArray( TWsfWlanInfo & aInfo ); + void UpdateIapIdToInfoArrayL( TWsfWlanInfo & aInfo ); private: // Data diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -200,7 +200,7 @@ { // launch settings dialog CWlanSettingsUi* wlanSettings = - CWlanSettingsUi::NewL( *CEikonEnv::Static() ); + CWlanSettingsUi::NewL( *iEikonEnv ); CleanupStack::PushL( wlanSettings ); iForeground = EFalse; wlanSettings->RunSettingsL(); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -127,12 +127,12 @@ iWlanArray = aWlanArray; iFormattedWlanInfo->Reset(); - // If Wlan if suppilied && arrays has items - if ( aWlanInfo && VisibleWlans( *iWlanArray ) ) + TInt visibleWlans = VisibleWlans( *iWlanArray ); + if ( aWlanInfo && visibleWlans ) { iWlanInfo = *aWlanInfo; TWsfWlanInfo* temp = iWlanArray->Match( aWlanInfo->iSsid, - VisibleWlans( *iWlanArray ) ); + visibleWlans ); if ( temp ) { iIndex = iWlanArray->GetArrayIndex( temp ); @@ -178,21 +178,25 @@ { LOG_ENTERFN( "CWsfDetailsViewModel::FormatNextWlanInfoL" ); _ASSERTD( iWlanArray ); + + TInt visibleWlans = VisibleWlans( *iWlanArray ); - if( iIndex < VisibleWlans( *iWlanArray ) - 1 ) + if( iIndex < visibleWlans - 1 ) { iFormattedWlanInfo->Reset(); iIndex++; - if( iIndex >= VisibleWlans( *iWlanArray ) -1 ) + if( iIndex >= visibleWlans - 1 ) { - iIndex = VisibleWlans( *iWlanArray ) -1; + // Set the index to point to the last visible in the array. + iIndex = visibleWlans - 1; } else if ( iWlanInfo.SignalStrength() == ENoSignal ) { iIndex = 0; } + // (Array bounds check is done in the first if sentence.) iWlanInfo = *(iWlanArray->At( iIndex ) ); FormatAndAppenWlanIapNameL(); FormatAndAppenWlanSsidL(); @@ -217,8 +221,7 @@ { LOG_ENTERFN( "CWsfDetailsViewModel::FormatPreviousWlanInfoL" ); _ASSERTD( iWlanArray ); - - + if( VisibleWlans( *iWlanArray ) ) { iFormattedWlanInfo->Reset(); @@ -228,7 +231,12 @@ { iIndex = 0; } - + + // Just in case the iIndex would somehow point out of iWlanArray... + if( iIndex >= (TInt)iWlanArray->Count() ) + { + iIndex = 0; + } iWlanInfo = *(iWlanArray->At( iIndex ) ); FormatAndAppenWlanIapNameL(); FormatAndAppenWlanSsidL(); @@ -248,6 +256,7 @@ HBufC* CWsfDetailsViewModel::FormatPaneTextLC() { LOG_ENTERFN( "CWsfDetailsViewModel::FormatPaneTextLC" ); + HBufC* paneText = NULL; if ( iWlanInfo.SignalStrength() == ENoSignal ) @@ -256,7 +265,8 @@ } else { - if( VisibleWlans( *iWlanArray ) ) + TInt visibleWlans = VisibleWlans( *iWlanArray ); + if( visibleWlans ) { paneText = HBufC::NewLC( KPaneFormater().Length() + KNumberLegth + @@ -267,8 +277,7 @@ // Format string ( KListItemFormat = %i/%i ) paneTextPrt.Format( KPaneFormater, iIndex + 1, - ( iWlanArray ) ? - VisibleWlans( *iWlanArray ) : 0 ); + visibleWlans ); } else { @@ -304,7 +313,7 @@ { LOG_ENTERFN( "CWsfDetailsViewModel::FormatRightScrollButton" ); TBool rightButton( EFalse ); - TUint count = iWlanArray->Count(); + TInt count = iWlanArray->Count(); if ( iIndex + 1 >= count ) { @@ -669,24 +678,21 @@ TInt CWsfDetailsViewModel::VisibleWlans( CWsfWlanInfoArray& aArray ) { LOG_ENTERFN( "CWsfDetailsViewModel::VisibleWlans" ); - TInt i = 0; - TBool hiddenFound = EFalse; + TUint i = 0; TWsfWlanInfo* wlanInfo; LOG_WRITEF( "Number of Wlans: %d", aArray.Count() ); - while ( i < aArray.Count() && !hiddenFound ) + // The hidden WLAN should be in the end of the aArray. + while ( i < aArray.Count() ) { wlanInfo = aArray[i]; if ( wlanInfo->Hidden() && !wlanInfo->Known() ) { - hiddenFound = ETrue; + break; // Hidden was found. Break to exit the while-loop. } - else - { - ++i; - } + ++i; } - LOG_WRITEF( "VisibleWlans: %d", aArray.Count() ); + LOG_WRITEF( "VisibleWlans: %d", i ); return i; } diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -253,7 +253,9 @@ } 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 ) { @@ -265,6 +267,8 @@ } UpdateViewL(); } + // pop cleanup item RestoreRefreshState + CleanupStack::Pop(); } } @@ -311,8 +315,7 @@ // TWsfMainController::WlanConnectionActivatedL // --------------------------------------------------------------------------- // -void TWsfMainController::WlanConnectionActivatedL( - const TDesC& aAccessPointName ) +void TWsfMainController::WlanConnectionActivatedL() { LOG_ENTERFN( "TWsfMainController::WlanConnectionActivatedL" ); @@ -339,12 +342,10 @@ if ( !found ) { - // find the entry for aAccessPointName + // find the entry // mark it connected - sort the array and refresh - TBuf8 ssid; - CnvUtfConverter::ConvertFromUnicodeToUtf8( ssid, aAccessPointName ); - - TWsfWlanInfo* temp = iInfoArray->Match( ssid, iInfoArray->Count() ); + TWsfWlanInfo* temp = iInfoArray->Match( info.iSsid, + iInfoArray->Count() ); if ( temp ) { temp->iConnectionState = EConnected; @@ -477,7 +478,7 @@ if ( iModel->CreateAccessPointL( info, EFalse ) ) { // update iapID to list - UpdateIapIdToInfoArray( info ); + UpdateIapIdToInfoArrayL( info ); // on success, test it and save it as well result = iModel->TestAccessPointL( info, ETrue, EFalse ); @@ -563,7 +564,7 @@ if ( iModel->CreateAccessPointL( info, EFalse ) ) { // update iapID to list - UpdateIapIdToInfoArray( info ); + UpdateIapIdToInfoArrayL( info ); // on success, test it and save it as well // (testing actually creates the connection) @@ -587,12 +588,12 @@ } // --------------------------------------------------------------------------- -// TWsfMainController::UpdateIapIdToInfoArray +// TWsfMainController::UpdateIapIdToInfoArrayL // --------------------------------------------------------------------------- // -void TWsfMainController::UpdateIapIdToInfoArray( TWsfWlanInfo& aInfo ) +void TWsfMainController::UpdateIapIdToInfoArrayL( TWsfWlanInfo& aInfo ) { - LOG_ENTERFN( "TWsfMainController::UpdateIapIdToInfoArray" ); + LOG_ENTERFN( "TWsfMainController::UpdateIapIdToInfoArrayL" ); TWsfWlanInfo* temp = iInfoArray->Match( aInfo.iSsid, iInfoArray->Count() ); if ( temp && !aInfo.Hidden() ) { @@ -897,5 +898,17 @@ 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 diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -248,9 +248,19 @@ aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing, ETrue ); aMenuPane->SetItemDimmed( ESnifferCmdConnect, EFalse ); aMenuPane->SetItemDimmed( ESnifferCmdDisconnect, ETrue ); - aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting ); + aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting ); + + // dim filtering if connecting or there are no WLAN networks + // in coverage or there is only one network which is connected, + // and the filtering list does not contain any networks marked + // to be filtered out. aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans, - connecting || !infoArray || blacklistEmpty ); + connecting || + !infoArray || + ( blacklistEmpty && + ( !infoArray->Count() || + ( infoArray->Count() == 1 && + (*infoArray)[0]->Connected() ) ) ) ); aMenuPane->SetItemDimmed( ESnifferCmdDetails, ETrue ); aMenuPane->SetItemDimmed( ESnifferCmdSettings, connecting ); return; @@ -286,8 +296,10 @@ aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting ); - // dim filtering if no scan has been performed - // or there is nothing to filter + // dim filtering if connecting or there are no WLAN networks + // in coverage or there is only one network which is connected, + // and the filtering list does not contain any networks marked + // to be filtered out. aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans, connecting || !infoArray || @@ -351,7 +363,6 @@ aMenuPane->SetItemDimmed( ESnifferCmdDetails, connecting || hidden && !known ); } - } @@ -434,6 +445,7 @@ { RConnectionMonitor connectionMonitor; connectionMonitor.ConnectL(); + CleanupClosePushL( connectionMonitor ); // We have to check if the Browser using the selected // connection. // We have get the connectiond ID first. @@ -474,7 +486,6 @@ // Now we have the connectiond ID. LOG_WRITEF( "connectionId: %d", connectionId ); - TInt count( 0 ); TConnMonClientEnumBuf clientBuf; connectionMonitor.GetPckgAttribute( connectionId, @@ -483,19 +494,20 @@ clientBuf, waiter->iStatus ); waiter->WaitForRequest(); + TInt count( 0 ); if ( !waiter->iStatus.Int() ) { count = clientBuf().iCount; } - + RApaLsSession appSess; TApaAppInfo appInfo; - + // The connection could be shared by several applications User::LeaveIfError( appSess.Connect() ); - - TUint i; - for ( i = 0; i < count; i++ ) + // No need for CleanupClosePushL(appSess) cause nothing leaves. + + for ( TInt i = 0; i < count; i++ ) { appInfo.iCaption.Zero(); TInt result = appSess.GetAppInfo( appInfo, @@ -509,10 +521,11 @@ { isBrowserRunning = ETrue; } - } + } + appSess.Close(); + CleanupStack::PopAndDestroy( waiter ); - appSess.Close(); - connectionMonitor.Close(); + CleanupStack::PopAndDestroy( &connectionMonitor ); } } else diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -215,7 +215,6 @@ { result = iListBox->OfferKeyEventL( aKeyEvent, aType ); - if( aKeyEvent.iCode == EKeyUpArrow ) { if( iPartner ) @@ -236,9 +235,8 @@ { iPartner->HandleSelectionKeyPressedL(); } - } - } + } } return result; } @@ -470,7 +468,7 @@ if ( aItemTextArray->MdcaCount() ) { - TUint lastIndex = aItemTextArray->MdcaCount() -1; + TInt lastIndex = aItemTextArray->MdcaCount() -1; if ( aCurrentItem <= lastIndex ) { iListBox->SetCurrentItemIndex( aCurrentItem ); diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -155,8 +155,13 @@ TInt selectedItem = iContainer->SelectedItem(); CWsfWlanInfoArray* array = iModel->GetInfoArray(); if ( array ) - { - TWsfWlanInfo* item = array->At( selectedItem ); + { + TWsfWlanInfo* item = NULL; + if ( selectedItem < array->Count() ) + { + item = array->At( selectedItem ); + } + if ( item ) { iSelectedItem = *item; diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/model/inc/wsfapplauncher.h --- a/wlanutilities/wlansniffer/model/inc/wsfapplauncher.h Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/inc/wsfapplauncher.h Mon Mar 15 12:44:54 2010 +0200 @@ -26,7 +26,6 @@ class MWsfBrowserLaunchObserver; class CRepository; -class CMDBSession; /** @@ -107,12 +106,10 @@ * @since S60 5.0 * @param aObserver Observer to be notified about launch completion * @param aIapId IAP id passed as a parameter - * @param aWapId WAP id passed as a parameter * @param aURL User defined WWW address to be used as start-up page */ void LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, TUint aIapId, - TUint aWapId, const TDesC& aURL ); /** @@ -176,40 +173,6 @@ * not defined */ TInt BrowserHomepage( TDes& aHomePageURL ); - - /** - * Gets the access point selection mode - * @since S60 5.0 - * @return 0=User defined, 1=Always ask, 2=Destination - */ - TInt ApSelectionMode(); - - /** - * Defines the access point selection mode - * @since S60 5.0 - * @param aEnable Selection mode: 0=User defined, 1=Always ask, - * 2=Destination - */ - void SetApSelectionMode( TInt aApSelectionMode ); - - /** - * Restores Access Point selection mode - * @since S60 5.0 - */ - void RestoreApSelectionMode(); - - /** - * Configures browser access point using central repository - * @since S60 5.0 - * @param aAccessPointId Access Point's IAP id - */ - void SetAccessPoint( TUint aAccessPointId ); - - /* - * Restores original accesspoint id if one is set - * @since S60 5.0 - */ - void RestoreAccessPoint(); private: // From CActive @@ -251,11 +214,6 @@ * IAP id to use */ TUint iIapId; - - /** - * WAP id for browser's default connection id - */ - TUint iWapId; /** * State of browser launching @@ -263,21 +221,6 @@ TWsfLaunchState iLaunchState; /** - * Stored original selection mode - */ - TBool iRestoreSelectionMode; - - /** - * Indicates whether to restore access point - */ - TBool iRestoreAccessPoint; - - /** - * The original IAP id used by the browser - */ - TUint iOriginalApId; - - /** * Indicates whether to launch bookmarks page * (if homepage is not set) */ @@ -309,11 +252,6 @@ RTimer iTimer; /** - * Indicates which AP selection mode was originally used. - */ - TUint iOriginalApSelectionMode; - - /** * Browser's cenrep key number for the homepage */ TUint iBrowserHomePageKey; diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp --- a/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -23,12 +23,8 @@ #include #include #include -#include -#include #include -#include #include -#include // CLASS HEADER #include "wsfapplauncher.h" @@ -36,7 +32,6 @@ // INTERNAL INCLUDES #include "wsfbrowserlaunchobserver.h" #include "wsflogger.h" -#include "wsfactivewaiter.h" // LOCAL DEFINITIONS @@ -53,7 +48,8 @@ #ifdef _DEBUG _LIT( KBrowserLauncherPanic, "CWsfAppLauncher" ); - #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), User::Panic( KBrowserLauncherPanic, __LINE__) ) + #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \ + User::Panic( KBrowserLauncherPanic, __LINE__) ) #else #define _ASSERTD( cond ) {} #endif //_DEBUG @@ -103,12 +99,9 @@ // --------------------------------------------------------------------------- // CWsfAppLauncher::CWsfAppLauncher(): - CActive( CActive::EPriorityLow ), + CActive( CActive::EPriorityStandard ), iIapId( 0 ), - iWapId( 0 ), iLaunchState( EIdle ), - iRestoreSelectionMode( EFalse ), - iRestoreAccessPoint( EFalse ), iLaunchBookMarks( EFalse ) { } @@ -142,16 +135,13 @@ // void CWsfAppLauncher::LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, TUint aIapId, - TUint aWapId, const TDesC& aURL ) { LOG_ENTERFN( "CWsfAppLauncher::LaunchBrowserL_3" ); Cancel(); - SetAccessPoint( aWapId ); LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_3 -->> afer cancel" ); iObserver = &aObserver; iIapId = aIapId; - iWapId = aWapId; HBufC* url = aURL.AllocL(); delete iURL; iURL = url; @@ -191,11 +181,6 @@ LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> iIapid %d", aIapId ); plugin = cmManager.ConnectionMethodL( aIapId ); LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cm after open" ); - - // Browser uses WAP id instead of IAP id so - // we need to pass wap id to browser - TUint wapId = plugin.GetIntAttributeL( CMManager::ECmWapId ); - LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> ECmWapId %d", wapId ); // do we have start page for Access Point? HBufC* apHomepage = NULL; @@ -214,7 +199,8 @@ // launch bookmarks view if ( err || url->Length() == 0 ) { - LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> err in url length" ); + LOG_WRITE( + "CWsfAppLauncher::LaunchBrowserL_2 -->> err in url length" ); iLaunchBookMarks = ETrue; } } @@ -223,18 +209,8 @@ LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> hplength>0" ); url->Des().Copy( *apHomepage ); } - - if ( ApSelectionMode() !=0 ) - { - // Set AP selection mode to user defined - LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> ap selection mode" ); - SetApSelectionMode( 0 ); - iRestoreSelectionMode = ETrue; - } - LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> before setAP" ); - SetAccessPoint( wapId ); - LaunchBrowserL( aObserver, aIapId, wapId, *url ); + LaunchBrowserL( aObserver, aIapId, *url ); LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> after launch _3" ); CleanupStack::PopAndDestroy( apHomepage ); @@ -251,7 +227,7 @@ void CWsfAppLauncher::DoLaunchBrowserL() { LOG_ENTERFN( "CWsfAppLauncher::DoLaunchBrowserL" ); - _LIT( KFormatCommand, "%d %S %d" ); + _LIT( KFormatCommand, "%d %S" ); const TInt KBrowserFirstParamUrlFollows = 4; iLaunchState = EStartingUp; @@ -264,7 +240,7 @@ { param = HBufC::NewLC( KFormatCommand().Length() + iURL->Length() ); param->Des().Format( KFormatCommand, - KBrowserFirstParamUrlFollows, iURL, iWapId ); + KBrowserFirstParamUrlFollows, iURL ); } RApaLsSession appArcSession; @@ -434,96 +410,6 @@ // --------------------------------------------------------------------------- -// CWsfAppLauncher::ApSelectionModeL -// --------------------------------------------------------------------------- -// -TInt CWsfAppLauncher::ApSelectionMode() - { - LOG_ENTERFN( "CWsfAppLauncher::ApSelectionMode" ); - TInt currentState = 0; - iRepository->Get( KBrowserAccessPointSelectionMode, currentState ); - return currentState; - } - - -// --------------------------------------------------------------------------- -// CWsfAppLauncher::SetApSelectionModeL -// --------------------------------------------------------------------------- -// -void CWsfAppLauncher::SetApSelectionMode( TInt aApSelectionMode ) - { - LOG_ENTERFN( "CWsfAppLauncher::SetApSelectionMode" ); - // Valid values: 0 = User Defined, 1 = Always Ask, 2=Destination - if ( !iRestoreSelectionMode ) - { - //Store original setting - TInt OriginalApSelectionMode = 0; - iRepository->Get( KBrowserAccessPointSelectionMode, - OriginalApSelectionMode ); - iOriginalApSelectionMode = OriginalApSelectionMode; - } - iRepository->Set( KBrowserAccessPointSelectionMode, aApSelectionMode ); - } - - -// --------------------------------------------------------------------------- -// CWsfAppLauncher::RestoreApSelectionMode -// --------------------------------------------------------------------------- -// -void CWsfAppLauncher::RestoreApSelectionMode() - { - LOG_ENTERFN( "CWsfAppLauncher::RestoreApSelectionMode" ); - if ( iRestoreSelectionMode ) - { - SetApSelectionMode( iOriginalApSelectionMode ); - iRestoreSelectionMode = EFalse; - } - } - -// --------------------------------------------------------------------------- -// CWsfAppLauncher::SetAccessPoint -// --------------------------------------------------------------------------- -// -void CWsfAppLauncher::SetAccessPoint( TUint aAccessPointId ) - { - LOG_ENTERFN( "CWsfAppLauncher::SetAccessPoint" ); - LOG_WRITEF( "aAccessPointId %d", aAccessPointId ); - CRepository* repository( iRepository ); - TUint defaultAccessPointUid = KBrowserDefaultAccessPoint; - - if ( !iRestoreAccessPoint ) - { - // Store Access point so it can be restored after the launch - TInt id( 0 ); - TInt err = repository->Get( defaultAccessPointUid, id ); - if ( err != KErrNotFound ) - { - iOriginalApId = (TUint)id; - iRestoreAccessPoint = ETrue; - } - } - - repository->Set( defaultAccessPointUid, (TInt)aAccessPointId ); - repository = NULL; - } - - -// --------------------------------------------------------------------------- -// CWsfAppLauncher::RestoreAccessPoint -// --------------------------------------------------------------------------- -// -void CWsfAppLauncher::RestoreAccessPoint() - { - LOG_ENTERFN( "CWsfAppLauncher::RestoreAccessPoint" ); - if ( iRestoreAccessPoint ) - { - SetAccessPoint( iOriginalApId ); - iRestoreAccessPoint = EFalse; - } - } - - -// --------------------------------------------------------------------------- // CWsfAppLauncher::DoCancel // --------------------------------------------------------------------------- // @@ -534,8 +420,6 @@ iThread.Close(); iTimer.Cancel(); - RestoreApSelectionMode(); - RestoreAccessPoint(); iLaunchState = EIdle; } @@ -591,9 +475,7 @@ case EFinished: //Browser exists, notify observer about completion { LOG_WRITE( "CWsfAppLauncher::RunL -->> EFinished" ); - iObserver->BrowserExitL(); - RestoreAccessPoint(); - RestoreApSelectionMode(); + iObserver->BrowserExitL(); iLaunchState = EIdle; break; } @@ -619,9 +501,7 @@ case EShuttingDown: // Shuttind down existing browser failed case EStartingUp: // Starting up new browser failed case ECompleted: // Starting up new browser failed - { - RestoreApSelectionMode(); - RestoreAccessPoint(); + { iObserver->BrowserLaunchFailed( aError ); break; } @@ -635,3 +515,4 @@ return aError; } + diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/model/src/wsfmodel.cpp --- a/wlanutilities/wlansniffer/model/src/wsfmodel.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/src/wsfmodel.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -321,11 +321,15 @@ EXPORT_C void CWsfModel::DisconnectL() { LOG_ENTERFN( "CWsfModel::DisconnectL" ); - iSession.DisconnectWlanBearerL(); + TBool disconnected = iSession.DisconnectWlanBearerL(); + LOG_WRITEF( "disconnected = %d", disconnected ); iConnectedIapId = 0; iConnectedNetId = 0; iConnectOnly = EFalse; - iRefreshing = iSession.RequestScanL(); + if ( !disconnected ) + { + iRefreshing = iSession.RequestScanL(); + } } @@ -942,7 +946,7 @@ // check if the app is already running ... and kill it. TUid id( TUid::Uid( KHelperApUid.iUid ) ); - TApaTaskList taskList( CEikonEnv::Static()->WsSession() ); + TApaTaskList taskList( iEikEnv->WsSession() ); TApaTask task = taskList.FindApp( id ); if ( task.Exists() ) diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd --- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd Mon Mar 15 12:44:54 2010 +0200 @@ -11,7 +11,7 @@ "Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available -under the terms of the License "Eclipse Public License v1.0" +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". diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd --- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd Mon Mar 15 12:44:54 2010 +0200 @@ -11,7 +11,7 @@ "Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. This component and the accompanying materials are made available -under the terms of the License "Eclipse Public License v1.0" +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". diff -r dff6ebfd236f -r 8b0eae1b1d71 wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp --- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp Fri Mar 12 15:48:54 2010 +0200 +++ b/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp Mon Mar 15 12:44:54 2010 +0200 @@ -50,7 +50,8 @@ iFilterFlags( 0 ), iBrandId( 0 ), iNetworkName( KNullDesC8 ), - iPriority ( 0 ) + iPriority ( 0 ), + iRawSsid ( KNullDesC8 ) { } @@ -78,7 +79,8 @@ iConnectionState( ENotConnected ), iFilterFlags( 0 ), iBrandId( 0 ), - iPriority( 0 ) + iPriority( 0 ), + iRawSsid ( KNullDesC8 ) { }