cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp
branchRCL_3
changeset 19 22c3c67e5001
parent 12 ea6e024ea6f9
child 36 04408506c6e0
--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Wed Apr 14 16:22:04 2010 +0300
+++ b/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Tue Apr 27 17:03:25 2010 +0300
@@ -53,6 +53,7 @@
 #include "cmpwlanactivewaiter.h"
 
 #include <wifiprotuiinprocess.h>
+#include <utf.h>
 
 using namespace CMManager;
 
@@ -1654,9 +1655,19 @@
             // We have to convert the 8-bit SSID to 16-bit for CommsDat.
             HBufC* ssid16 = HBufC::NewLC( ssid.Length() );
             TPtr ssid16Ptr( ssid16->Des() );
-            ssid16Ptr.Copy( ssid );
-
+            
+            // save iap name as unicode
+            TInt error = CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr, ssid );
+            if ( error )
+                {
+                ssid16Ptr.Copy( ssid );                  	
+                }
             SetStringAttributeL( ECmName, *ssid16 );
+            
+            // save ssid as UTF8
+            ssid16Ptr.Zero();
+            ssid16Ptr.FillZ();
+            ssid16Ptr.Copy( ssid ); 
             SetStringAttributeL( EWlanSSID, *ssid16 );
             // ConvertWLANConnectionStatesL( )converts WLAN connection state 
             // (TWlanConnectionMode) into EInfra or EAdhoc (TWlanNetMode)
@@ -1763,9 +1774,21 @@
             // no Wlan network found, continuing process...
             HBufC* ssid16 = HBufC::NewLC( ssid.Length() );
             TPtr ssid16Ptr( ssid16->Des() );
-            ssid16Ptr.Copy( ssid );
-            // write ssid and go on...
+            
+            // save iap name as unicode
+            TInt error = CnvUtfConverter::ConvertToUnicodeFromUtf8( ssid16Ptr, ssid );
+            if ( error )
+                {
+                ssid16Ptr.Copy( ssid );	
+                }			
             SetStringAttributeL( ECmName, *ssid16 );
+            
+            // save ssid as UTF8
+            ssid16Ptr.Zero();
+            ssid16Ptr.FillZ();
+            ssid16Ptr.Copy( ssid ); 
+            
+            // write ssid and go on...            
             SetStringAttributeL( EWlanSSID, *ssid16 );
             CleanupStack::PopAndDestroy( ssid16 );
             retval = ProceedWithManualL( ETrue ); // revert to fully manual...
@@ -2006,9 +2029,18 @@
                                             aNwName );
     if ( retVal )
         {
+        // save iap name as unicode
         SetStringAttributeL( ECmName, aNwName );
+        
+        // save ssid as UTF8
+        TWlanSsid ssid;
+        TInt err = CnvUtfConverter::ConvertFromUnicodeToUtf8( ssid, aNwName );
+        if ( err == KErrNone )
+            {
+            aNwName.Copy( ssid );
+            }
         SetStringAttributeL( EWlanSSID, aNwName );
-        
+        	
         retVal = ETrue;
         }
     return retVal;