Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:44:54 +0200
branchRCL_3
changeset 11 8b0eae1b1d71
parent 10 dff6ebfd236f
child 12 981afc7d3841
Revision: 201009 Kit: 201010
hotspotfw/group/bld.inf
hotspotfw/hsfw_sis/hotspotfwupdater.pkg
hotspotfw/hsfw_sis/ictsupdater.pkg
hotspotfw/rom/hotspot.iby
hotspotfw/rom/hotspotfwstub.pkg
hotspotfw/rom/hotspotfwstub.sis
hotspotfw/rom/ictsstub.pkg
hotspotfw/rom/ictsstub.sis
wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h
wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h
wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp
wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h
wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h
wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfconnectactivewrapper.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfdisconnectactivewrapper.cpp
wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfrefreshscanactivewrapper.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfwlanlistactivewrapper.cpp
wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h
wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp
wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h
wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp
wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp
wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h
wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp
wlanutilities/wlansniffer/model/inc/wsfapplauncher.h
wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp
wlanutilities/wlansniffer/model/src/wsfmodel.cpp
wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd
wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd
wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp
--- 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)
--- /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"
+
+
+
--- /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"
+
+
--- 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
--- /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"
+
+
Binary file hotspotfw/rom/hotspotfwstub.sis has changed
--- /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"
+
Binary file hotspotfw/rom/ictsstub.sis has changed
--- 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
--- 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()" );   
     
--- 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
--- 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
     }
--- 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 <e32def.h>
 #include <e32property.h>
+#include <eikenv.h>
 
 //  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;
 
         /**
--- 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 <hscontentpublisher.h>
 #include <e32cmn.h>
+#include <eikenv.h>
 
 //  INTERNAL INCLUDES
 #include "wsfaicontroller.h"
@@ -254,6 +255,11 @@
 
         
     private: // Data
+        
+        /**
+        * Handle to Eikon environment.
+        */
+        CEikonEnv* iEnv;
     
         /**
         * Array of content observers
--- 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" );
 
--- 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 <e32base.h>
 
+
 //  FORWARD DECLARATIONS
 class CAknIconArray;
 class CGulIcon;
--- 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:
             {
             }
-
         }
     }
 
--- 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 );  
     }
 
 
--- 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<CWsfAiView*>( 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() )
--- 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() );
         }
     }
 
--- 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() );
         }
     }
 
--- 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 );
 
--- 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() );
         }
     }
 
--- 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() );
         }
     }
 
--- 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
--- 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
                 {
--- 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 
--- 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 )
             {
--- 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();
--- 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
 
--- 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();
--- 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;
     }      
 
--- 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<KWlanMaxSsidLength> 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<TWsfMainController*>( aPtr );
+    LOG_WRITE( "Restore refresh state")
+    self->iModel->SetRefreshState( ETrue );
+    }
       
 // End of file
--- 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 
--- 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 );            
--- 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;
--- 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;
--- 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 <apgcli.h>
 #include <centralrepository.h>
 #include <browseruisdkcrkeys.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
 #include <cmmanager.h>
-#include <cmmanagerext.h>
 #include <cmconnectionmethod.h>
-#include <cmconnectionmethodext.h>
  
 //  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;
     }
 
+
--- 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() )
--- 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".
 
--- 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".
 
--- 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 )
     {
     }