Revision: 201001
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 18 Jan 2010 21:21:32 +0200
changeset 2 6e4b6261703d
parent 1 d07e190ed096
child 3 ff3b37722600
Revision: 201001 Kit: 201003
hotspotfw/hsbrowser/inc/hsbrowserhssrvnotifs.h
hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h
hotspotfw/hsserver/inc/hotspotserver.h
hotspotfw/hsserver/inc/hotspotsession.h
hotspotfw/hsserver/src/hotspotserver.cpp
hotspotfw/hsserver/src/hotspotsession.cpp
hotspotfw/internetconnectivitytestservice/group/ictsclientinterface.mmp
hotspotfw/internetconnectivitytestservice/inc/ictsengine.h
hotspotfw/internetconnectivitytestservice/src/ictsengine.cpp
wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp
wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h
wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp
wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh
wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp
wlanutilities/wlansniffer/model/bwins/wsfmodelu.def
wlanutilities/wlansniffer/model/eabi/wsfmodelu.def
wlanutilities/wlansniffer/model/inc/wsfmodel.h
wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp
wlanutilities/wlansniffer/model/src/wsfmodel.cpp
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h
wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp
--- a/hotspotfw/hsbrowser/inc/hsbrowserhssrvnotifs.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsbrowser/inc/hsbrowserhssrvnotifs.h	Mon Jan 18 21:21:32 2010 +0200
@@ -60,44 +60,6 @@
         * Connection state has changed .
         */
     	virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
-    
-	    /**
-	    * BSSID has changed (i.e. AP handover).
-	    */
-	    virtual void BssidChanged( TWlanBssid& /* aNewBSSID */ ) {};
-	
-	    /**
-	    * Connection has been lost.
-	    */
-	    virtual void BssLost() {};
-	
-	    /**
-	    * Connection has been regained.
-	    */
-	    virtual void BssRegained() {};
-	
-	    /**
-	    * New networks have been detected during scan.
-	    */
-	    virtual void NewNetworksDetected() {};
-	
-	    /**
-	    * One or more networks have been lost since the last scan.
-	    */
-	    virtual void OldNetworksLost() {};
-	
-	    /**
-	    * The used transmit power has been changed.
-	    * @param aPower The transmit power in mW.
-	    */
-	    virtual void TransmitPowerChanged( TUint /* aPower */ ) {};
-	    
-	    /**
-	    * Received signal strength level has been changed.
-	    * @param aRssClass specifies the current class of the received signal
-	    * @param aRss RSS level in absolute dBm values.
-	    */
-	    virtual void RssChanged(TWlanRssClass /* aRssClass */, TUint /* aRss */ ) {};
 
                         
     private:
--- a/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h	Mon Jan 18 21:21:32 2010 +0200
@@ -22,7 +22,7 @@
 #define HSBROWSERSPECIALLOADOBSERVER_H
 
 //  INCLUDES
-#include <BrCtlSpecialLoadObserver.h>
+#include <brctlspecialloadobserver.h>
 #include <brctlinterface.h>
 
 // CLASS DECLARATION
--- a/hotspotfw/hsserver/inc/hotspotserver.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsserver/inc/hotspotserver.h	Mon Jan 18 21:21:32 2010 +0200
@@ -231,20 +231,6 @@
         * @return None
         */
         void CheckIapsL();
-       
-        /**
-        * Checks EasyWLAN service id
-        * @since Series 60 MCL
-        * @return ETrue if commits were successful, otherwise EFalse. 
-        */
-        TBool EasyWlanIdL();
-        
-        /**
-        * Getter for EasyWLAN service id
-        * @since Series 60 MCL
-        * @return EasyWLAN IAP id
-        */
-        TUint32 GetEasyWlanId();
         
         /**
         * Get login timer value for the specified client.
@@ -360,16 +346,6 @@
         TInt iCurrentServiceIdInUse;
         
         /**
-        * Return/leave value of ChangeConfigDaemonL()   
-        */
-        TInt iConfigDaemonChanged;
-        
-        /**
-        * Service id of IAP in use
-        */
-        TUint32 iEasyWlanId;
-
-        /**
         * Array for storing client dependent login and logout timer values.
         */
         RArray<SLoginLogoutTimers> iLoginLogoutTimerArray;
--- a/hotspotfw/hsserver/inc/hotspotsession.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsserver/inc/hotspotsession.h	Mon Jan 18 21:21:32 2010 +0200
@@ -20,7 +20,6 @@
 #define HOTSPOTSESSION_H
 
 //  INCLUDES
-#include <centralrepository.h>
 #include "hssclientplugin.h"
 #include <e32base.h>
 #include <e32svr.h>
@@ -233,6 +232,12 @@
         * @param aString, redirect URL
         */        
         void AuthenticateL( const TDesC& aString );
+        
+        /**
+        * Reads EasyWLAN IAP id
+        * @return None 
+        */
+        void EasyWlanIdL();
     
     private:    // Data
     
@@ -323,12 +328,6 @@
         * Flag for notification sending
         */       
 		TBool iAllowNotifications;
-		
-        /**
-        * Instance of CenRep
-        * Own.  
-        */
-        CRepository* iRepository;
         
         /**
         * Client UID of this session
@@ -339,6 +338,11 @@
         * Flag for indicate if extended HSFW API is used
         */
         TBool iHotspotExtension;
+        
+        /**
+        * Easy WLAN IAP Id
+        */
+        TUint32 iEasyWlanId;
 	};
 	
 #endif
--- a/hotspotfw/hsserver/src/hotspotserver.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsserver/src/hotspotserver.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -16,10 +16,6 @@
 */
 
 
-
-
-
-
 // INCLUDE FILES
 #include <e32std.h>
 #include <f32file.h>
@@ -172,38 +168,20 @@
 //
 void CHotSpotServer::ConstructL()
     {
-  
     DEBUG("**** HotSpotServer: CHotSpotServer::ConstructL");
-	StartL( KHotSpotServerName );
-	
-	iIapCheckValue = EFalse;
+    StartL( KHotSpotServerName );
+
+    iIapCheckValue = EFalse;
     iLogoutSent = EFalse;
     iLoginValue = ETrue;
     iAssociationValue = EFalse;
-	
-#ifndef __WINS__
-
-    // Change config daemon for Easy WLAN access point
-    iConfigDaemonChanged = KErrNone;
-    TBool retVal( EFalse );
-    iEasyWlanId = KEasyWlanServiceId; // Set to default value
-    TRAPD( leave, retVal = EasyWlanIdL() );
-    if ( KErrNone != leave )
-        {
-        iConfigDaemonChanged = leave;
-        }
-    if ( !retVal )
-        {
-        iConfigDaemonChanged = KErrGeneral;
-        }
-    DEBUG1("**** HotSpotServer: CHotSpotServer::ConstructL iConfigDaemonChanged: %d", iConfigDaemonChanged );
-#endif        
-    // Activate notifications for IAP check purposes
+    
+    // Activate notifications for IAP check purposes. Done with every server startup.
     // When EWlanConnectionModeNotConnected is received we can cancel this and 
     // we know that it safe to go through IAPs.
     iMgtClient = CWlanMgmtClient::NewL();
 #ifndef __WINS__
- 	iMgtClient->ActivateNotificationsL( *this );
+    iMgtClient->ActivateNotificationsL( *this );
 #endif 
     }
 
@@ -221,7 +199,6 @@
 #ifndef __WINS__
             iMgtClient->CancelNotifications();
 #endif
-            DEBUG("CHotSpotServer::ConnectionStateChanged2");
             }
     	
      	TRAPD(err, CheckIapsL());
@@ -229,12 +206,7 @@
      		{
      		DEBUG1("CHotSpotServer::ConnectionStateChanged(): %d", err);
      		}
-     	if ( iConfigDaemonChanged != KErrNone )
-     	    {
-     	    // ConstructL call leaved. Let's call again once more.
-     	    TRAP_IGNORE( EasyWlanIdL() );
-     	    }
-     	}
+    	}
     }
 
 // -----------------------------------------------------------------------------
@@ -533,46 +505,6 @@
 	}
 
 // -----------------------------------------------------------------------------
-// EasyWlanIdL
-// -----------------------------------------------------------------------------
-//
-TBool CHotSpotServer::EasyWlanIdL()
-    {
-    TBool ret( EFalse );
-    DEBUG("CHotSpotServer::EasyWlanIdL()");
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    
-    iEasyWlanId = cmManager.EasyWlanIdL();
-    DEBUG1("CHotSpotServer::EasyWlanIdL() ret: % d", iEasyWlanId);
-    // if iEasyWlanId is 0, then it was not found
-    if ( iEasyWlanId > 0 )
-        {
-        RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( iEasyWlanId );
-        CleanupClosePushL( plugin );
-        //iEasyWlanId = plugin.GetIntAttributeL( /*ECmIapServiceId*/EWlanServiceId )
-        plugin.SetStringAttributeL( ECmConfigDaemonManagerName, KHotSpotPlugin );
-        // commit changes
-        plugin.UpdateL();
-        CleanupStack::PopAndDestroy( &plugin ); // Close() called on "plugin"
-        ret = ETrue;
-        }
-    CleanupStack::PopAndDestroy( &cmManager );
-    DEBUG("CHotSpotServer::EasyWlanIdL() DONE");
-    return ret;
-    }
-
-// -----------------------------------------------------------------------------
-// GetEasyWlanId
-// -----------------------------------------------------------------------------
-//
-TUint32 CHotSpotServer::GetEasyWlanId()
-    {
-    return iEasyWlanId;
-    }
-
-// -----------------------------------------------------------------------------
 // GetLoginTimerMicroSecs
 // -----------------------------------------------------------------------------
 //
--- a/hotspotfw/hsserver/src/hotspotsession.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/hsserver/src/hotspotsession.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -23,13 +23,14 @@
 #include "hssnotif.h"
 #include "hsslogintimer.h"
 #include "hsslogouttimer.h"
+#include "hssclientinterface.h"
+#include "am_debug.h"
 #include <internetconnectivitycrkeys.h>
 #include <WlanCdbCols.h>
 #include <starterclient.h>
-#include "e32std.h"
-#include "am_debug.h"
+#include <cmmanagerext.h>
+#include <e32std.h>
 #include <ecom.h>
-#include "hssclientinterface.h"
 #include <f32file.h>
 #include <apgcli.h>
 
@@ -62,8 +63,6 @@
     iLogoutTimer = CHssLogoutTimer::NewL( *this );
     
     iMgtClient = CWlanMgmtClient::NewL();
-    
-    iRepository = CRepository::NewL( KCRUidInternetConnectivitySettings );
     }
 
 // -----------------------------------------------------------------------------
@@ -127,12 +126,6 @@
         }
     iLogoutTimer = NULL;
     
-    if ( iRepository != NULL )
-        {
-        delete iRepository;
-        }
-    iRepository = NULL;
-    
     if ( iIcts != NULL )
         {
         delete iIcts;
@@ -649,23 +642,9 @@
         {
         delete iIcts;
         }
-    TInt connectivityTestAllowed( EIctsRunAutomatically );
-    iRepository->Get( KIctsTestPermission, connectivityTestAllowed );
-    DEBUG1("CHotSpotSession::TestInternetConnectivityL: %d", connectivityTestAllowed);
-    if ( connectivityTestAllowed == EIctsNeverRun )
-        {
-        TInt indx = iServer.FindMessage( iIapId, EHssStartLogin );
-        if ( KErrNotFound != indx )
-            {
-            iServer.CompleteMessage( indx, KErrNone );    
-            }
-        }
-    else
-        {
-        iIcts = CIctsClientInterface::NewL( iIapId, iNetId, *this );
-        iIcts->StartL();
-        }
-    
+   
+    iIcts = CIctsClientInterface::NewL( iIapId, iNetId, *this );
+    iIcts->StartL();
     }
 
 // -----------------------------------------------------------------------------
@@ -812,13 +791,14 @@
 	{
 	DEBUG("CHotSpotSession::ProcessUnRegisterL");
 	iAllowNotifications = EFalse;
-   
+    TInt ret( KErrNone );
+
     // Read message
     TInt iapId = ( TInt )aMessage.Int0();
     
-    TInt ret( KErrNone );
     // Check that this is not Easy WLAN
-    if ( iServer.GetEasyWlanId() != iapId  )
+    TRAP_IGNORE( EasyWlanIdL() );
+    if ( iEasyWlanId != iapId  )
         {
         TRAPD( err, iIapSettingsHandler->DeleteIapL( iapId ) );
         // return KErrGeneral if IAP removal is not successful
@@ -847,8 +827,9 @@
     TBuf8<KExtensionAPILength> extAPI;
     iIapId = aIapId;
     
-    // This is Easy WLAN. 
-    if ( iServer.GetEasyWlanId() == aIapId )
+    // Check if Easy WLAN.
+    TRAP_IGNORE( EasyWlanIdL() );
+    if ( iEasyWlanId == aIapId )
     	{
     	 DEBUG("CHotSpotSession::ProcessStartLogin Easy WLAN detected");
         // Just test internet connectivity and complete message later
@@ -1168,6 +1149,25 @@
     }
 
 // -----------------------------------------------------------------------------
+// EasyWlanIdL
+// -----------------------------------------------------------------------------
+//
+void CHotSpotSession::EasyWlanIdL()
+    {
+    DEBUG("CHotSpotSession::EasyWlanIdL()");
+    // Set to default value just in case
+    iEasyWlanId = KEasyWlanServiceId; 
+    
+    RCmManagerExt cmManager;
+    cmManager.OpenL();
+    CleanupClosePushL( cmManager );
+    
+    iEasyWlanId = cmManager.EasyWlanIdL();
+    DEBUG1("CHotSpotSession::EasyWlanIdL() ret: % d", iEasyWlanId);
+    CleanupStack::PopAndDestroy( &cmManager );
+    }
+
+// -----------------------------------------------------------------------------
 // ConnectionStateChanged
 // -----------------------------------------------------------------------------
 //
--- a/hotspotfw/internetconnectivitytestservice/group/ictsclientinterface.mmp	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/internetconnectivitytestservice/group/ictsclientinterface.mmp	Mon Jan 18 21:21:32 2010 +0200
@@ -48,9 +48,6 @@
 LIBRARY                 bafl.lib
 LIBRARY                 centralrepository.lib
 LIBRARY                 inetprotutil.lib 
-LIBRARY                 apgrfx.lib 
-LIBRARY                 eikcore.lib cone.lib 
 LIBRARY                 efsrv.lib 
 LIBRARY                 hotspotclient.lib 
-LIBRARY                 cmmanager.lib 
 
--- a/hotspotfw/internetconnectivitytestservice/inc/ictsengine.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/internetconnectivitytestservice/inc/ictsengine.h	Mon Jan 18 21:21:32 2010 +0200
@@ -225,11 +225,6 @@
         */
         RHssInterface iHsServer;
 
-        /**
-        * Easy WLAN IAP id
-        */
-        TUint32 iEasyWlanIapId;
-
     };
 
 
--- a/hotspotfw/internetconnectivitytestservice/src/ictsengine.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/hotspotfw/internetconnectivitytestservice/src/ictsengine.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -16,12 +16,6 @@
 */
 
 
-#include <apgcli.h>
-#include <eikenv.h> 
-#include <apgtask.h>
-#include <coemain.h> 
-#include <cmmanagerext.h>
-#include <cmmanagerdef.h>
 #include <f32file.h> 
 
 #include "ictsengine.h"
@@ -88,14 +82,6 @@
     iPollingTimeTimer = CIctsPollingTimeTimer::NewL( *this );
     
     iHttpHandler = CIctsHttpHandler::NewL( *this, KHttpResponseTime );
-    
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    
-    iEasyWlanIapId = cmManager.EasyWlanIdL();
-    DEBUG1("CIctsEngine::ConstructL iEasyWlanIapId %d", iEasyWlanIapId );
-    CleanupStack::PopAndDestroy( &cmManager );
     }
 
 // ---------------------------------------------------------------------------
--- a/wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -191,6 +191,10 @@
         }
 
     record->iWlanPowerMode = iPowerSaving;
+    
+    // Whenever settings are modified, iUseDefaultSettings must be set to false.
+    record->iUseDefaultSettings = EFalse;
+
     record->ModifyL( *iSession );
         
     CleanupStack::PopAndDestroy( record );        
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -19,7 +19,7 @@
 //  EXTERNAL INCLUDES
 #include <apgcli.h>
 #include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
 #include <AknIconArray.h>
 #include <AknQueryDialog.h>
 #include <cmpluginwlandef.h>
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h	Mon Jan 18 21:21:32 2010 +0200
@@ -49,6 +49,14 @@
         */ 
         virtual TBool ConnectedWlanConnectionDetailsL( 
                                                 TWsfWlanInfo* aWlanInfo ) = 0;
+        
+        /**
+        * Queries if there is an active WLAN connection.
+        * @since S60 5.2
+        * @return ETrue if there is an active WLAN connection, 
+        *         EFalse otherwise.
+        */ 
+        virtual TBool IsConnected() = 0;
 
     };
 
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -359,11 +359,26 @@
 //    
 void CWsfWlanScanner::AddConnectedWLANInfoL()
     {
+    LOG_ENTERFN( "CWsfWlanScanner::AddConnectedWLANInfoL" );
     // Get the possible connection
     if ( iConnectionDetailsProvider )
         {
+        TWlanSsid connectedSsid;
+        TInt error = iWlanMgmtClient->GetConnectionSsid( connectedSsid );
+        
+        LOG_WRITEF( "GetConnectionSsid returned=%d", error );
+        
+        TBool connected = ( error == KErrNone && connectedSsid.Length() );
+    
+        if ( !connected && !iConnectionDetailsProvider->IsConnected() )
+            {
+            LOG_WRITEF( "Not connected [connected=%d]", connected );
+            return;
+            }
+        
         TWsfWlanInfo* connectedInfo = new (ELeave) TWsfWlanInfo();
         CleanupStack::PushL( connectedInfo );
+        
         if ( iConnectionDetailsProvider->ConnectedWlanConnectionDetailsL(
                 connectedInfo) )
             {
@@ -371,8 +386,8 @@
             connectedSsidOrIap.Copy( connectedInfo->iSsid );
             // ConnectedWlanConnectionDetailsL() may have returned an IAP name instead of SSID.
             // make sure that we really have SSID in connectedInfo->iSSID at this phase.
-            TWlanSsid connectedSsid;
-            iWlanMgmtClient->GetConnectionSsid( connectedSsid );
+            
+            connectedInfo->iRawSsid.Copy( connectedSsid );
             connectedInfo->iSsid.Copy( connectedSsid );
             connectedInfo->iCoverage = 0;
             connectedInfo->iVisibility = 1;
@@ -1344,7 +1359,8 @@
 
     // ssid
     wlanTableView->ReadTextL( TPtrC( NU_WLAN_SSID ), aWlanInfo.iSsid );
-                                                      
+    aWlanInfo.iRawSsid.Copy( aWlanInfo.iSsid );
+    
     // security mode
     TUint32 secMode(0);
     wlanTableView->ReadUintL(TPtrC( WLAN_SECURITY_MODE), secMode);
@@ -1399,6 +1415,7 @@
             {
             ssid8.Copy( ieData, ieLen );
             aWlanInfo.iSsid.Copy( ssid8 );
+            aWlanInfo.iRawSsid.Copy( ssid8 );
             TBuf<KWlanMaxSsidLength> ssid16;
             ssid16.Copy( ssid8 );
             LOG_WRITEF( "SSID: [%S]", &ssid16 );
--- a/wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh	Mon Jan 18 21:21:32 2010 +0200
@@ -2,9 +2,9 @@
 * Copyright (c) 2009 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 "Symbian Foundation License v1.0"
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -375,6 +375,16 @@
             if ( firstItem && firstItem->Connected() )
                 {
                 firstItem->iConnectionState = ENotConnected;
+                TRAPD( error, iModel->CheckIsIapIdValidL( firstItem->iIapId ) );
+                if ( error )
+                    {
+                    LOG_WRITEF( "Iap Id is not valid - error=%d", error );
+                    if ( firstItem->iRawSsid.Length() )
+                        {
+                        firstItem->iSsid.Copy( firstItem->iRawSsid );
+                        }
+                    firstItem->iIapId = 0;
+                    }
                 iInfoArray->SortArrayL();
                 UpdateViewL( iInfoArray );                    
                 }
--- a/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def	Mon Jan 18 21:21:32 2010 +0200
@@ -35,4 +35,5 @@
 	?TestConnectedAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 34 NONAME ; int CWsfModel::TestConnectedAccessPointL(class TWsfWlanInfo &, int)
 	?FinalizeConnectL@CWsfModel@@QAEXXZ @ 35 NONAME ; void CWsfModel::FinalizeConnectL(void)
 	?ConnectWithoutConnWaiterL@CWsfModel@@QAEHKH@Z @ 36 NONAME ; int CWsfModel::ConnectWithoutConnWaiterL(unsigned long, int)
+	?CheckIsIapIdValidL@CWsfModel@@QBEXI@Z @ 37 NONAME ; void CWsfModel::CheckIsIapIdValidL(unsigned int) const
 
--- a/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def	Mon Jan 18 21:21:32 2010 +0200
@@ -38,4 +38,5 @@
 	_ZN9CWsfModelD1Ev @ 37 NONAME
 	_ZN9CWsfModelD2Ev @ 38 NONAME
 	_ZThn12_N9CWsfModel14LaunchBrowserLEm @ 39 NONAME
+	_ZNK9CWsfModel18CheckIsIapIdValidLEj @ 40 NONAME
 
--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/model/inc/wsfmodel.h	Mon Jan 18 21:21:32 2010 +0200
@@ -335,7 +335,14 @@
         */
         IMPORT_C static TInt IctsTestPermission();
         
-
+        /**
+        * Check if Iap Id is valid
+        * Leaves with system wide error code if Iap ID is 
+        * not valid or checking fails
+        * @since S60 5.2
+		* @param aIapId IAP id passed as a parameter
+        */        
+        IMPORT_C void CheckIsIapIdValidL( TUint aIapId ) const;
 
     public: // from  MWsfBrowserLaunchAdapter        
         /**
--- a/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -22,7 +22,7 @@
 #include <apgtask.h>
 #include <apgcli.h>
 #include <centralrepository.h>
-#include <BrowserUiSDKCRKeys.h>
+#include <browseruisdkcrkeys.h>
 #include <bldvariant.hrh>
 #include <featmgr.h>
 #include <cmmanager.h>
--- a/wlanutilities/wlansniffer/model/src/wsfmodel.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/model/src/wsfmodel.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -895,6 +895,7 @@
     {
     LOG_ENTERFN( "CWsfModel::RefreshScanL" );
     iRefreshing = iSession.RequestScanL();
+    LOG_WRITEF( "iRefreshing = %d", iRefreshing );
     return iRefreshing;
     }
     
@@ -1126,5 +1127,29 @@
         User::Leave( KErrWlanProtectedSetupSetupLocked );
         }
     }
+
+// ----------------------------------------------------------------------------
+// CWsfModel::CheckIsIapIdValidL
+// ----------------------------------------------------------------------------
+//
+EXPORT_C void CWsfModel::CheckIsIapIdValidL( TUint aIapId ) const
+    {    
+    LOG_ENTERFN( "CWsfModel::CheckIsIapIdValidL" );
+    LOG_WRITEF( "Checking iapId= %d", aIapId );
+    if( aIapId )
+        {
+        RCmManagerExt cmManager;
+        cmManager.OpenL();
+        CleanupClosePushL( cmManager );        
+
+        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( aIapId );
+        cm.Close();
+        CleanupStack::PopAndDestroy( &cmManager );
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
+    }
     
 // End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h	Mon Jan 18 21:21:32 2010 +0200
@@ -346,6 +346,9 @@
         
         //UI priority for known networks
         TUint8 iPriority;
+        
+        //Raw SSID - not converted
+        TWlanSsid iRawSsid;
     };
 
 
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -141,6 +141,7 @@
 	iBrandId = aStream.ReadInt8L();
 	iPriority = aStream.ReadInt8L();
 	aStream >> iNetworkName;
+	aStream >> iRawSsid;
 	}
 
 
@@ -163,6 +164,7 @@
 	aStream.WriteInt8L( iBrandId );
 	aStream.WriteInt8L( iPriority );
 	aStream << iNetworkName;
+	aStream << iRawSsid;
 	}
 
 
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h	Mon Jan 18 21:21:32 2010 +0200
@@ -39,8 +39,7 @@
 * @lib wsfwlaninfosorting.lib
 * @since S60 5.0
 */
-NONSHARABLE_CLASS( CWsfWlanSsidSelectionDlg2 ): public CAknListQueryDialog,
-                                                public MEikListBoxObserver
+NONSHARABLE_CLASS( CWsfWlanSsidSelectionDlg2 ): public CAknListQueryDialog
     {
     public:     
         /**
@@ -84,12 +83,11 @@
 
         
     public: // from CEikDialog
-        void PreLayoutDynInitL();
-        
+        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
+                                     TEventCode aType );
 
-    public: // From MEikListBoxObserver
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType );                       
+        void PreLayoutDynInitL();
+                             
             
     private:    // new methods
 
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp	Thu Jan 07 13:31:53 2010 +0200
+++ b/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp	Mon Jan 18 21:21:32 2010 +0200
@@ -119,6 +119,25 @@
 
 
 // ----------------------------------------------------------------------------
+// CWsfWlanSsidSelectionDlg2::OfferKeyEventL
+// ----------------------------------------------------------------------------
+//
+TKeyResponse CWsfWlanSsidSelectionDlg2::OfferKeyEventL( 
+                                                    const TKeyEvent& aKeyEvent, 
+                                                    TEventCode aType )
+    {
+    if ( aKeyEvent.iCode == EKeyApplicationF )
+        {
+        return EKeyWasConsumed;
+        }
+    else
+        {
+        return CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
+        }
+    }
+
+
+// ----------------------------------------------------------------------------
 // CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL
 // ----------------------------------------------------------------------------
 //
@@ -225,59 +244,6 @@
         
     return icon;
     }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::HandleListBoxEventL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::HandleListBoxEventL( CEikListBox* aListBox,
-                                                     TListBoxEvent aEventType )
-    {
-    LOG_ENTERFN( "CWsfWlanSsidSelectionDlg2::HandleListBoxEventL" );
-    
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        case EEventItemClicked:
-            // both handled in the same way for now...
-            {
-            // An item should be marked/unmarked.
-            LOG_WRITE( "selection toggle" );
-            CEikListBox* listBox = ListBox(); 
-            TInt index = listBox->View()->CurrentItemIndex();
+
 
-            if ( listBox->View()->ItemIsSelected( index ) )
-                {
-                // if the item was unmarked select  
-                listBox->View()->SelectItemL( index );
-                }
-            else
-                {
-                // if the item was marked deselect  
-                listBox->View()->DeselectItem( index );
-                }
-            
-            listBox->DrawDeferred();
-            break;
-            }
-        case EEventItemDoubleClicked:
-            {
-            break;
-            }
-        case EEventEditingStarted:
-            {
-            break;
-            }
-        case EEventEditingStopped:
-            {
-            break;
-            }
-        default:
-            {
-            CAknListQueryDialog::HandleListBoxEventL( aListBox, aEventType );
-            break;
-            };
-        };
-    }