--- a/convergedconnectionhandler/cchclientapi/src/cchuiconnectionhandler.cpp Fri Feb 19 22:44:34 2010 +0200
+++ b/convergedconnectionhandler/cchclientapi/src/cchuiconnectionhandler.cpp Fri Mar 12 15:42:09 2010 +0200
@@ -102,6 +102,9 @@
// Security mode of the WLAN network
TWlanConnectionSecurityMode securityMode;
+ // Flag for determining if hidden wlan
+ TBool hiddenWlan( EFalse );
+
CCHUIDEBUG(
"CCchUiConnectionHandler::SearchAccessPointsL - begin search wlan" );
@@ -118,6 +121,27 @@
CCHUIDEBUG(
"CCchUiConnectionHandler::SearchAccessPointsL - search wlan finished" );
+ // Check if hidden wlan
+ TUint32 easyWlanId( 0 );
+ easyWlanId = iCmManagerExt.EasyWlanIdL();
+
+ if ( easyWlanId )
+ {
+ RCmConnectionMethodExt cmConnMethodExt =
+ iCmManagerExt.ConnectionMethodL( easyWlanId );
+ CleanupClosePushL( cmConnMethodExt );
+
+ if ( cmConnMethodExt.GetBoolAttributeL( CMManager::EWlanScanSSID ) )
+ {
+ CCHUIDEBUG(
+ "CCchUiConnectionHandler::SearchAccessPointsL - hidden wlan" );
+
+ hiddenWlan = ETrue;
+ }
+
+ CleanupStack::PopAndDestroy( &cmConnMethodExt );
+ }
+
HBufC* ssid16 = HBufC::NewL( KSsidLength );
CleanupStack::PushL( ssid16 );
@@ -157,7 +181,11 @@
TBool alreadyExists = EFalse;
TInt iapId = AddNewConnectionMethodL(
- newDestination, *ssid16, securityMode, alreadyExists, EFalse );
+ newDestination,
+ *ssid16,
+ securityMode,
+ alreadyExists,
+ hiddenWlan );
if ( KErrCancel == iapId )
{
@@ -191,7 +219,11 @@
TBool alreadyExists = EFalse;
TInt iapId = AddNewConnectionMethodL(
- destination, *ssid16, securityMode, alreadyExists, EFalse );
+ destination,
+ *ssid16,
+ securityMode,
+ alreadyExists,
+ hiddenWlan );
CleanupStack::PopAndDestroy( &destination );
CleanupStack::PopAndDestroy( ssid16 );
@@ -230,6 +262,17 @@
SetSnapToUseL( aServiceId, aSnapId );
}
+ // Reset Easy Wlan EWlanScanSSID parameter to EFalse
+ if ( easyWlanId && hiddenWlan )
+ {
+ RCmConnectionMethodExt cmConnMethodExt =
+ iCmManagerExt.ConnectionMethodL( easyWlanId );
+ CleanupClosePushL( cmConnMethodExt );
+ cmConnMethodExt.SetBoolAttributeL( CMManager::EWlanScanSSID, EFalse );
+ cmConnMethodExt.UpdateL();
+ CleanupStack::PopAndDestroy( &cmConnMethodExt );
+ }
+
CCHUIDEBUG( "CCchUiConnectionHandler::SearchAccessPointsL - OUT" );
}