Revision: 201017
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 14 May 2010 16:15:46 +0300
changeset 23 7ec726f93df1
parent 20 9c97ad6591ae
child 25 d840bfde7d40
child 27 489cf6208544
Revision: 201017 Kit: 201019
apengine/apeng/group/APEngine.MMP
apengine/apeng/src/APDataHandler.cpp
apengine/apsettingshandlerui/group/Apsettingshandlerui.mmp
apengine/apsettingshandlerui/inc/ApSettingsModel.h
apengine/apsettingshandlerui/src/ApSettingsModel.cpp
apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp
apengine/apsettingsplugin/data/1020736C.rss
apengine/apsettingsplugin/data/ApSettingsPluginRsc.rss
apengine/apsettingsplugin/group/ApSettingsPlugin.mmp
apengine/apsettingsplugin/group/apsettingspluginicons.mk
apengine/apsettingsplugin/group/bld.inf
apengine/apsettingsplugin/inc/APSettingsPlugin.h
apengine/apsettingsplugin/inc/utilities.h
apengine/apsettingsplugin/loc/apsettingsplugin.loc
apengine/apsettingsplugin/rom/ApSettingsPlugin.iby
apengine/apsettingsplugin/rom/ApSettingsPluginResources.iby
apengine/apsettingsplugin/src/APSettingsPlugin.cpp
apengine/apsettingsplugin/src/ApSettingsPluginImplementationTable.cpp
apengine/apsettingsplugin/src/utilities.cpp
apengine/group/bld.inf
bearermanagement/S60MCPR/inc/s60mcpractivities.h
bearermanagement/S60MCPR/inc/s60mcprstates.h
bearermanagement/S60MCPR/src/s60mcpractivities.cpp
bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp
bearermanagement/S60MCPR/src/s60mcprstates.cpp
bearermanagement/mpm/src/mpmiapselection.cpp
bearermanagement/mpm/src/mpmserversession.cpp
cmmanager/cmapplsettingsui/inc/cmapplsettingsui_p.h
cmmanager/cmapplsettingsui/res/cmradiodialog.docml
cmmanager/cmapplsettingsui/src/cmapplsettingsui_p.cpp
cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/res/tst_applsettingsui.docml
cmmanager/cmmgr/cmmcommon/inc/cmmserverdefs.h
cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp
cmmanager/cmmgr/cmmplugins/cmpluginlan/src/cmpluginlan.cpp
cmmanager/cmmgr/cmmplugins/cmpluginpacketdata/src/cmpluginpacketdata.cpp
cmmanager/cmmgr/cmmplugins/cmpluginwlan/src/cmpluginwlan.cpp
cmmanager/cmmgr/cmmserver/inc/cmmcache.h
cmmanager/cmmgr/cmmserver/inc/cmmconnmethodinstance.h
cmmanager/cmmgr/cmmserver/inc/cmmconnmethodstruct.h
cmmanager/cmmgr/cmmserver/inc/cmmdestinationinstance.h
cmmanager/cmmgr/cmmserver/inc/cmmdestinationstruct.h
cmmanager/cmmgr/cmmserver/inc/cmmserver.h
cmmanager/cmmgr/cmmserver/src/cmmcache.cpp
cmmanager/cmmgr/cmmserver/src/cmmconnmethodinstance.cpp
cmmanager/cmmgr/cmmserver/src/cmmdestinationstruct.cpp
cmmanager/cmmgr/database/src/cmmanagertableformats.cpp
cmmanager/connection_settings_shim/src/cmdestination_shim_s60.cpp
cmmanager/connection_settings_shim/tsrc/ut/testcmmgrshim.cpp
cmmanager/cpdestinationplugin/inc/cpiapitem.h
cmmanager/cpdestinationplugin/res/cpdestinationplugindialogs.docml
cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp
cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp
cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp
cmmanager/cpdestinationplugin/src/cpiapitem.cpp
cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp
cmmanager/cppacketdataapplugin/src/cppacketdataapadvancedview.cpp
cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp
cmmanager/cpwlanapplugin/src/cpwlanapadvancedview.cpp
cmmanager/cpwlanapplugin/src/cpwlanapview.cpp
cmmanager/group/bld.inf
cmmanager/gsconnsettingsplugin/data/200255B8.rss
cmmanager/gsconnsettingsplugin/data/gsconnsettingspluginrsc.rss
cmmanager/gsconnsettingsplugin/group/bld.inf
cmmanager/gsconnsettingsplugin/group/gsconnsettingsplugin.mmp
cmmanager/gsconnsettingsplugin/inc/gsconnsettingsmskobserver.h
cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.h
cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.hrh
cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugincontainer.h
cmmanager/gsconnsettingsplugin/inc/gsconnsettingspluginmodel.h
cmmanager/gsconnsettingsplugin/inc/gsconnsettingsselectiondlg.h
cmmanager/gsconnsettingsplugin/loc/gsconnsettingsplugin.loc
cmmanager/gsconnsettingsplugin/rom/gsconnsettingsplugin.iby
cmmanager/gsconnsettingsplugin/rom/gsconnsettingspluginresources.iby
cmmanager/gsconnsettingsplugin/src/gsconnsettingsplugin.cpp
cmmanager/gsconnsettingsplugin/src/gsconnsettingsplugincontainer.cpp
cmmanager/gsconnsettingsplugin/src/gsconnsettingspluginimpltable.cpp
cmmanager/gsconnsettingsplugin/src/gsconnsettingspluginmodel.cpp
cmmanager/gsconnsettingsplugin/src/gsconnsettingsselectiondlg.cpp
cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h
cmmanager/gsconnsettingsplugin/traces/gsconnsettingspluginmodelTraces.h
connectionmonitoring/connectionmonitorplugin/data/10281BC1.rss
connectionmonitoring/connectionmonitorplugin/data/connectionmonitorpluginrsc.rss
connectionmonitoring/connectionmonitorplugin/group/bld.inf
connectionmonitoring/connectionmonitorplugin/group/connectionmonitorplugin.mmp
connectionmonitoring/connectionmonitorplugin/inc/connectionmonitorplugin.h
connectionmonitoring/connectionmonitorplugin/loc/connectionmonitorplugin.loc
connectionmonitoring/connectionmonitorplugin/rom/connectionmonitorplugin.iby
connectionmonitoring/connectionmonitorplugin/rom/connectionmonitorpluginresources.iby
connectionmonitoring/connectionmonitorplugin/src/connectionmonitorplugin.cpp
connectionmonitoring/connectionmonitorplugin/src/connectionmonitorpluginimplementationtable.cpp
connectionmonitoring/connmon/connectionmonitor/src/ConnMonBearerGPRS.cpp
connectionmonitoring/group/bld.inf
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/cellulardataconfirmation.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/devicedialogobserver.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/connectionstatuspopup.h
connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp
connectionutilities/confirmqueries/res/prompt_abroad.docml
connectionutilities/confirmqueries/res/prompt_home.docml
ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h
ipcm_plat/extended_connection_settings_api/inc/cmcommonui.h
ipcm_plat/extended_connection_settings_api/inc/cmconnectionmethodext.h
ipcm_plat/extended_connection_settings_api/inc/cmdestinationext.h
ipcm_plat/extended_connection_settings_api/inc/cmmanagerext.h
ipcm_plat/extended_connection_settings_api/inc/cmpsettingsconsts.h
ipcm_plat/extended_connection_settings_api/inc/cmsettingsui.h
--- a/apengine/apeng/group/APEngine.MMP	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apeng/group/APEngine.MMP	Fri May 14 16:15:46 2010 +0300
@@ -73,11 +73,6 @@
 LIBRARY		Vpnapi.lib
 LIBRARY     centralrepository.lib
 
-
-LIBRARY WEPSecuritySettingsUi.lib
-LIBRARY WPASecuritySettingsUi.lib
-
-
 #if defined(ARMCC)
     DEFFILE ../EABI/ApEngine_EKA2.def
 #elif defined( WINSCW )
--- a/apengine/apeng/src/APDataHandler.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apeng/src/APDataHandler.cpp	Fri May 14 16:15:46 2010 +0300
@@ -38,17 +38,13 @@
 #include "ApEngineCommons.h"
 #include "ApUtils.h"
 #include "ApEngineVer.h"
-#include "ApEngineLogger.h"
+#include "ApEngineLogger.h" 
 #include "ApNetworkItem.h"
 #include "APItemExtra.h"
 #include "APItemCdmaData.h"
 #include "APItemWlanData.h"
 #include "ApSpeedLookup.h"
 
-#include <WEPSecuritySettingsUI.h>
-#include <WPASecuritySettingsUI.h>
-
-
 // CONSTANTS
 #if defined(_DEBUG)
     _LIT( KErrInvalidIntendedType, "Invalid intended default type" );
@@ -256,140 +252,8 @@
 //
 EXPORT_C TUint32 CApDataHandler::CreateCopyFromL( TUint32 aBaseId )
     {
-    CLOG( ( EHandler, 0, _L( "-> CApDataHandler::CreateCopyFromL" ) ) );
-
-    if ( iExt->iVariant & KApUiEditOnlyVPNs )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    CApAccessPointItem* holder = CApAccessPointItem::NewLC();
-
-    TBool ownTransaction = ApCommons::StartPushedTransactionLC( *iDb );
-    AccessPointDataL( aBaseId, *holder );
-    TUint32 oldwlanid( 0 );
-    holder->ReadUint( EApIapServiceId, oldwlanid );
-    
-    TUint32 retval( 0 );
-    TBool aNameChanged( EFalse );
-    
-    TApBearerType bearer = holder->BearerTypeL();
-    CWEPSecuritySettings* wepSecSettings = NULL;
-    CWPASecuritySettings* wpaSecSettings( NULL );
-    // only one of the above might be loaded once, so after copying
-    // we might need to PopAndDestroy only one item
-    TBool pushed(EFalse);
-
-    if ( bearer == EApBearerTypeWLAN )
-        {
-        TUint32 secmode( 0 );
-        holder->ReadUint( EApWlanSecurityMode, secmode );
-        switch ( secmode )
-            {
-            case EOpen:
-                {
-                break;
-                }
-            case EWep:
-                {
-                wepSecSettings = CWEPSecuritySettings::NewL();
-                CleanupStack::PushL( wepSecSettings );
-                pushed = ETrue;
-                TUint32 wlanid( 0 );
-                holder->ReadUint( EApIapServiceId, wlanid );
-                wepSecSettings->LoadL( wlanid, *iDb );
-                break;
-                }
-            case E802_1x:
-                {
-                wpaSecSettings = 
-                    CWPASecuritySettings::NewL( ESecurityMode8021x );
-                CleanupStack::PushL( wpaSecSettings );
-                pushed = ETrue;
-                TUint32 wlanid( 0 );
-                holder->ReadUint( EApIapServiceId, wlanid );
-                wpaSecSettings->LoadL( wlanid, *iDb );
-                break;
-                }
-            case EWpa:
-            case EWpa2:
-                {
-                wpaSecSettings = 
-                        CWPASecuritySettings::NewL( ESecurityModeWpa );
-                CleanupStack::PushL( wpaSecSettings );
-                pushed = ETrue;
-                TUint32 wlanid( 0 );
-                holder->ReadUint( EApIapServiceId, wlanid );
-                wpaSecSettings->LoadL( wlanid, *iDb );
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG( EFalse, ApCommons::Panic( ENotSupported ) );
-                // do nothing in urel
-                break;
-                }
-            }
-        
-        }
-    
-    retval = DoUpdateAccessPointDataL( *holder, ETrue, aNameChanged );
-    
-    if ( bearer == EApBearerTypeWLAN )
-        {
-        TUint32 wlanid(0);
-        holder->ReadUint( EApIapServiceId, wlanid );        
-        // now check if it is WEP...
-        // read up security mode
-        TUint32 secmode( 0 );
-        holder->ReadUint( EApWlanSecurityMode, secmode );
-        switch ( secmode )
-            {
-            case EOpen:
-                {
-                break;
-                }
-            case EWep:
-                {
-                // we have to try to save
-                wepSecSettings->SaveL( wlanid, *iDb );
-                break;
-                }
-            case E802_1x:
-                {
-                wpaSecSettings->SaveL( wlanid, *iDb, 
-                                       ESavingNewAPAsACopy, oldwlanid );
-                break;
-                }
-            case EWpa:
-            case EWpa2:
-                {
-                wpaSecSettings->SaveL( wlanid, *iDb,
-                                       ESavingNewAPAsACopy, oldwlanid );
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG( EFalse, ApCommons::Panic( ENotSupported ) );
-                // do nothing in urel
-                break;
-                }
-            }
-        }
-    if ( pushed )        
-        {
-        CleanupStack::PopAndDestroy(); // the sec. settings
-        }
-        
-    if ( ownTransaction )
-        {
-        ApCommons::CommitTransaction( *iDb );
-        CleanupStack::Pop(); // RollbackTransactionOnLeave
-        }
-    CleanupStack::PopAndDestroy( holder );    // holder
-
-    CLOG( ( EHandler, 1, _L( "<- CApDataHandler::CreateCopyFromL" ) ) );
-    return retval;
+    CLOG( ( EHandler, 0, _L( "-> CApDataHandler::CreateCopyFromL - ERROR: not suported" ) ) );
+    User::Leave( KErrNotSupported );
     }
 
 
@@ -2530,71 +2394,8 @@
 //
 void CApDataHandler::RemoveWlanL( TUint32 aUid )
     {
-    CLOG( ( EHandler, 0, _L( "-> CApDataHandler::RemoveWlanL" ) ) );
-
-    CCommsDbTableView* table = NULL;
-
-    // now check the WLAN table for corresponding record and delete them, too
-    table = iDb->OpenViewMatchingUintLC
-            ( TPtrC(WLAN_SERVICE), TPtrC(WLAN_SERVICE_ID), aUid );
-
-    TInt res = table->GotoFirstRecord(); // O.K.
-    if ( res == KErrNone )
-        { // exists, delete it
-        TUint32 tempint( 0 );
-        ApCommons::ReadUintL( table, TPtrC(WLAN_SECURITY_MODE), tempint );
-        // now tempint holds the security mode
-        // we have to delete security settings, too
-        switch ( tempint )
-            {
-            case EOpen:
-            case EWep:
-                {
-                break;
-                }
-            case E802_1x:
-                {
-                CWPASecuritySettings* wpa = 
-                        CWPASecuritySettings::NewL( ESecurityMode8021x );
-                CleanupStack::PushL( wpa );
-                wpa->DeleteL( aUid );
-                CleanupStack::PopAndDestroy( wpa );
-                break;
-                }
-            case EWpa:
-            case EWpa2:
-                {
-                CWPASecuritySettings* wpa = 
-                        CWPASecuritySettings::NewL( ESecurityModeWpa );
-                CleanupStack::PushL( wpa );
-                wpa->DeleteL( aUid );
-                CleanupStack::PopAndDestroy( wpa );
-                break;
-                }
-            default:
-                {
-                // some weird error, repair it...
-                __ASSERT_DEBUG( EFalse, ApCommons::Panic( ENotSupported ) );
-                break;
-                }
-            }
-        
-        User::LeaveIfError( table->DeleteRecord() );
-        }
-    else
-        {
-        // silently ignore KErrNotFound. It is caused by incorrect DB,
-        // we are 'repairing it' this way.
-        if ( res != KErrNotFound )
-            {
-            User::Leave( res );
-            }
-        }
-
-    // only need to destroy if it was successfully created!
-    CleanupStack::PopAndDestroy( table ); // table            
-    
-    CLOG( ( EHandler, 1, _L( "<- CApDataHandler::RemoveWlanL" ) ) );
+    CLOG( ( EHandler, 0, _L( "-> CApDataHandler::RemoveWlanL - ERROR: not suported" ) ) );
+    User::Leave( KErrNotSupported );
     }
 
 
--- a/apengine/apsettingshandlerui/group/Apsettingshandlerui.mmp	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apsettingshandlerui/group/Apsettingshandlerui.mmp	Fri May 14 16:15:46 2010 +0300
@@ -89,8 +89,6 @@
 LIBRARY FeatMgr.lib
 LIBRARY AknInputLanguage.lib
 
-LIBRARY WEPSecuritySettingsUi.lib
-LIBRARY WPASecuritySettingsUi.lib
 LIBRARY ConnectionUiUtilities.lib
 LIBRARY centralrepository.lib
 
--- a/apengine/apsettingshandlerui/inc/ApSettingsModel.h	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apsettingshandlerui/inc/ApSettingsModel.h	Fri May 14 16:15:46 2010 +0300
@@ -44,10 +44,8 @@
 class CEikonEnv;
 
 class CWEPSecuritySettings;
-class CWEPSecuritySettingsUi;
 
 class CWPASecuritySettings;
-class CWPASecuritySettingsUi;
 
 
 
@@ -676,11 +674,9 @@
 
     public:
         CWEPSecuritySettings*       iWepSecSettings;    ///< WEP settings data
-        CWEPSecuritySettingsUi*     iWepSecSettingsUi;  ///< WEP settings UI
         TInt                        iWepUiExitReason;   ///< WEP UI exit reason
 
         CWPASecuritySettings*       iWpaSecSettings;    ///< WPA settings data
-        CWPASecuritySettingsUi*     iWpaSecSettingsUi;  ///< WPA settings UI
         TInt                        iWpaUiExitReason;   ///< WPA UI exit reason
         TBool                       iNoEdit;
         
--- a/apengine/apsettingshandlerui/src/ApSettingsModel.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSettingsModel.cpp	Fri May 14 16:15:46 2010 +0300
@@ -44,9 +44,6 @@
 #include "ApNetworks.h"
 #include "FeatureManagerWrapper.h"
 
-#include <WEPSecuritySettingsUI.h>
-#include <WPASecuritySettingsUI.h>
-
 #include <ApAccessPointItem.h>
 
 #include "ApSettingsHandlerLogger.h"
@@ -145,11 +142,6 @@
         delete iop;
         }
 
-    delete iWepSecSettings;
-    delete iWepSecSettingsUi;
-
-    delete iWpaSecSettings;
-    delete iWpaSecSettingsUi;
     APSETUILOGGER_LEAVEFN( EModel,"~Model")    
     }
 
@@ -1088,35 +1080,9 @@
 //
 TInt CApSettingsModel::ChangeWepSettingsL( CApAccessPointItem* aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWepSettingsL")
-    TInt retval(0);
-        
-    if ( !iWepSecSettings )
-        {
-        iWepSecSettings = CWEPSecuritySettings::NewL();
-        TUint32 iapid( 0 );
-        aApItem->ReadUint( EApIapServiceId, iapid );
-        iWepSecSettings->LoadL( iapid, *Database()->Database() );        
-        }
-
-    if ( !iWepSecSettingsUi )
-        {
-        iWepSecSettingsUi = CWEPSecuritySettingsUi::NewL( *EikEnv() );
-        }
-
-    iWepUiExitReason = iWepSecSettings->EditL( *iWepSecSettingsUi, 
-                                               aApItem->ConnectionName() );
-                                               
-    if ( iWepUiExitReason & CWEPSecuritySettings::EExitReq )
-        {
-        retval += KApUiEventExitRequested;
-        }
-    if ( iWepUiExitReason & CWEPSecuritySettings::EShutDownReq )
-        {
-        retval += KApUiEventShutDownRequested;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::ChangeWepSettingsL")
-    return retval;
+    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWepSettingsL - ERROR: not suported")
+    aApItem = aApItem;
+    return KErrNotSupported;
     }
 
 
@@ -1127,35 +1093,9 @@
 //
 TInt CApSettingsModel::ChangeWpaSettingsL( CApAccessPointItem* aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWpaSettingsL")
-    TInt retval(0);
-
-    if ( !iWpaSecSettings )
-        {
-        iWpaSecSettings = CWPASecuritySettings::NewL( ESecurityModeWpa );
-        TUint32 iapid( 0 );
-        aApItem->ReadUint( EApIapServiceId, iapid );
-        iWpaSecSettings->LoadL( iapid, *Database()->Database() );
-        }
-
-    if ( !iWpaSecSettingsUi )
-        {
-        iWpaSecSettingsUi = CWPASecuritySettingsUi::NewL( *EikEnv() );
-        }
-
-    iWpaUiExitReason = iWpaSecSettings->EditL( *iWpaSecSettingsUi, 
-                                               aApItem->ConnectionName() );
-                                               
-    if ( iWpaUiExitReason & CWPASecuritySettings::EExitReq )
-        {
-        retval += KApUiEventExitRequested;
-        }
-    if ( iWpaUiExitReason & CWPASecuritySettings::EShutDownReq )
-        {
-        retval += KApUiEventShutDownRequested;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::ChangeWpaSettingsL")    
-    return retval;
+    APSETUILOGGER_ENTERFN( EModel,"Model::ChangeWpaSettingsL - ERROR: not suported")
+    aApItem = aApItem;
+    return KErrNotSupported;
     }
 
 
@@ -1166,35 +1106,9 @@
 //
 TInt CApSettingsModel::Change8021xSettingsL( CApAccessPointItem* aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::Change8021xSettingsL")
-    TInt retval(0);
-
-    if ( !iWpaSecSettings )
-        {
-        iWpaSecSettings = CWPASecuritySettings::NewL( ESecurityMode8021x );
-        TUint32 iapid( 0 );
-        aApItem->ReadUint( EApIapServiceId, iapid );
-        iWpaSecSettings->LoadL( iapid, *Database()->Database() );        
-        }
-        
-    if ( !iWpaSecSettingsUi )
-        {
-        iWpaSecSettingsUi = CWPASecuritySettingsUi::NewL( *EikEnv() );
-        }
-        
-    iWpaUiExitReason = iWpaSecSettings->EditL( *iWpaSecSettingsUi, 
-                                               aApItem->ConnectionName() );
-
-    if ( iWpaUiExitReason & CWPASecuritySettings::EExitReq )
-        {
-        retval += KApUiEventExitRequested;
-        }
-    if ( iWpaUiExitReason & CWPASecuritySettings::EShutDownReq )
-        {
-        retval += KApUiEventShutDownRequested;
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::Change8021xSettingsL")       
-    return retval;
+    APSETUILOGGER_ENTERFN( EModel,"Model::Change8021xSettingsL - ERROR: not suported")
+    aApItem = aApItem;
+    return KErrNotSupported;
     }
 
 
@@ -1205,19 +1119,10 @@
 //
 void CApSettingsModel::ClearWEPAndWPASettings()
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::ClearWEPAndWPASettings")
-    
-    delete iWepSecSettings;
-    iWepSecSettings = NULL;
-
-    delete iWpaSecSettings;
-    iWpaSecSettings = NULL;
-    
-    APSETUILOGGER_LEAVEFN( EModel,"Model::ClearWEPAndWPASettings") 
+    APSETUILOGGER_ENTERFN( EModel,"Model::ClearWEPAndWPASettings - ERROR: not suported")
     }
 
 
-
 // ---------------------------------------------------------
 // CApSettingsModel::WriteWlanL
 // ---------------------------------------------------------
@@ -1225,284 +1130,34 @@
 void CApSettingsModel::WriteWlanL( CApAccessPointItem& aApItem,
                                    TBool aIsNew )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::WriteWlanL")
-    // now check if it is WLAN and handle security savings...
-    if ( aApItem.BearerTypeL() == EApBearerTypeWLAN )
-        { // it is WLAN...
-        // check that there were no bearer-change, because if orig. bearer 
-        // was NOT wlan, then we shouls consider it as a new record!!!
-        TUint32 wlanid(0);
-        aApItem.ReadUint( EApIapServiceId, wlanid );        
-        
-        TUint32 oldwlanid(wlanid);
-        
-        TTypeOfSaving savetype( ESavingEditedAP );
-        
-        if ( aIsNew )
-            {
-            savetype = ESavingBrandNewAP;
-            oldwlanid = 0;
-            }
-        // now check if it is WEP...
-        // read up security mode
-        TUint32 secmode( 0 );
-        aApItem.ReadUint( EApWlanSecurityMode, secmode );
-        
-        
-        TBool fresh(EFalse); 
-        
-        
-        switch ( secmode )
-            {
-            case EOpen:
-                {
-                break;
-                }
-            case EWep:
-                {
-                // we have to try to save if:
-                // 1. it is a changed AP, it is possible that only 
-                // sec. settings have been changed. 
-                // In this case, iWepSecSettings might be NULL!!
-                // 2. it's sec. settings had been edited
-                
-                if ( !iWepSecSettings )
-                    {
-                    iWepSecSettings = CWEPSecuritySettings::NewL();
-                    fresh = ETrue;
-                    iWepSecSettings->LoadL( oldwlanid, 
-                                            *Database()->Database() );
-                    }
-                
-                if ( ( iWepUiExitReason & CWEPSecuritySettings::EValid ) 
-                    || ( fresh ) )
-                    { // save WEP settings, too, into same transaction...
-                    iWepSecSettings->SaveL( wlanid, *iDb->Database() );
-                    }
-                break;
-                }
-            case E802_1x:
-                {
-                
-                if ( !iWpaSecSettings )
-                    {
-                    iWpaSecSettings = 
-                        CWPASecuritySettings::NewL( ESecurityMode8021x );
-                    fresh = ETrue;
-                    iWpaSecSettings->LoadL( oldwlanid, 
-                                            *Database()->Database() );
-                    }                
-                
-                if ( ( iWpaUiExitReason & CWPASecuritySettings::EValid )
-                    || ( fresh ) )
-                    { // save WPA settings, too, into same transaction...
-                    iWpaSecSettings->SaveL( wlanid, *iDb->Database(), 
-                                            savetype, oldwlanid );
-                    }
-                break;
-                }
-            case EWpa:
-            case EWpa2:
-                {
-                
-                if ( !iWpaSecSettings )
-                    {
-                    iWpaSecSettings = 
-                          CWPASecuritySettings::NewL( ESecurityModeWpa );
-                    fresh = ETrue;
-                    iWpaSecSettings->LoadL( oldwlanid, 
-                                            *Database()->Database() );
-                    }                
-                
-                if ( ( iWpaUiExitReason & CWPASecuritySettings::EValid )
-                    || ( fresh ) )
-                    { // save WPA settings, too, into same transaction...
-                    iWpaSecSettings->SaveL( wlanid, *iDb->Database(),
-                                            savetype, oldwlanid );
-                    }
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
-                // do nothing in urel
-                break;
-                }
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::WriteWlanL")    
+    APSETUILOGGER_ENTERFN( EModel,"Model::WriteWlanL - ERROR: not supported")
+    aApItem;
+    aIsNew;
+    User::Leave( KErrNotSupported );
     }
 
 
-
-
-
 // ---------------------------------------------------------
 // CApSettingsModel::LoadWlanL
 // ---------------------------------------------------------
 //
 void CApSettingsModel::LoadWlanL( CApAccessPointItem& aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::LoadWlanL")
-    // now check if it is WLAN and handle security savings...
-    if ( aApItem.BearerTypeL() == EApBearerTypeWLAN )
-        { // it is WLAN...
-        // now check if it is WEP...
-        // read up security mode
-        TUint32 secmode( 0 );
-        aApItem.ReadUint( EApWlanSecurityMode, secmode );
-        switch ( secmode )
-            {
-            case EOpen:
-                {
-                break;
-                }
-            case EWep:
-                {
-                if ( !iWepSecSettings )
-                    {
-                    iWepSecSettings = CWEPSecuritySettings::NewL();
-                    }
-    
-                if ( !iWepSecSettingsUi )
-                    {
-                    iWepSecSettingsUi = 
-                        CWEPSecuritySettingsUi::NewL( *EikEnv() );
-                    }
-                TUint32 wlanid( 0 );
-                aApItem.ReadUint( EApIapServiceId, wlanid );
-                iWepSecSettings->LoadL( wlanid, *Database()->Database() );
-                break;
-                }
-            case E802_1x:
-                {
-                if ( !iWpaSecSettings )
-                    {
-                    iWpaSecSettings = 
-                        CWPASecuritySettings::NewL( ESecurityMode8021x );
-                    }
-    
-                if ( !iWpaSecSettingsUi )
-                    {
-                    iWpaSecSettingsUi = 
-                        CWPASecuritySettingsUi::NewL( *EikEnv() );
-                    }
-                TUint32 wlanid( 0 );
-                aApItem.ReadUint( EApIapServiceId, wlanid );
-                iWpaSecSettings->LoadL( wlanid, *Database()->Database() );
-                break;
-                }
-            case EWpa:
-            case EWpa2:
-                {
-                if ( !iWpaSecSettings )
-                    {
-                    iWpaSecSettings = 
-                        CWPASecuritySettings::NewL( ESecurityModeWpa );
-                    }
-    
-                if ( !iWpaSecSettingsUi )
-                    {
-                    iWpaSecSettingsUi = 
-                        CWPASecuritySettingsUi::NewL( *EikEnv() );
-                    }
-                TUint32 wlanid( 0 );
-                aApItem.ReadUint( EApIapServiceId, wlanid );
-                iWpaSecSettings->LoadL( wlanid, *Database()->Database() );
-                break;
-                }
-            default:
-                {
-                __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
-                // do nothing in urel
-                break;
-                }
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::LoadWlanL")    
+    APSETUILOGGER_ENTERFN( EModel,"Model::LoadWlanL - ERROR: not supported")
+    aApItem;
+    User::Leave( KErrNotSupported );
     }
 
 
-
-
-
 //----------------------------------------------------------
 // CApSettingsModel::HasWlanSecSettingsFilledL
 //----------------------------------------------------------
 //
 TBool CApSettingsModel::HasWlanSecSettingsFilledL( CApAccessPointItem& aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::HasWlanSecSettingsFilledL")
-    TBool retval(EFalse);
-    
-    TUint32 secmode( 0 );
-    aApItem.ReadUint( EApWlanSecurityMode, secmode );
-    
-    TUint32 wlanid(0);
-    aApItem.ReadUint( EApIapServiceId, wlanid );        
-        
-    TUint32 oldwlanid(wlanid);
-
-    TUint32 wapuid = aApItem.WapUid();
-
-    if ( ( wapuid == KApNoneUID )
-        || ( iUtils->BearerTypeL( wapuid ) != EApBearerTypeWLAN ) )
-        {
-        oldwlanid = 0;
-        }
-
-    switch ( secmode )
-        {
-        case EOpen:
-            {
-            retval = ETrue;
-            break;
-            }
-        case EWep:
-            {
-            if ( !iWepSecSettings )
-                {
-                iWepSecSettings = CWEPSecuritySettings::NewL();
-                iWepSecSettings->LoadL( oldwlanid, 
-                                        *Database()->Database() );
-                }
-            retval = iWepSecSettings->IsValid();
-            break;
-            }
-        case E802_1x:
-            {
-            if ( !iWpaSecSettings )
-                {
-                iWpaSecSettings = 
-                    CWPASecuritySettings::NewL( ESecurityMode8021x );
-                iWpaSecSettings->LoadL( oldwlanid, 
-                                        *Database()->Database() );
-                }
-            retval = iWpaSecSettings->IsValid();
-            break;
-            }
-        case EWpa:
-        case EWpa2:
-            {
-            if ( !iWpaSecSettings )
-                {
-                iWpaSecSettings = 
-                      CWPASecuritySettings::NewL( ESecurityModeWpa );
-                iWpaSecSettings->LoadL( oldwlanid, 
-                                        *Database()->Database() );
-                }                
-            retval = iWpaSecSettings->IsValid();                
-            break;
-            }
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
-            // do nothing in urel
-            break;
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::HasWlanSecSettingsFilledL")    
-    return retval;
+    APSETUILOGGER_ENTERFN( EModel,"Model::HasWlanSecSettingsFilledL - ERROR: not supported")
+    aApItem;
+    return EFalse;
     }
 
 
@@ -1512,66 +1167,9 @@
 //
 void CApSettingsModel::UpdateSecurityModeL( CApAccessPointItem& aApItem )
     {
-    APSETUILOGGER_ENTERFN( EModel,"Model::UpdateSecurityModeL")
-    TUint32 secmode( 0 );
-    aApItem.ReadUint( EApWlanSecurityMode, secmode );
-
-    TUint32 wlanid(0);
-    aApItem.ReadUint( EApIapServiceId, wlanid );
-
-    switch ( secmode )
-        {
-        case EOpen:
-            {
-            break;
-            }
-        case EWep:
-            {
-            if ( iWepSecSettings )
-                {
-                delete iWepSecSettings;
-                iWepSecSettings = NULL; // to satisfy CodeScanner
-                }
-            iWepSecSettings = CWEPSecuritySettings::NewL();
-            iWepSecSettings->LoadL( wlanid, 
-                                    *Database()->Database() );
-            break;
-            }
-        case E802_1x:
-            {
-            if ( iWpaSecSettings )
-                {
-                delete iWpaSecSettings;
-                iWpaSecSettings = NULL; // to satisfy CodeScanner
-                }
-            iWpaSecSettings = 
-                CWPASecuritySettings::NewL( ESecurityMode8021x );
-            iWpaSecSettings->LoadL( wlanid, 
-                                    *Database()->Database() );
-            break;
-            }
-        case EWpa:
-        case EWpa2:
-            {
-            if ( iWpaSecSettings )
-                {
-                delete iWpaSecSettings;
-                iWpaSecSettings = NULL; // to satisfy CodeScanner
-                }
-            iWpaSecSettings = 
-                  CWPASecuritySettings::NewL( ESecurityModeWpa );
-            iWpaSecSettings->LoadL( wlanid, 
-                                    *Database()->Database() );
-            break;
-            }
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, Panic( EUnknownCase ) );
-            // do nothing in urel
-            break;
-            }
-        }
-    APSETUILOGGER_LEAVEFN( EModel,"Model::UpdateSecurityModeL")    
+    APSETUILOGGER_ENTERFN( EModel,"Model::UpdateSecurityModeL - ERROR: not supported")
+    aApItem;
+    User::Leave( KErrNotSupported );
     }
 
 // End of File
--- a/apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp	Fri May 14 16:15:46 2010 +0300
@@ -28,8 +28,6 @@
 #include <ErrorUI.h>
 #include "Apsettingsdeleteoperation.h"
 
-#include <WEPSecuritySettingsUI.h>
-#include <WPASecuritySettingsUI.h>
 #include <ApAccessPointItem.h>
 
 // Following includes are needed only for the test
--- a/apengine/apsettingsplugin/data/1020736C.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*        ECOM plugin resource file for AP Settings plugin.
-*
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid     = 0x1020736C; // Plugin dll UID
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = 0x10207236; // UID for CGSPluginInterface
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = 0x1020736B; // Plugin UID 
-					version_no          = 1;
-					display_name        = "AP Settings Plugin"; // Plugin debug name
-					default_data        = "0x200255B9"; // Parent UID (gsconnsettingsplugin)
-					opaque_data         = "60"; // Order number
-					}
-				};
-			}
-		};
-	}
-
--- a/apengine/apsettingsplugin/data/ApSettingsPluginRsc.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*        Resource file for ApSettingsPlugin
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    PAPS // 4 letter ID
-
-//  INCLUDES
-#include    <bldvariant.hrh>
-#include    <avkon.rh>
-#include    <avkon.rsg>
-#include    <EIKCORE.rsg>
-#include    <eikon.rh>
-#include    <eikon.rsg>
-#include    <data_caging_paths_strings.hrh>
-
-#include    <apsettingsplugin.loc>
-
-//  RESOURCE DEFINITIONS 
-
-//---------------------------------------------------- 
-//    
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-//----------------------------------------------------
-//   
-//    qtn_set_access_points 
-//    Caption for Plugin.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_netw_conset_network_connections 
-    { buf = qtn_netw_conset_network_connections ; }
-
-//----------------------------------------------------
-//   
-//    r_qtn_err_os_general 
-//    Caption for Plugin.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general ; }
-
-//End of File
--- a/apengine/apsettingsplugin/group/ApSettingsPlugin.mmp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2005 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 project specification file for the ApSettingsPlugin.
-*
-*
-*/
-
-#include <data_caging_paths.hrh>    //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              ApSettingsPlugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x1020736C
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              APSettingsPlugin.cpp
-SOURCE              ApSettingsPluginImplementationTable.cpp
-SOURCE              utilities.cpp
-
-// Component specific internal headers 
-USERINCLUDE			../inc
-
-// ADO specific internal headers 
-SYSTEMINCLUDE		../../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      1020736C.rss
-TARGET              ApSettingsPlugin.rsc
-END // ECOM resource definition
-
-//ApSettingsPlugin resources
-START RESOURCE      ApSettingsPluginRsc.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // ApSettingsPlugin resources
-
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib//For RConeResourceLoader
-LIBRARY             GSFramework.lib
-LIBRARY             egul.lib // CGulIcon
-LIBRARY             aknskins.lib // AknsUtils.h
-LIBRARY             ApSettingsHandlerUI.lib //ApSettingsHandlerUI.h
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             commonui.lib 
-LIBRARY 			aknnotify.lib
-LIBRARY	            centralrepository.lib
-LIBRARY             cmmanager.lib
-
-
-
--- a/apengine/apsettingsplugin/group/apsettingspluginicons.mk	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-#
-# Copyright (c) 2003 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:  Makefile for icons of ApSettingsPlugin
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\apsettingsplugin.mif
-
-HEADERDIR=\epoc32\include
-HEADERFILENAME=$(HEADERDIR)\apsettingsplugin.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c16,8 qgn_prop_set_conn_accp.bmp 
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/apengine/apsettingsplugin/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Build information for the ApSettingsPlugin
-*
-*/
-
-
-#ifdef RD_GS_RENOVATION // This is the GS_RENOVATION
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT  
-
-PRJ_EXPORTS
-// export iby files
-../rom/ApSettingsPlugin.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(ApSettingsPlugin.iby)
-../rom/ApSettingsPluginResources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ApSettingsPluginResources.iby)
-
-// export localised loc file
-../loc/apsettingsplugin.loc	MW_LAYER_LOC_EXPORT_PATH(apsettingsplugin.loc)
-
-PRJ_MMPFILES
-./ApSettingsPlugin.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE apsettingsplugin.mif
-OPTION HEADERFILE apsettingsplugin.mbg
-OPTION SOURCES -c16,8 qgn_prop_set_conn_accp
-END
-
-#endif
-
-// End of File
--- a/apengine/apsettingsplugin/inc/APSettingsPlugin.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*        Header file for CApSettingsPlugin class.
-*
-*/
-
-#ifndef __AP_SETTINGS_PLUGIN_H__
-#define __AP_SETTINGS_PLUGIN_H__
-
-// System includes
-#include <e32def.h>
-#include <e32cmn.h>
-#include <gsplugininterface.h>
-#include <ConeResLoader.h>
-
-// Forward declaration
-class CApSettingsPluginContainer;
-
-/**
-* Wrapper class for AP Settings Handler UI. 
-*/
-class CApSettingsPlugin : public CGSPluginInterface
-    {
-    public://Constructors & destructors
-
-        /**
-        * First phase constructor
-        * Creates new Plugin and Launches APSettingsHandlerUI
-        * with default parameters
-        */ 
-        static CApSettingsPlugin* NewL( TAny* aInitParams );
-                        
-        /**
-        * Destructor
-        */
-        ~CApSettingsPlugin();
-        
-    public: // Functions from base class
-        
-        /**
-        * from CAknView
-        */
-        TUid Id() const;
-        
-        void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId, 
-                          const TDesC8& aCustomMessage );
-    
-        void DoDeactivate();
-
-    public:
-    
-        /**
-        * from CGSPluginInterface
-        */
-
-        void GetCaptionL( TDes& aCaption ) const;
-
-        TBool HasBitmap() const;
-  
-        void GetBitmapL( CFbsBitmap* aBitmap, CFbsBitmap* aMask ) const;
-        
-        TInt PluginProviderCategory() const; 
-        
-        void HandleSelection( const TGSSelectionTypes aSelectionType );
-          
-        TGSListboxItemTypes ItemType();
-        
-        CGulIcon* CreateIconL( const TUid aIconType );
-            
-        TBool Visible() const;
-
-    protected:
-    
-        /**
-        * Constructor
-        */
-        CApSettingsPlugin();
-
-    private:
-    
-        /**
-        * Second phase constructor
-        */
-        TAny ConstructL();
-        
-        /**
-        * Creates and starts WLAN Settings UI 
-        */
-        void DoSettingsL();
-                     
-    private: //data
-        
-        //@var resource loader
-        RConeResourceLoader iResources;
-        TInt iApSettingsSupported;
-
-    };
-
-#endif //__AP_SETTINGS_PLUGIN_H__
-//End of file
--- a/apengine/apsettingsplugin/inc/utilities.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*        Header file for Utilities class.
-*
-*/
-
-#ifndef __UTILITIES_H__
-#define __UTILITIES_H__
-
-// System includes
-#include <e32def.h>
-
-/**
-* Utilities class.
-*/
-class Utilities
-    {
-    public:
-
-        /**
-        * Shows an error note if it can be resolved by the error resolver or
-        * a general error note if the given error code cannot be resolved.
-        * @param aErrorCode Error code.
-        */ 
-        static void ShowErrorNote(TInt errorCode);
-       
-    private:
-    
-        /**
-        * Shows an error note if it can be resolved by the error resolver.
-        * @param aErrorCode Error code.
-        * @return True if the error note was showned, 
-        *         false if not showed.
-        */
-        static TBool ShowErrorNoteL(TInt aErrorCode);
-        
-        /**
-        * Shows a general error note "System error" (qtn.err.os.general).
-        */
-        static void ShowGeneralErrorNoteL();
-         
-    private: //data
-
-    };
-
-#endif //__WLAN_SETTINGS_PLUGIN_H__
-//End of file
\ No newline at end of file
--- a/apengine/apsettingsplugin/loc/apsettingsplugin.loc	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*		Localization strings for Plugin
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-
-//d:Text of a list item in Connection view's list
-//d:Item opens Access points view
-//l:list_single_large_graphic_pane_t1
-//r:3.1
-//
-#define qtn_set_folder_conn_accpoints "Access points"
-        
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:3.1
-//
-#define qtn_err_os_general "System error"
-
-//d:Text of a list item in Connection view's list
-//d:Item opens Access points view
-//l:list_single_large_graphic_pane_t1_cp2
-//r:3.2
-//
-#define qtn_netw_conset_network_connections "Network destinations"
-
-// End of File
-
-
--- a/apengine/apsettingsplugin/rom/ApSettingsPlugin.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Image description file for project ApSettingsPlugin
-*
-*/
-
-
-#ifndef __APSETTINGSPLUGIN_IBY__
-#define __APSETTINGSPLUGIN_IBY__
-
-ECOM_PLUGIN(ApSettingsPlugin.DLL,1020736C.rsc)
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,apsettingsplugin)
-
-
-#endif __APSETTINGSPLUGIN_IBY__
\ No newline at end of file
--- a/apengine/apsettingsplugin/rom/ApSettingsPluginResources.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2006 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:  Image description file for project ApSettingsPlugin
-*
-*/
-
-
-#ifndef __APSETTINGSPLUGIN_RESOURCES_IBY__
-#define __APSETTINGSPLUGIN_RESOURCES_IBY__
-
-data=DATAZ_\RESOURCE_FILES_DIR\ApSettingsPluginRsc.rsc RESOURCE_FILES_DIR\ApSettingsPluginRsc.rsc
-
-#endif __APSETTINGSPLUGIN_RESOURCES_IBY__
\ No newline at end of file
--- a/apengine/apsettingsplugin/src/APSettingsPlugin.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* Copyright (c) 2005 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:  ApSettingsPlugin class.
-*
-*/
-
-
-// INCLUDE FILES
-
-// User includes
-#include "APSettingsPlugin.h"
-#include "StringLoader.h"
-#include "utilities.h"
-
-#include <cmsettingsui.h>
-
-// System includes
-#include <eikon.hrh>
-#include <f32file.h>
-#include <ConeResLoader.h>
-#include <ApSettingsPluginRsc.rsg>
-#include <data_caging_path_literals.hrh>
-#include <apsettingsplugin.mbg>
-#include <settingsinternalcrkeys.h>
-#include <centralrepository.h>
-
-
-const TInt KDefaultAPSettingsValue 	  = 1;	// AP settings UI supported
-
-// Resource file location
-_LIT( KApSettingsPluginRscFileName, "ApSettingsPluginRsc.rsc" );
-
-// This UID is used for both the view UID 
-// and the ECOM plugin implementation ID.
-const TUid KApSettingsPluginUid = { 0x1020736B };
-
-// ROM folder
-_LIT( KDriveZ, "z:" );
-
-// Name of the MBM file containing icons
-_LIT( KFileIcons, "apsettingsplugin.mbm");
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::NewL
-// First phase constructor
-// ---------------------------------------------------------
-CApSettingsPlugin* CApSettingsPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    CApSettingsPlugin* self = new ( ELeave ) CApSettingsPlugin();
-    CleanupStack::PushL( self );
-    
-    self->ConstructL();
-                      
-    CleanupStack::Pop( self );
-    return self;     
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::~CApSettingsPlugin
-// Destructor
-// ---------------------------------------------------------
-CApSettingsPlugin::~CApSettingsPlugin()
-    {
-    iResources.Close();
-#ifdef _DEBUG
-    RDebug::Print( _L( "[CApSettingsPlugin] ~CApSettingsPlugin()" ) );
-#endif
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::Id
-// ---------------------------------------------------------
-TUid CApSettingsPlugin::Id() const
-    {
-    return KApSettingsPluginUid;
-    }
- 
-// ---------------------------------------------------------
-// CApSettingsPlugin::DoActivateL()
-// ---------------------------------------------------------      
-void CApSettingsPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
-                          TUid /*aCustomMessageId*/, 
-                          const TDesC8& /*aCustomMessage*/ )
-    {
-    //no implementation required
-    }
-    
-// ---------------------------------------------------------
-// CApSettingsPlugin::DoDeactivate()
-// ---------------------------------------------------------
-void CApSettingsPlugin::DoDeactivate()
-    {
-    //no implementation required
-    }
-       
-// ---------------------------------------------------------
-// CApSettingsPlugin::GetCaption
-// ---------------------------------------------------------
-void CApSettingsPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    StringLoader::Load( aCaption, R_QTN_NETW_CONSET_NETWORK_CONNECTIONS  );
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::HasBitmap
-// ---------------------------------------------------------
-TBool CApSettingsPlugin::HasBitmap() const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::GetBitmapL
-// ---------------------------------------------------------
-void CApSettingsPlugin::GetBitmapL( CFbsBitmap* /*aBitmap*/, 
-                                    CFbsBitmap* /*aMask*/ ) const
-    {
-    //no bitmap
-    User::Leave( KErrNotFound );
-    }
-    
-// ---------------------------------------------------------
-// CApSettingsPlugin::PluginProviderCategory
-// ---------------------------------------------------------
-TInt CApSettingsPlugin::PluginProviderCategory() const
-    {
-    return EGSPluginProviderOEM;
-    }
-    
-// ---------------------------------------------------------
-// CApSettingsPlugin::HandleSelection
-// ---------------------------------------------------------   
-void CApSettingsPlugin::HandleSelection(
-            const TGSSelectionTypes /*aSelectionType*/ )
-    {
-    TRAPD( error, DoSettingsL() );
-    
-    if( error && error != KLeaveWithoutAlert )
-        {
-        Utilities::ShowErrorNote(error);
-        }    
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::ItemType
-// ---------------------------------------------------------
-TGSListboxItemTypes CApSettingsPlugin::ItemType()
-    {
-    return EGSItemTypeSettingDialog;
-    }
-    
-// ---------------------------------------------------------
-// CApSettingsPlugin::CreateIconL
-// ---------------------------------------------------------    
-CGulIcon* CApSettingsPlugin::CreateIconL( const TUid aIconType )
-    {
-    TFileName iconsFileName;
-
-    iconsFileName.Append( KDriveZ );
-    iconsFileName.Append( KDC_APP_BITMAP_DIR );
-    iconsFileName.Append( KFileIcons );
-    
-	CGulIcon* icon;
-       
-    if( aIconType == KGSIconTypeLbxItem )
-        {
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(), 
-        KAknsIIDQgnPropSetConnAccp, 
-        iconsFileName,
-        EMbmApsettingspluginQgn_prop_set_conn_accp,
-        EMbmApsettingspluginQgn_prop_set_conn_accp_mask );
-        }
-     else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-	
-	return icon;
-    }    
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::Visible
-// -----------------------------------------------
-TBool CApSettingsPlugin::Visible() const
-    {
-  	if ( iApSettingsSupported == KDefaultAPSettingsValue )
-  		{
-  		return ETrue;
-		}
-	else
-		{
-		return EFalse;
-		}
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::CApSettingsPlugin
-// ---------------------------------------------------------
-CApSettingsPlugin::CApSettingsPlugin():
-    iResources( *CCoeEnv::Static() )
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------
-// CApSettingsPlugin::ConstructL
-// ---------------------------------------------------------
-TAny CApSettingsPlugin::ConstructL()
-    {
-    
-#ifdef _DEBUG    
-    RDebug::Print( _L("[CApSettingsPlugin] ConstructL()" ) );
-    RDebug::Print( _L( "[CApSettingsPlugin] Loading resource from :" ) );
-    RDebug::Print( KApSettingsPluginRscFileName );
-#endif
-    
-    BaseConstructL();
-        
-    TFileName fileName;
-    TDriveUnit drive( EDriveZ );
-    
-    fileName.Append( drive.Name() );
-    fileName.Append( KDC_RESOURCE_FILES_DIR );
-    fileName.Append( KApSettingsPluginRscFileName );
-    
-    iResources.OpenL( fileName );
-    
-  	iApSettingsSupported = KDefaultAPSettingsValue;
-    }
-    
-// ---------------------------------------------------------
-// CApSettingsPlugin::DoSettingsL
-// ---------------------------------------------------------
-void CApSettingsPlugin::DoSettingsL()
-    {
-    // RunSettingsL API removed from new cmmgr implementation
-    //CCmSettingsUi* settings = CCmSettingsUi::NewL();
-    //CleanupStack::PushL( settings );
-    
-    //if( settings->RunSettingsL() == CCmSettingsUi::EExit )
-    //    {
-        //exit from General Settings
-    //    ProcessCommandL( EAknCmdExit );
-    //    }
-    
-    //CleanupStack::PopAndDestroy( settings );
-    }
-    
-
-//End of file
--- a/apengine/apsettingsplugin/src/ApSettingsPluginImplementationTable.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2005 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: 
-*        ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "APSettingsPlugin.h"
-
-// Constants
-const TImplementationProxy KApSettingsPluginImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x1020736B,    CApSettingsPlugin::NewL)
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
-    {
-    aTableCount = sizeof(KApSettingsPluginImplementationTable) 
-        / sizeof(TImplementationProxy);
-    return KApSettingsPluginImplementationTable;
-    }
--- a/apengine/apsettingsplugin/src/utilities.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2004 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: 
-*      Implementation of utilities functions.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-#include "utilities.h"
-
-#include <ErrorUI.h>
-#include <AknGlobalNote.h>
-#include <StringLoader.h>
-#include <ApSettingsPluginRsc.rsg>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// Utilities::ShowErrorNote
-// ---------------------------------------------------------
-//
-void Utilities::ShowErrorNote(TInt aErrorCode)
-    {
-    TBool errorNoteShowed = EFalse;
-        
-    TRAPD(error, errorNoteShowed = ShowErrorNoteL(aErrorCode));
-            
-    if(error || !errorNoteShowed) 
-        {
-        TRAP_IGNORE( ShowGeneralErrorNoteL() );
-        }    
-    }
-
-// ---------------------------------------------------------
-// Utilities::ShowErrorNoteL
-// ---------------------------------------------------------
-//
-TBool Utilities::ShowErrorNoteL(TInt aErrorCode)
-    {
-    CErrorUI* errorUi = CErrorUI::NewLC();
-    
-    TBool errorNoteShowed = errorUi->ShowGlobalErrorNoteL( aErrorCode );
-    
-    CleanupStack::PopAndDestroy( errorUi );
-        
-    return errorNoteShowed;
-    }    
-
-// ---------------------------------------------------------
-// Utilities::ShowGeneralErrorNoteL
-// ---------------------------------------------------------
-//
-void Utilities::ShowGeneralErrorNoteL()
-    {
-    HBufC *msg = StringLoader::LoadLC( R_QTN_ERR_OS_GENERAL );
-
-    CAknGlobalNote *note = CAknGlobalNote::NewLC();
-    
-    
-    note->ShowNoteL( EAknGlobalErrorNote, *msg );
-
-
-    CleanupStack::PopAndDestroy( note );
-    CleanupStack::PopAndDestroy( msg );
-    }
--- a/apengine/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ b/apengine/group/bld.inf	Fri May 14 16:15:46 2010 +0300
@@ -24,6 +24,5 @@
 PRJ_MMPFILES
 #include "../apeng/group/bld.inf"
 #include "../apsettingshandlerui/group/bld.inf"
-#include "../apsettingsplugin/group/bld.inf"
 
 PRJ_TESTMMPFILES
\ No newline at end of file
--- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Fri May 14 16:15:46 2010 +0300
@@ -608,22 +608,7 @@
                               NetStateMachine::MStateFork, 
                               TContext )
     virtual TInt TransitionTag();
-    DECLARE_SMELEMENT_FOOTER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel )
-
-    /**
-     * FORK/DECISION: 
-     * 1. Inform that the migration complete or go to error
-     * 2. Error
-     * @return
-     */
-    DECLARE_SMELEMENT_HEADER( TInformMigrationCompletedOrError, 
-                              MeshMachine::TStateFork<TContext>, 
-                              NetStateMachine::MStateFork, 
-                              TContext )
-    virtual TInt TransitionTag();
-    DECLARE_SMELEMENT_FOOTER( TInformMigrationCompletedOrError )
-
-        
+    DECLARE_SMELEMENT_FOOTER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel )   
     
     /**
      * Class that is responsible for managing mobility on MCPR side.
@@ -802,21 +787,6 @@
                                       CS60MobilityActivity::TContext )
             virtual TInt TransitionTag();
             DECLARE_SMELEMENT_FOOTER( TNoTagOrApplicationRejectedMigrationOrCancel )
-
-            /**
-             * FORK/DECISION: 
-             * 1. Proceed to reconnection
-             * 2. Re-establish connection to the same IAP, inform data client that migration is complete
-             * 3. Error
-             * @return
-             */
-            DECLARE_SMELEMENT_HEADER( TNoTagOrRequestReConnectToCurrentSPOrErrorTag, 
-                                      MeshMachine::TStateFork<TContext>, 
-                                      NetStateMachine::MStateFork, 
-                                      TContext )
-            virtual TInt TransitionTag();
-            DECLARE_SMELEMENT_FOOTER( TNoTagOrRequestReConnectToCurrentSPOrErrorTag )
-            
             
             /**
              * Mutex protected TRANSITION.
--- a/bearermanagement/S60MCPR/inc/s60mcprstates.h	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60mcprstates.h	Fri May 14 16:15:46 2010 +0300
@@ -106,17 +106,6 @@
                               TContext )
     virtual void DoL();
     DECLARE_SMELEMENT_FOOTER( TRequestReConnect )
-
-    /**
-     * TRANSITION/ACTION: Starts ReConnect -activity to current service provider
-     */
-    DECLARE_SMELEMENT_HEADER( TRequestReConnectToCurrentSP, 
-                              MeshMachine::TStateTransition<TContext>, 
-                              NetStateMachine::MStateTransition, 
-                              TContext )
-    virtual void DoL();
-    DECLARE_SMELEMENT_FOOTER( TRequestReConnectToCurrentSP )
-    
     
     /**
      * TRANSITION/ACTION: Requests Policy Server to process the error.
--- a/bearermanagement/S60MCPR/src/s60mcpractivities.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcpractivities.cpp	Fri May 14 16:15:46 2010 +0300
@@ -294,22 +294,17 @@
     NODEACTIVITY_ENTRY( KNoTag, 
                         MCprStates::TSelectNextLayer,
                         MCprStates::TAwaitingSelectNextLayerCompleted, // Ok. Error is fatal.
-                        CS60MobilityActivity::TNoTagOrRequestReConnectToCurrentSPOrErrorTag )              
+                        MeshMachine::TNoTagOrErrorTag )       
                         
     // For the moment it is sufficient to use the re-connect activity, in the future we may want to
     // customise the behavior, for example start the new layer before rebinding it, etc.
     NODEACTIVITY_ENTRY( KNoTag, 
                         S60MCprStates::TRequestReConnect,
                         MCprStates::TAwaitingReConnectCompleteOrError,  // Ok. Error is fatal.
-                        S60MCprMobilityActivity::TInformMigrationCompletedOrError ) //Own error handling MPM must be informed when error happens.
+                        MeshMachine::TNoTagOrErrorTag ) //Own error handling MPM must be informed when error happens.
 
-    NODEACTIVITY_ENTRY( S60MCprStates::KRequestReConnectToCurrentSP,
-                        S60MCprStates::TRequestReConnectToCurrentSP,
-                        MCprStates::TAwaitingReConnectCompleteOrError,
-                        S60MCprMobilityActivity::TInformMigrationCompletedOrError )
-                        
     // If the migration was acepted we loop again waiting for a new, preferred one
-    NODEACTIVITY_ENTRY( S60MCprStates::KInformMigrationCompleted, 
+    NODEACTIVITY_ENTRY( KNoTag, 
                         CS60MobilityActivity::TInformMigrationCompleted, 
                         S60MCprMobilityActivity::TAwaitingMigrationAcceptedOrRejectedOrStartupErrorIgnoredOrCancel,
                         S60MCprMobilityActivity::TNoTagOrErrorTagOrApplicationRejectedOrConsumeRejected )
--- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Fri May 14 16:15:46 2010 +0300
@@ -198,24 +198,6 @@
         // else cancel
         return KCancelTag | NetStateMachine::EForward;
         }
-
-    // -----------------------------------------------------------------------------
-    // S60MCprMobilityActivity::TInformMigrationCompletedOrError::TransitionTag
-    // -----------------------------------------------------------------------------
-    //
-    DEFINE_SMELEMENT( TInformMigrationCompletedOrError, NetStateMachine::MStateFork, TContext )
-    TBool TInformMigrationCompletedOrError::TransitionTag()
-        {    
-        // Error notification falls into the error -case.
-        if ( iContext.iNodeActivity->Error() ) 
-            {   
-            return MeshMachine::KErrorTag | NetStateMachine::EForward;
-            }
-        else
-            {
-            return S60MCprStates::KInformMigrationCompleted;
-            }
-        }
         
     // -----------------------------------------------------------------------------
     // S60MCprMobilityActivity::TStartMobilityHandshakeBackwardsOrError::TransitionTag
@@ -695,36 +677,6 @@
         }
 
     // -----------------------------------------------------------------------------
-    // CS60MobilityActivity::TNoTagOrRequestReConnectToCurrentSPOrErrorTag::DoL
-    // -----------------------------------------------------------------------------
-    //
-    DEFINE_SMELEMENT( CS60MobilityActivity::TNoTagOrRequestReConnectToCurrentSPOrErrorTag, 
-                      NetStateMachine::MStateFork, CS60MobilityActivity::TContext )
-    TInt CS60MobilityActivity::TNoTagOrRequestReConnectToCurrentSPOrErrorTag::TransitionTag()
-        {
-        CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node();
-        RMetaServiceProviderInterface* sp = (RMetaServiceProviderInterface*)node.ServiceProvider();
-
-        if ( iContext.iNodeActivity->Error() )
-            {
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TNoTagOrBearerPresentOrError::TransitionTag() KErrorTag",(TInt*)&iContext.Node())
-            return MeshMachine::KErrorTag | NetStateMachine::EForward;
-            }
-            // Check whether we're bound to a provider for the given IAP ID already
-        else if (sp && sp->ProviderInfo().APId() == node.PolicyPrefs().IapId())
-            {
-            // Restart the whole layer
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TNoTagOrBearerPresentOrError::TransitionTag() Re-establishment",(TInt*)&iContext.Node());
-            return S60MCprStates::KRequestReConnectToCurrentSP | NetStateMachine::EForward;
-            }
-        else
-            {
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TNoTagOrBearerPresentOrError::TransitionTag() KNoTag",(TInt*)&iContext.Node())
-            return MeshMachine::KNoTag | NetStateMachine::EForward;
-            }
-        }    
-    
-    // -----------------------------------------------------------------------------
     // CS60MobilityActivity::ClearHandshakingFlag
     // -----------------------------------------------------------------------------
     //
--- a/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Fri May 14 16:15:46 2010 +0300
@@ -129,7 +129,6 @@
         iContext.Node().GetClientIter<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider));
     
     RMetaServiceProviderInterface* itf = NULL;
-    //RNodeInterface* itf = NULL;
     
     for ( itf = (RMetaServiceProviderInterface*)iter++;
              ( itf != NULL && ( stoppingSP == NULL || startingSP == NULL ) );
@@ -155,13 +154,13 @@
             //
             }
         }
-    // One must be started since this is already a reconnection
-    if ( stoppingSP==NULL )
+    
+    if ( stoppingSP == NULL )
         { 
-        // Indication of a serious problem.
-        S60MCPRLOGSTRING1("S60MCPR<%x>::TRequestReConnect::DoL() - started service provider not found.",(TInt*)&iContext.Node())
-        ASSERT( EFalse );
-        User::Leave( KErrCorrupt );  // codescanner::leave
+        // If the above loop did not select a stoppingSP, the only reasonable chance is that
+        // this is one of the rare cases where reconnection is done to the same service provider.
+        S60MCPRLOGSTRING1("S60MCPR<%x>::TRequestReConnect::DoL() - reconnection to same service provider",(TInt*)&iContext.Node())
+        stoppingSP = startingSP;
         }
 
     //If there is no other Service Provider to try, return KErrNotFound
@@ -180,28 +179,7 @@
                                                                 startingSP->RecipientId()).CRef() );
     }
 
-// -----------------------------------------------------------------------------
-// TRequestReConnectToCurrentSP::DoL
-// -----------------------------------------------------------------------------
-//
-DEFINE_SMELEMENT( TRequestReConnectToCurrentSP, NetStateMachine::MStateTransition, TContext )
-void TRequestReConnectToCurrentSP::DoL() // codescanner::leave
-    {
-    __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KS60MCprPanic, KPanicNoActivity));
-    S60MCPRLOGSTRING1("S60MCPR<%x>::TRequestReConnectToCurrentSP::DoL()",(TInt*)&iContext.Node())
-    RNodeInterface* currentSP = iContext.Node().ServiceProvider();
 
-    // There MUST be a service provider
-    __ASSERT_DEBUG( currentSP != NULL, User::Panic(KS60MCprPanic, KPanicNoServiceProvider));
-    
-    // Diagnostic - there must be a data client or we cannot be here
-    __ASSERT_DEBUG(iContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EData)),
-                   User::Panic(KS60MCprPanic, KPanicNoDataClient));    
-    
-    iContext.iNodeActivity->PostRequestTo( iContext.NodeId(),
-                                           TCFMcpr::TReConnect( currentSP->RecipientId(), 
-                                                                currentSP->RecipientId()).CRef() );
-    }
 // -----------------------------------------------------------------------------
 // TProcessError::DoL
 // -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/src/mpmiapselection.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp	Fri May 14 16:15:46 2010 +0300
@@ -123,6 +123,11 @@
             snap )
         iChooseIapPref.SetSnapId( snap );
         iChooseIapPref.SetIapId( 0 );
+        if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeImplicit )
+            {
+            // No Connection selection dialog on reselection.
+            iChooseIapPref.SetConnType( TMpmConnPref::EConnTypeExplicit );
+            }
         }
     else if ( iap ) 
         {      
@@ -130,6 +135,11 @@
                 iap )
         iChooseIapPref.SetIapId( iap );
         iChooseIapPref.SetSnapId( 0 );
+        if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeImplicit )
+            {
+            // No Connection selection dialog on reselection.
+            iChooseIapPref.SetConnType( TMpmConnPref::EConnTypeExplicit );
+            }
         }
 
     MPMLOGSTRING3( "CMPMIapSelection::ChooseIapL: IapID: %i SnapId: %i",
@@ -345,7 +355,8 @@
         // KErrGprsOfflineMode should be returned instead of KErrNone.
         // 
         
-        if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() )
+        if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() ||                 
+             iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) )
             {
             ChooseIapComplete( KErrGprsOfflineMode, &iChooseIapPref );
             }
@@ -471,7 +482,10 @@
     // Check if any suitable IAP's were found, if not then complete selection with error code
     if ( validateIapId == 0 )
         {
-        if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeDefault )
+        if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeDefault ||
+                ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeExplicit &&
+                !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                iCommsDatAccess->IsInternetSnapL( 0, snap ) ) )
             {
             ImplicitConnectionL();
             }
@@ -500,7 +514,8 @@
         {
         ChooseIapComplete( KErrGprsServicesNotAllowed, NULL );
         }
-    else if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() )
+    else if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() ||                 
+               iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) )
         {
         // In case offline mode is enabled, only LAN or WLAN is allowed.
         // If some other bearer has been requested, then error code 
@@ -921,7 +936,8 @@
                                    iapTypeLanOrWlan,
                                    *iSession );
                                    
-    if ( !iapTypeLanOrWlan && iSession->MyServer().IsPhoneOffline() )
+    if ( !iapTypeLanOrWlan && ( iSession->MyServer().IsPhoneOffline() ||            
+            iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMRoamingStatusUnknown ) )
         {
         MPMLOGSTRING2( "CMPMIapSelection::CompleteImplicitConnectionL: Completing with code = %i",
                 KErrGprsOfflineMode )
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Fri May 14 16:15:46 2010 +0300
@@ -436,12 +436,6 @@
     MPMLOGSTRING3( "CMPMServerSession::HandleServerChooseIapL - iap %d \
 connType %d", mpmConnPref.IapId(), mpmConnPref.ConnType() )
 
-    if (!( mpmConnPref.NoteBehaviour() &
-            TExtendedConnPref::ENoteBehaviourConnDisableNotes ) )
-        {
-        iMyServer.ConnUiUtils()->ConnectingViaDiscreetPopup();
-        }
-    
     iIapSelection->ChooseIapL( mpmConnPref );
 
     if ( iAppUid == iMyServer.CsIdWatcher()->ConnectScreenId() )
--- a/cmmanager/cmapplsettingsui/inc/cmapplsettingsui_p.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmapplsettingsui/inc/cmapplsettingsui_p.h	Fri May 14 16:15:46 2010 +0300
@@ -2,7 +2,7 @@
 * 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""
+* 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".
 *
@@ -13,7 +13,6 @@
 *
 * Description:
 * CM Manager Application Settings UI private interface.  
-*
 */
 
 #ifndef CMAPPLSETTINGSUI_P_H
@@ -36,7 +35,7 @@
 
 // Forward declarations
 
-class QTranslator;
+class HbTranslator;
 class CmManagerShim;
 class CmRadioDialog;
 class TestCmApplSettingsUi;
@@ -106,8 +105,7 @@
     // General member data
     CmApplSettingsUi *q_ptr;                //!< Public implementation
     QSharedPointer<CmManagerShim> mCmManagerShim;   //!< CM Manager client instance
-    QTranslator *mAppTranslator;            //!< Translator for application text ID's       
-    QTranslator *mCommonTranslator;         //!< Translator for common text ID's
+    QSharedPointer<HbTranslator> mTranslator;   //!< Translator for the dialog       
 
     // Configuration
     QFlags<CmApplSettingsUi::SelectionDialogItems> mListItems;  //!< Wanted dialog type's
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmapplsettingsui/res/cmradiodialog.docml	Fri May 14 16:15:46 2010 +0300
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+    <object name="okAction" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string locid="txt_common_button_ok" name="text"/>
+    </object>
+    <object name="cancelAction" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string locid="txt_common_button_cancel" name="text"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel"/>
+        <widget name="radioButtonList" role="HbDialog:contentWidget" type="HbRadioButtonList"/>
+        <bool name="backgroundFaded" value="TRUE"/>
+        <integer name="timeout" value="0"/>
+        <enums name="dismissPolicy" value="NoDismiss"/>
+        <ref object="okAction" role="HbDialog:primaryAction"/>
+        <ref object="cancelAction" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- a/cmmanager/cmapplsettingsui/src/cmapplsettingsui_p.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmapplsettingsui/src/cmapplsettingsui_p.cpp	Fri May 14 16:15:46 2010 +0300
@@ -2,7 +2,7 @@
 * 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""
+* 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".
 *
@@ -13,21 +13,20 @@
 *
 * Description:
 * CM Manager Application Settings UI private implementation.  
-*
 */
 
 // System includes
 
-#include <QTranslator>
+#include <HbTranslator>
 #include <HbApplication>
 #include <HbLabel>
-#include <HbListDialog>
 #include <cmmanager_shim.h>
 
 // User includes
 
 #include "cmradiodialog.h"
 #include "cmapplsettingsui_p.h"
+
 #include "OstTraceDefinitions.h"
 #ifdef OST_TRACE_COMPILER_IN_USE
 #include "cmapplsettingsui_pTraces.h"
@@ -40,7 +39,6 @@
 
     Displays a radio button list dialog for an application that can be used
     to select a destination or connection method.
-
 */
 
 // External function prototypes
@@ -59,8 +57,7 @@
 CmApplSettingsUiPrivate::CmApplSettingsUiPrivate(CmApplSettingsUi *q_pointer) :
     QObject(q_pointer),
     q_ptr(q_pointer),
-    mAppTranslator(new QTranslator(this)),
-    mCommonTranslator(new QTranslator(this)),
+    mTranslator(new HbTranslator("cmapplsettingsui")),
     mListItems(
         CmApplSettingsUi::ShowDestinations |
         CmApplSettingsUi::ShowConnectionMethods),
@@ -77,15 +74,8 @@
     mSelection.result = CmApplSettingsUi::SelectionTypeDestination;
     mSelection.id = 0;
         
-    // Install common localization
-    QString lang = QLocale::system().name(); 
-    QString path = "Z:/resource/qt/translations/"; 
-    bool loadStatus = mCommonTranslator->load("common_" + lang, path);
-    qApp->installTranslator(mCommonTranslator);
-    
-    // Install this library's localization
-    loadStatus = mAppTranslator->load("cmapplsettingsui_" + lang, path);
-    qApp->installTranslator(mAppTranslator);
+    // Install also common localization
+    mTranslator->loadCommon();
 
     OstTraceFunctionExit0(CMAPPLSETTINGSUIPRIVATE_CMAPPLSETTINGSUIPRIVATE_EXIT);
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/res/tst_applsettingsui.docml	Fri May 14 16:15:46 2010 +0300
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+    <object name="testAction" type="HbAction">
+        <string name="text" value="Test"/>
+    </object>
+    <widget name="testApplView" type="HbView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="container_P" type="HbWidget">
+                <widget name="label_1" type="HbLabel">
+                    <string name="plainText" value="Select Dialog Type:"/>
+                </widget>
+                <widget name="checkbox_dest" type="HbCheckBox">
+                    <enums name="checkState" value="Checked"/>
+                    <string name="text" value="Destinations"/>
+                </widget>
+                <widget name="checkbox_cm" type="HbCheckBox">
+                    <enums name="checkState" value="Checked"/>
+                    <string name="text" value="Connection Methods"/>
+                </widget>
+                <widget name="label" type="HbLabel">
+                    <string name="plainText" value="Bearer Filter:"/>
+                </widget>
+                <widget name="checkbox_wlan" type="HbCheckBox">
+                    <string name="text" value="WLAN"/>
+                </widget>
+                <widget name="checkbox_gprs" type="HbCheckBox">
+                    <string name="text" value="GPRS"/>
+                </widget>
+                <widget name="label_2" type="HbLabel">
+                    <string name="plainText" value="Selection:"/>
+                </widget>
+                <widget name="container_mode" type="HbWidget">
+                    <widget name="mode" type="HbComboBox">
+                        <container name="items" type="stringlist">
+                            <string value="Destination"/>
+                            <string value="Connection Method"/>
+                        </container>
+                        <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                    </widget>
+                    <widget name="label_3" type="HbLabel">
+                        <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <string name="plainText" value="Mode:"/>
+                    </widget>
+                    <real name="z" value="0"/>
+                    <layout orientation="Horizontal" type="linear">
+                        <linearitem itemname="label_3"/>
+                        <linearitem itemname="mode"/>
+                    </layout>
+                </widget>
+                <widget name="container_id" type="HbWidget">
+                    <widget name="label_4" type="HbLabel">
+                        <string name="plainText" value="Id:"/>
+                    </widget>
+                    <widget name="id" type="HbLineEdit">
+                        <enums name="alignment" value="AlignLeft|AlignLeading"/>
+                        <string name="text" value="0"/>
+                    </widget>
+                    <real name="z" value="0"/>
+                    <layout orientation="Horizontal" type="linear">
+                        <linearitem itemname="label_4"/>
+                        <linearitem itemname="id"/>
+                    </layout>
+                </widget>
+                <widget name="label_5" type="HbLabel">
+                    <real name="z" value="1"/>
+                    <string name="plainText" value="Result:"/>
+                </widget>
+                <widget name="result" type="HbLabel">
+                    <enums name="alignment" value="AlignLeft|AlignVCenter|AlignHCenter|AlignLeading"/>
+                    <real name="z" value="3"/>
+                    <string name="plainText" value="-"/>
+                </widget>
+                <widget name="toolBar" type="HbToolBar">
+                    <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                    <ref object="testAction" role="HbToolBar:addAction"/>
+                </widget>
+                <real name="z" value="1"/>
+                <sizepolicy horizontalPolicy="Ignored" horizontalStretch="0" verticalPolicy="Ignored" verticalStretch="0"/>
+                <layout orientation="Vertical" type="linear">
+                    <linearitem itemname="label_1"/>
+                    <linearitem itemname="checkbox_dest"/>
+                    <linearitem itemname="checkbox_cm"/>
+                    <linearitem itemname="label"/>
+                    <linearitem itemname="checkbox_wlan"/>
+                    <linearitem itemname="checkbox_gprs"/>
+                    <linearitem itemname="label_2"/>
+                    <linearitem itemname="container_mode"/>
+                    <linearitem itemname="container_id"/>
+                    <linearitem itemname="label_5"/>
+                    <linearitem itemname="result"/>
+                    <linearitem itemname="toolBar"/>
+                </layout>
+            </widget>
+            <widget name="container_L1" type="HbWidget">
+                <layout orientation="Horizontal" type="linear"/>
+            </widget>
+            <widget name="container_L2" type="HbWidget">
+                <layout orientation="Vertical" type="linear"/>
+            </widget>
+            <widget name="container_L3" type="HbWidget">
+                <layout orientation="Vertical" type="linear"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="container_P" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="container_P" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="container_P" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="container_P" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <string name="title" value="cmapplsettingsui"/>
+    </widget>
+    <section name="portrait">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="container_P" type="HbWidget">
+                <widget name="label_1" type="HbLabel"/>
+                <widget name="checkbox_dest" type="HbCheckBox"/>
+                <widget name="checkbox_cm" type="HbCheckBox"/>
+                <widget name="label" type="HbLabel"/>
+                <widget name="checkbox_wlan" type="HbCheckBox"/>
+                <widget name="checkbox_gprs" type="HbCheckBox"/>
+                <widget name="label_2" type="HbLabel"/>
+                <widget name="container_mode" type="HbWidget">
+                    <widget name="mode" type="HbComboBox"/>
+                    <widget name="label_3" type="HbLabel"/>
+                </widget>
+                <widget name="container_id" type="HbWidget">
+                    <widget name="label_4" type="HbLabel"/>
+                    <widget name="id" type="HbLineEdit"/>
+                </widget>
+                <widget name="label_5" type="HbLabel"/>
+                <widget name="result" type="HbLabel"/>
+                <widget name="toolBar" type="HbToolBar"/>
+                <layout orientation="Vertical" type="linear">
+                    <linearitem itemname="label_1"/>
+                    <linearitem itemname="checkbox_dest"/>
+                    <linearitem itemname="checkbox_cm"/>
+                    <linearitem itemname="label"/>
+                    <linearitem itemname="checkbox_wlan"/>
+                    <linearitem itemname="checkbox_gprs"/>
+                    <linearitem itemname="label_2"/>
+                    <linearitem itemname="container_mode"/>
+                    <linearitem itemname="container_id"/>
+                    <linearitem itemname="label_5"/>
+                    <linearitem itemname="result"/>
+                    <linearitem itemname="toolBar"/>
+                </layout>
+            </widget>
+        </widget>
+    </section>
+    <section name="landscape">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <widget name="container_L1" type="HbWidget">
+                <widget name="container_L2" type="HbWidget">
+                    <widget name="label_1" type="HbLabel"/>
+                    <widget name="checkbox_dest" type="HbCheckBox"/>
+                    <widget name="checkbox_cm" type="HbCheckBox"/>
+                    <widget name="label" type="HbLabel"/>
+                    <widget name="checkbox_wlan" type="HbCheckBox"/>
+                    <widget name="checkbox_gprs" type="HbCheckBox"/>
+                    <sizepolicy horizontalPolicy="Ignored" horizontalStretch="0" verticalPolicy="Ignored" verticalStretch="0"/>
+                    <layout orientation="Vertical" type="linear">
+                        <linearitem itemname="label_1"/>
+                        <linearitem itemname="checkbox_dest"/>
+                        <linearitem itemname="checkbox_cm"/>
+                        <linearitem itemname="label"/>
+                        <linearitem itemname="checkbox_wlan"/>
+                        <linearitem itemname="checkbox_gprs"/>
+                    </layout>
+                </widget>
+                <widget name="container_L3" type="HbWidget">
+                    <widget name="label_2" type="HbLabel"/>
+                    <widget name="container_mode" type="HbWidget">
+                        <widget name="mode" type="HbComboBox"/>
+                        <widget name="label_3" type="HbLabel"/>
+                    </widget>
+                    <widget name="container_id" type="HbWidget">
+                        <widget name="label_4" type="HbLabel"/>
+                        <widget name="id" type="HbLineEdit"/>
+                    </widget>
+                    <widget name="label_5" type="HbLabel"/>
+                    <widget name="result" type="HbLabel"/>
+                    <widget name="toolBar" type="HbToolBar"/>
+                    <sizepolicy horizontalPolicy="Ignored" horizontalStretch="0" verticalPolicy="Ignored" verticalStretch="0"/>
+                    <layout orientation="Vertical" type="linear">
+                        <linearitem itemname="label_2"/>
+                        <linearitem itemname="container_mode"/>
+                        <linearitem itemname="container_id"/>
+                        <linearitem itemname="label_5"/>
+                        <linearitem itemname="result"/>
+                        <linearitem itemname="toolBar"/>
+                    </layout>
+                </widget>
+                <layout orientation="Horizontal" type="linear">
+                    <linearitem itemname="container_L2"/>
+                    <linearitem itemname="container_L3"/>
+                </layout>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="container_L1" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="container_L1" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="container_L1" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="container_L1" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="landscape" sections="#common landscape"/>
+        <uistate name="portrait" sections="#common portrait"/>
+    </metadata>
+</hbdocument>
--- a/cmmanager/cmmgr/cmmcommon/inc/cmmserverdefs.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmcommon/inc/cmmserverdefs.h	Fri May 14 16:15:46 2010 +0300
@@ -207,7 +207,7 @@
     {
     ECmmRecordStatusBlank = 0x0001,
     ECmmRecordStatusLoaded = 0x0002, // Loaded and up-to-date.
-    ECmmRecordStatusExpired = 0x0004, // Loaded but out-of-date. //TODO, should this be cache side only?
+    ECmmRecordStatusExpired = 0x0004, // Loaded but out-of-date (Cache side only).
     ECmmRecordStatusModified = 0x0008, // Loaded and modified (Session side only).
     ECmmRecordStatusUnsaved = 0x0010 // Doesn't yet exist in database (Cache side only).
     };
--- a/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp	Fri May 14 16:15:46 2010 +0300
@@ -482,17 +482,18 @@
 // CCmPluginBaseEng::CopyRecordDataL
 // ---------------------------------------------------------------------------
 //
-void CCmPluginBaseEng::CopyRecordDataL( TUint32 aRecordIdentifier,
-                                        CCmPluginBaseEng* aCopyInstance )
+void CCmPluginBaseEng::CopyRecordDataL(
+        TUint32 aRecordIdentifier,
+        CCmPluginBaseEng* aCopyInstance )
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_COPYRECORDDATAL_ENTRY );
 
-    switch( aRecordIdentifier )
+    switch ( aRecordIdentifier )
         {
         case KIapRecordIndex:
             {
-            aCopyInstance->iIapRecord =
-                static_cast<CCDIAPRecord*>( CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
+            aCopyInstance->iIapRecord = static_cast<CCDIAPRecord*>(
+                    CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
             }
             break;
         case KServiceRecordIndex:
@@ -502,25 +503,26 @@
             break;
         case KNetworkRecordIndex:
             {
-            aCopyInstance->iNetworkRecord =
-                static_cast<CCDNetworkRecord*>( CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
+            aCopyInstance->iNetworkRecord = static_cast<CCDNetworkRecord*>(
+                    CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
             }
             break;
         case KWAPAPRecordIndex:
             {
-            aCopyInstance->iWapAPRecord =
-                static_cast<CCDWAPAccessPointRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
+            aCopyInstance->iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+                    CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
             }
             break;
         case KWAPBearerRecordIndex:
             {
-            aCopyInstance->iWapIPBearerRecord =
-                static_cast<CCDWAPIPBearerRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
+            aCopyInstance->iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+                    CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
             }
             break;
         case KMetaDataRecordIndex:
             {
-            aCopyInstance->iMetaDataRecord = new (ELeave) CCDIAPMetadataRecord( iMetadataTableId );
+            aCopyInstance->iMetaDataRecord =
+                    new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
             aCopyInstance->iMetaDataRecord->iIAP = IAPRecordElementId();
             aCopyInstance->iMetaDataRecord->iMetadata.SetL( iMetaDataRecord->iMetadata );
             aCopyInstance->iMetaDataRecord->iSeamlessness.SetL( iMetaDataRecord->iSeamlessness );
@@ -537,8 +539,8 @@
             {
             if ( iProxyRecord )
                 {
-                aCopyInstance->iProxyRecord = static_cast<CCDProxiesRecord*>
-                                        ( CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
+                aCopyInstance->iProxyRecord = static_cast<CCDProxiesRecord*>(
+                        CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
                 }
             }
             break;
@@ -546,7 +548,9 @@
             {
             User::Leave( KErrArgument );
             }
+            break;
         }
+
     OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDDATAL_EXIT );
     }
 
@@ -1863,6 +1867,7 @@
         {
         User::Leave( KErrCorrupt );
         }
+
     OstTraceFunctionExit0( CCMPLUGINBASEENG_SETNAMEL_EXIT );
     }
 
@@ -1870,8 +1875,8 @@
 // CCmPluginBaseEng::CheckIfNameModifiedL
 // ---------------------------------------------------------------------------
 EXPORT_C void CCmPluginBaseEng::CheckIfNameModifiedL(
-    CCDRecordBase* aSrcRecord,
-    CCDRecordBase* aDestRecord ) const
+        CCDRecordBase* aSrcRecord,
+        CCDRecordBase* aDestRecord ) const
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_CHECKIFNAMEMODIFIEDL_ENTRY );
 
@@ -2165,8 +2170,8 @@
 // CCmPluginBaseEng::GetIntAttributeL
 // -----------------------------------------------------------------------------
 EXPORT_C TUint32 CCmPluginBaseEng::GetIntAttributeL(
-    TUint32 aAttribute,
-    CCmClientPluginInstance* aClientPluginInstance )
+        TUint32 aAttribute,
+        CCmClientPluginInstance* aClientPluginInstance )
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_ENTRY );
 
@@ -2275,15 +2280,15 @@
             break;
         default:
             {
-            retVal = GetBearerIntAttributeL( aAttribute,
-                                             aClientPluginInstance->iGenRecordArray,
-                                             aClientPluginInstance->iBearerSpecRecordArray );
+            retVal = GetBearerIntAttributeL(
+                    aAttribute,
+                    aClientPluginInstance->iGenRecordArray,
+                    aClientPluginInstance->iBearerSpecRecordArray );
             }
             break;
         }
 
     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
@@ -2291,8 +2296,8 @@
 // CCmPluginBaseEng::GetBoolAttributeL
 // -----------------------------------------------------------------------------
 EXPORT_C TBool CCmPluginBaseEng::GetBoolAttributeL(
-    TUint32 aAttribute,
-    CCmClientPluginInstance* aClientPluginInstance )
+        TUint32 aAttribute,
+        CCmClientPluginInstance* aClientPluginInstance )
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_ENTRY );
 
@@ -2308,7 +2313,7 @@
         case ECmHidden:
             {
             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
-                                aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+                    aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
             retVal = iapRecord->Attributes() & ECDHidden;
             }
             break;
@@ -2347,7 +2352,7 @@
             }
             break;
         case ECmCoverage:
-            // In default the plugin has no network coverage
+            // By default the plugin has no network coverage.
             {
             TRAPD( err, retVal = GetBearerBoolAttributeL( aAttribute,
                                                           aClientPluginInstance->iGenRecordArray,
@@ -2394,14 +2399,14 @@
             break;
         default:
             {
-            retVal = GetBearerBoolAttributeL( aAttribute,
-                                              aClientPluginInstance->iGenRecordArray,
-                                              aClientPluginInstance->iBearerSpecRecordArray );
+            retVal = GetBearerBoolAttributeL(
+                    aAttribute,
+                    aClientPluginInstance->iGenRecordArray,
+                    aClientPluginInstance->iBearerSpecRecordArray );
             }
         }
 
     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
@@ -2410,8 +2415,8 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C HBufC* CCmPluginBaseEng::GetStringAttributeL(
-    TUint32 aAttribute,
-    CCmClientPluginInstance* aClientPluginInstance )
+        TUint32 aAttribute,
+        CCmClientPluginInstance* aClientPluginInstance )
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_ENTRY );
 
@@ -2425,13 +2430,14 @@
                 static_cast<CCDWAPAccessPointRecord*>(
                     aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
 
-            retVal = TPtrC( wapAPRecord->iWAPStartPage).AllocL();
+            retVal = TPtrC( wapAPRecord->iWAPStartPage ).AllocL();
             }
             break;
         case ECmName:
             {
             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
-                                aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+                    aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+
             retVal = TPtrC( iapRecord->iRecordName ).AllocL();
             }
             break;
@@ -2515,14 +2521,15 @@
             break;
         default:
             {
-            retVal = GetBearerStringAttributeL( aAttribute,
-                                                aClientPluginInstance->iGenRecordArray,
-                                                aClientPluginInstance->iBearerSpecRecordArray );
+            retVal = GetBearerStringAttributeL(
+                    aAttribute,
+                    aClientPluginInstance->iGenRecordArray,
+                    aClientPluginInstance->iBearerSpecRecordArray );
             }
+            break;
         }
 
     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
@@ -2531,8 +2538,8 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C HBufC8* CCmPluginBaseEng::GetString8AttributeL(
-    TUint32 aAttribute,
-    CCmClientPluginInstance* aClientPluginInstance )
+        TUint32 aAttribute,
+        CCmClientPluginInstance* aClientPluginInstance )
     {
     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_ENTRY );
 
@@ -2542,14 +2549,14 @@
         {
         default:
             {
-            retVal = GetBearerString8AttributeL( aAttribute,
-                                                 aClientPluginInstance->iGenRecordArray,
-                                                 aClientPluginInstance->iBearerSpecRecordArray );
+            retVal = GetBearerString8AttributeL(
+                    aAttribute,
+                    aClientPluginInstance->iGenRecordArray,
+                    aClientPluginInstance->iBearerSpecRecordArray );
             }
         }
 
     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
--- a/cmmanager/cmmgr/cmmplugins/cmpluginlan/src/cmpluginlan.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmplugins/cmpluginlan/src/cmpluginlan.cpp	Fri May 14 16:15:46 2010 +0300
@@ -157,7 +157,7 @@
 
     TRAPD( err, iapRecord->LoadL( iSession ) );
 
-    if( !err )
+    if ( !err )
         {
         retVal = CanHandleIapIdL( iapRecord );
         }
@@ -179,7 +179,7 @@
 
     TBool retVal( EFalse );
 
-    if( (TPtrC( aIapRecord->iServiceType ) == TPtrC( KCDTypeNameLANService ) ) &&
+    if ( (TPtrC( aIapRecord->iServiceType ) == TPtrC( KCDTypeNameLANService ) ) &&
         TPtrC( aIapRecord->iBearerType ) == TPtrC( KCDTypeNameLANBearer ) )
         {
         retVal = ETrue;
@@ -251,7 +251,7 @@
     CCDLANServiceRecord* lanServiceRecord = static_cast<CCDLANServiceRecord *>( iServiceRecord );
 
 
-    if( FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
+    if ( FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
         {
         lanServiceRecord->iIfNetworks.SetL( KDefIspIfNetworksIPv4IPv6LAN );
         }
@@ -294,19 +294,20 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINLAN_LOADSERVICERECORDL_ENTRY );
 
-    if( TPtrC( KCDTypeNameLANService ) == iIapRecord->iServiceType )
+    if ( TPtrC( KCDTypeNameLANService ) == iIapRecord->iServiceType )
         {
-        iServiceRecord = static_cast<CCDLANServiceRecord *>
-                    (CCDRecordBase::RecordFactoryL(KCDTIdLANServiceRecord));
+        iServiceRecord = static_cast<CCDLANServiceRecord *>(
+                CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
 
         ServiceRecord().SetRecordId( iIapRecord->iService );
         ServiceRecord().LoadL( iSession );
         }
     else
-        // this IAP service is not supported by this plugin.
         {
+        // This IAP service is not supported by this plugin.
         User::Leave( KErrNotSupported );
         }
+
     OstTraceFunctionExit0( CCMPLUGINLAN_LOADSERVICERECORDL_EXIT );
     }
 
@@ -317,7 +318,6 @@
 void CCmPluginLan::PrepareToCopyDataL( CCmPluginBaseEng* /*aCopyInstance*/ )
     {
     OstTraceFunctionEntry0( CCMPLUGINLAN_PREPARETOCOPYDATAL_ENTRY );
-
     OstTraceFunctionExit0( CCMPLUGINLAN_PREPARETOCOPYDATAL_EXIT );
     }
 
@@ -329,13 +329,122 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINLAN_COPYSERVICERECORDL_ENTRY );
 
-    __ASSERT_DEBUG( iServiceRecord != NULL, User::Leave( KErrNotFound ));
+    // New service record to be returned.
+    CCDRecordBase* serviceRecord = static_cast<CCDLANServiceRecord*>(
+            CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
+    CleanupStack::PushL( serviceRecord );
+
+    CCDLANServiceRecord* tempServiceRecordPtrToNew =
+            static_cast<CCDLANServiceRecord*>( serviceRecord );
+
+    // CommsDat version of service record.
+    CCDLANServiceRecord* origServiceRecord =
+            static_cast<CCDLANServiceRecord*>( iServiceRecord );
 
-    CCDRecordBase* serviceRecord = static_cast<CCDLANServiceRecord*>
-                                  ( CCDRecordBase::CreateCopyRecordL( *iServiceRecord ) );
+    if ( !origServiceRecord->iRecordTag.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordTag.SetL(
+                origServiceRecord->iRecordTag );
+        }
+    if ( !origServiceRecord->iRecordName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordName.SetL(
+                origServiceRecord->iRecordName );
+        }
+    if ( !origServiceRecord->iServiceEnableLlmnr.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceEnableLlmnr.SetL(
+                origServiceRecord->iServiceEnableLlmnr );
+        }
+    if ( !origServiceRecord->iIfNetworks.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIfNetworks.SetL(
+                origServiceRecord->iIfNetworks );
+        }
+    if ( !origServiceRecord->iIpNetmask.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNetmask.SetL(
+                origServiceRecord->iIpNetmask );
+        }
+    if ( !origServiceRecord->iIpGateway.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpGateway.SetL(
+                origServiceRecord->iIpGateway );
+        }
+    if ( !origServiceRecord->iIpAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrFromServer.SetL(
+                origServiceRecord->iIpAddrFromServer );
+        }
+    if ( !origServiceRecord->iIpAddr.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddr.SetL(
+                origServiceRecord->iIpAddr );
+        }
+    if ( !origServiceRecord->iIpDnsAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpDnsAddrFromServer.SetL(
+                origServiceRecord->iIpDnsAddrFromServer );
+        }
+    if ( !origServiceRecord->iIpNameServer1.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNameServer1.SetL(
+                origServiceRecord->iIpNameServer1 );
+        }
+    if ( !origServiceRecord->iIpNameServer2.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNameServer2.SetL(
+                origServiceRecord->iIpNameServer2 );
+        }
+    if ( !origServiceRecord->iIp6DnsAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6DnsAddrFromServer.SetL(
+                origServiceRecord->iIp6DnsAddrFromServer );
+        }
+    if ( !origServiceRecord->iIp6NameServer1.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6NameServer1.SetL(
+                origServiceRecord->iIp6NameServer1 );
+        }
+    if ( !origServiceRecord->iIp6NameServer2.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6NameServer2.SetL(
+                origServiceRecord->iIp6NameServer2 );
+        }
+    if ( !origServiceRecord->iIpAddrLeaseValidFrom.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrLeaseValidFrom.SetL(
+                origServiceRecord->iIpAddrLeaseValidFrom );
+        }
+    if ( !origServiceRecord->iIpAddrLeaseValidTo.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrLeaseValidTo.SetL(
+                origServiceRecord->iIpAddrLeaseValidTo );
+        }
+    if ( !origServiceRecord->iConfigDaemonManagerName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iConfigDaemonManagerName.SetL(
+                origServiceRecord->iConfigDaemonManagerName );
+        }
+    if ( !origServiceRecord->iConfigDaemonName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iConfigDaemonName.SetL(
+                origServiceRecord->iConfigDaemonName );
+        }
+    if ( !origServiceRecord->iServiceExtensionTableName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceExtensionTableName.SetL(
+                origServiceRecord->iServiceExtensionTableName );
+        }
+    if ( !origServiceRecord->iServiceExtensionTableRecordId.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceExtensionTableRecordId.SetL(
+                origServiceRecord->iServiceExtensionTableRecordId );
+        }
+
+    CleanupStack::Pop( serviceRecord );
 
     OstTraceFunctionExit0( CCMPLUGINLAN_COPYSERVICERECORDL_EXIT );
-
     return serviceRecord;
     }
 
@@ -344,102 +453,120 @@
 // ----------------------------------------------------------------------------
 //
 void CCmPluginLan::UpdateServiceRecordL(
-    RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
-    RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
+        RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
     {
     OstTraceFunctionEntry0( CCMPLUGINLAN_UPDATESERVICERECORDL_ENTRY );
 
-    // Delete the original record and create a copy from the parameter
+    // Delete the original record and create a copy from the client's copy.
     delete iServiceRecord;
     iServiceRecord = NULL;
 
-    iServiceRecord = static_cast<CCDLANServiceRecord*>
-                    (CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
+    iServiceRecord = static_cast<CCDLANServiceRecord*>(
+            CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
 
-    // LAN Service copy does not work so we have to copy it manually
+    CCDLANServiceRecord* origServiceRecord = static_cast<CCDLANServiceRecord*>( iServiceRecord );
+
+    // Client's copy of lan service record.
+    CCDLANServiceRecord* clientServiceRecordCopy =
+            static_cast<CCDLANServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
 
-    CCDLANServiceRecord* lanServiceRecordTo = static_cast<CCDLANServiceRecord *>( iServiceRecord );
-    CCDLANServiceRecord* lanServiceRecordFrom =
-                static_cast<CCDLANServiceRecord *>( aGenRecordArray[KServiceRecordIndex] );
+    // LAN Service copy does not work so we have to copy it manually.
 
-    if( !lanServiceRecordFrom->iRecordName.IsNull() )
+    if ( !clientServiceRecordCopy->iRecordTag.IsNull() )
         {
-        lanServiceRecordTo->iRecordName.SetL( lanServiceRecordFrom->iRecordName );
+        origServiceRecord->iRecordTag.SetL( clientServiceRecordCopy->iRecordTag );
         }
-    if( !lanServiceRecordFrom->iIfNetworks.IsNull() )
+    if ( !clientServiceRecordCopy->iRecordName.IsNull() )
         {
-        lanServiceRecordTo->iIfNetworks.SetL( lanServiceRecordFrom->iIfNetworks );
+        origServiceRecord->iRecordName.SetL( clientServiceRecordCopy->iRecordName );
         }
-    if( !lanServiceRecordFrom->iIpNetmask.IsNull() )
+    if ( !clientServiceRecordCopy->iServiceEnableLlmnr.IsNull() )
         {
-        lanServiceRecordTo->iIpNetmask.SetL( lanServiceRecordFrom->iIpNetmask );
+        origServiceRecord->iServiceEnableLlmnr.SetL( clientServiceRecordCopy->iServiceEnableLlmnr );
         }
-    if( !lanServiceRecordFrom->iIpGateway.IsNull() )
+    if ( !clientServiceRecordCopy->iIfNetworks.IsNull() )
         {
-        lanServiceRecordTo->iIpGateway.SetL( lanServiceRecordFrom->iIpGateway );
+        origServiceRecord->iIfNetworks.SetL( clientServiceRecordCopy->iIfNetworks );
+        }
+    if ( !clientServiceRecordCopy->iIpNetmask.IsNull() )
+        {
+        origServiceRecord->iIpNetmask.SetL( clientServiceRecordCopy->iIpNetmask );
         }
-    if( !lanServiceRecordFrom->iIpAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIpGateway.IsNull() )
         {
-        lanServiceRecordTo->iIpAddrFromServer.SetL( lanServiceRecordFrom->iIpAddrFromServer );
+        origServiceRecord->iIpGateway.SetL( clientServiceRecordCopy->iIpGateway );
         }
-    if( !lanServiceRecordFrom->iIpAddr.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIpAddr.SetL( lanServiceRecordFrom->iIpAddr );
+        origServiceRecord->iIpAddrFromServer.SetL( clientServiceRecordCopy->iIpAddrFromServer );
         }
-    if( !lanServiceRecordFrom->iIpDnsAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddr.IsNull() )
+        {
+        origServiceRecord->iIpAddr.SetL( clientServiceRecordCopy->iIpAddr );
+        }
+    if ( !clientServiceRecordCopy->iIpDnsAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIpDnsAddrFromServer.SetL( lanServiceRecordFrom->iIpDnsAddrFromServer );
+        origServiceRecord->iIpDnsAddrFromServer.SetL( clientServiceRecordCopy->iIpDnsAddrFromServer );
         }
-    if( !lanServiceRecordFrom->iIpNameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iIpNameServer1.IsNull() )
         {
-        lanServiceRecordTo->iIpNameServer1.SetL( lanServiceRecordFrom->iIpNameServer1 );
+        origServiceRecord->iIpNameServer1.SetL( clientServiceRecordCopy->iIpNameServer1 );
         }
-    if( !lanServiceRecordFrom->iIpNameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iIpNameServer2.IsNull() )
         {
-        lanServiceRecordTo->iIpNameServer2.SetL( lanServiceRecordFrom->iIpNameServer2 );
+        origServiceRecord->iIpNameServer2.SetL( clientServiceRecordCopy->iIpNameServer2 );
         }
-    if( !lanServiceRecordFrom->iIp6DnsAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIp6DnsAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIp6DnsAddrFromServer.SetL( lanServiceRecordFrom->iIp6DnsAddrFromServer );
+        origServiceRecord->iIp6DnsAddrFromServer.SetL( clientServiceRecordCopy->iIp6DnsAddrFromServer );
         }
-    if( !lanServiceRecordFrom->iIp6NameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iIp6NameServer1.IsNull() )
         {
-        lanServiceRecordTo->iIp6NameServer1.SetL( lanServiceRecordFrom->iIp6NameServer1 );
+        origServiceRecord->iIp6NameServer1.SetL( clientServiceRecordCopy->iIp6NameServer1 );
+        }
+    if ( !clientServiceRecordCopy->iIp6NameServer2.IsNull() )
+        {
+        origServiceRecord->iIp6NameServer2.SetL( clientServiceRecordCopy->iIp6NameServer2 );
         }
-    if( !lanServiceRecordFrom->iIp6NameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrLeaseValidFrom.IsNull() )
         {
-        lanServiceRecordTo->iIp6NameServer2.SetL( lanServiceRecordFrom->iIp6NameServer2 );
+        origServiceRecord->iIpAddrLeaseValidFrom.SetL( clientServiceRecordCopy->iIpAddrLeaseValidFrom );
         }
-    if( !lanServiceRecordFrom->iIpAddrLeaseValidFrom.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrLeaseValidTo.IsNull() )
         {
-        lanServiceRecordTo->iIpAddrLeaseValidFrom.SetL( lanServiceRecordFrom->iIpAddrLeaseValidFrom );
+        origServiceRecord->iIpAddrLeaseValidTo.SetL( clientServiceRecordCopy->iIpAddrLeaseValidTo );
         }
-    if( !lanServiceRecordFrom->iIpAddrLeaseValidTo.IsNull() )
+    if ( !clientServiceRecordCopy->iConfigDaemonManagerName.IsNull() )
         {
-        lanServiceRecordTo->iIpAddrLeaseValidTo.SetL( lanServiceRecordFrom->iIpAddrLeaseValidTo );
+        origServiceRecord->iConfigDaemonManagerName.SetL( clientServiceRecordCopy->iConfigDaemonManagerName );
         }
-    if( !lanServiceRecordFrom->iConfigDaemonManagerName.IsNull() )
+    if ( !clientServiceRecordCopy->iConfigDaemonName.IsNull() )
         {
-        lanServiceRecordTo->iConfigDaemonManagerName.SetL( lanServiceRecordFrom->iConfigDaemonManagerName );
+        origServiceRecord->iConfigDaemonName.SetL( clientServiceRecordCopy->iConfigDaemonName );
         }
-    if( !lanServiceRecordFrom->iConfigDaemonName.IsNull() )
+    if ( !clientServiceRecordCopy->iServiceExtensionTableName.IsNull() )
         {
-        lanServiceRecordTo->iConfigDaemonName.SetL( lanServiceRecordFrom->iConfigDaemonName );
+        origServiceRecord->iServiceExtensionTableName.SetL( clientServiceRecordCopy->iServiceExtensionTableName );
+        }
+    if ( !clientServiceRecordCopy->iServiceExtensionTableRecordId.IsNull() )
+        {
+        origServiceRecord->iServiceExtensionTableRecordId.SetL( clientServiceRecordCopy->iServiceExtensionTableRecordId ); //TODO, check this works ok.
         }
 
-    lanServiceRecordTo->SetElementId( lanServiceRecordFrom->ElementId() );
+    origServiceRecord->SetElementId( clientServiceRecordCopy->ElementId() );
 
-    if ( !ServiceRecord().RecordId() )
+    if ( !origServiceRecord->RecordId() )
         {
-        ServiceRecord().SetRecordId( KCDNewRecordRequest );
-        ServiceRecord().StoreL( iSession );
+        origServiceRecord->SetRecordId( KCDNewRecordRequest );
+        origServiceRecord->StoreL( iSession );
 
-        // Update needed values to record tables too( lanservice and wlanservice )
-        lanServiceRecordFrom->SetElementId( ServiceRecord().ElementId() );
+        // Update received element ID to client's copy too.
+        clientServiceRecordCopy->SetElementId( origServiceRecord->ElementId() );
         }
     else
         {
-        ServiceRecord().ModifyL( iSession );
+        origServiceRecord->ModifyL( iSession );
         }
 
     OstTraceFunctionExit0( CCMPLUGINLAN_UPDATESERVICERECORDL_EXIT );
@@ -709,6 +836,18 @@
             retVal = KDefaultPriorityLAN;
             }
             break;
+        case ELanServiceExtensionTableRecordId:
+            {
+            if ( !serviceRecord->iServiceExtensionTableRecordId.IsNull() )
+                {
+                retVal = serviceRecord->iServiceExtensionTableRecordId.RecordId();
+                }
+            else
+                {
+                retVal = 0;
+                }
+            }
+            break;
         default:
             {
             User::Leave( KErrNotSupported );
@@ -808,117 +947,78 @@
         case ECmIFNetworks:
         case ELanIfNetworks:
             {
-            if ( !serviceRecord->iIfNetworks.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIfNetworks ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIfNetworks ).AllocL();
             }
             break;
         case ECmIPNetmask:
         case ELanIpNetMask:
             {
-            if ( !serviceRecord->iIpNetmask.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpNetmask ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpNetmask ).AllocL();
             }
             break;
         case ECmIPGateway:
         case ELanIpGateway:
             {
-            if ( !serviceRecord->iIpGateway.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpGateway ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpGateway ).AllocL();
             }
             break;
         case ECmIPAddress:
         case ELanIpAddr:
             {
-            if ( !serviceRecord->iIpAddr.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpAddr ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpAddr ).AllocL();
             }
             break;
         case ECmIPNameServer1:
         case ELanIpNameServer1:
             {
-            if ( !serviceRecord->iIpNameServer1.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpNameServer1 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpNameServer1 ).AllocL();
             }
             break;
         case ECmIPNameServer2:
         case ELanIpNameServer2:
             {
-            if ( !serviceRecord->iIpNameServer2.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpNameServer2 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpNameServer2 ).AllocL();
             }
             break;
         case ECmIP6NameServer1:
         case ELanIp6NameServer1:
             {
-            if ( !serviceRecord->iIp6NameServer1.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIp6NameServer1 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIp6NameServer1 ).AllocL();
             }
             break;
         case ECmIP6NameServer2:
         case ELanIp6NameServer2:
             {
-            if ( !serviceRecord->iIp6NameServer2.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIp6NameServer2 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIp6NameServer2 ).AllocL();
             }
             break;
         case ECmIPAddrLeaseValidFrom:
         case ELanIpAddrLeaseValidFrom:
             {
-            if ( !serviceRecord->iIpAddrLeaseValidFrom.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpAddrLeaseValidFrom ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpAddrLeaseValidFrom ).AllocL();
             }
             break;
         case ECmIPAddrLeaseValidTo:
         case ELanIpAddrLeaseValidTo:
             {
-            if ( !serviceRecord->iIpAddrLeaseValidTo.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iIpAddrLeaseValidTo ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iIpAddrLeaseValidTo ).AllocL();
             }
             break;
         case ECmConfigDaemonManagerName:
         case ELanConfigDaemonManagerName:
             {
-            if ( !serviceRecord->iConfigDaemonManagerName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iConfigDaemonManagerName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iConfigDaemonManagerName ).AllocL();
             }
             break;
         case ECmConfigDaemonName:
         case ELanConfigDaemonName:
             {
-            if ( !serviceRecord->iConfigDaemonName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iConfigDaemonName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iConfigDaemonName ).AllocL();
             }
             break;
         case ELanServiceExtensionTableName:
             {
-            if ( !serviceRecord->iServiceExtensionTableName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iServiceExtensionTableName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iServiceExtensionTableName ).AllocL();
             }
             break;
         default:
@@ -964,12 +1064,15 @@
 //
 void CCmPluginLan::SetBearerIntAttributeL(
         TUint32 aAttribute,
-        TUint32 /*aValue*/,
-        RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+        TUint32 aValue,
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
         RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
     {
     OstTraceFunctionEntry0( CCMPLUGINLAN_SETBEARERINTATTRIBUTEL_ENTRY );
 
+    CCDLANServiceRecord* serviceRecord =
+            static_cast<CCDLANServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
+
     switch ( aAttribute )
         {
         case ECmExtensionLevel:
@@ -980,6 +1083,11 @@
             User::Leave( KErrArgument );
             }
             break;
+        case ELanServiceExtensionTableRecordId:
+            {
+            serviceRecord->iServiceExtensionTableRecordId = aValue;
+            }
+            break;
         default:
             {
             User::Leave( KErrNotSupported );
--- a/cmmanager/cmmgr/cmmplugins/cmpluginpacketdata/src/cmpluginpacketdata.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmplugins/cmpluginpacketdata/src/cmpluginpacketdata.cpp	Fri May 14 16:15:46 2010 +0300
@@ -778,214 +778,221 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_ENTRY );
 
-    // Delete the original record and create a copy from the parameter
+    // Delete the original record and create a copy from the parameter.
     delete iServiceRecord;
     iServiceRecord = NULL;
 
-    CCDWCDMAPacketServiceRecord* serviceRecord =
-            static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
-
     if ( iOutgoing )
         {
-        iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
+        iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
         }
     else
         {
-        iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
+        iServiceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
         }
 
     CCDWCDMAPacketServiceRecord* origServiceRecord =
             static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
 
-    iServiceRecord->SetElementId( serviceRecord->ElementId() );
-    iServiceRecord->iRecordName.SetL( serviceRecord->iRecordName );
-
-    if ( !serviceRecord->iServiceEnableLlmnr.IsNull() )
+    // Client's copy of packet service record.
+    CCDWCDMAPacketServiceRecord* clientServiceRecordCopy =
+            static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
+
+    if ( !clientServiceRecordCopy->iRecordTag.IsNull() )
         {
-        origServiceRecord->iServiceEnableLlmnr.SetL( serviceRecord->iServiceEnableLlmnr );
+        origServiceRecord->iRecordTag.SetL( clientServiceRecordCopy->iRecordTag );
         }
-
-    if ( !serviceRecord->iGPRSAPN.IsNull() )
+    if ( !clientServiceRecordCopy->iRecordName.IsNull() )
         {
-        origServiceRecord->iGPRSAPN.SetL( serviceRecord->iGPRSAPN );
+        origServiceRecord->iRecordName.SetL( clientServiceRecordCopy->iRecordName );
         }
-    if ( !serviceRecord->iGPRSPDPType.IsNull() )
+
+    if ( !clientServiceRecordCopy->iServiceEnableLlmnr.IsNull() )
         {
-        origServiceRecord->iGPRSPDPType.SetL( serviceRecord->iGPRSPDPType );
+        origServiceRecord->iServiceEnableLlmnr.SetL( clientServiceRecordCopy->iServiceEnableLlmnr );
         }
-    if ( !serviceRecord->iGPRSPDPAddress.IsNull() )
+
+    if ( !clientServiceRecordCopy->iGPRSAPN.IsNull() )
         {
-        origServiceRecord->iGPRSPDPAddress.SetL( serviceRecord->iGPRSPDPAddress );
+        origServiceRecord->iGPRSAPN.SetL( clientServiceRecordCopy->iGPRSAPN );
         }
-    if ( !serviceRecord->iGPRSReqPrecedence.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSPDPType.IsNull() )
         {
-        origServiceRecord->iGPRSReqPrecedence.SetL( serviceRecord->iGPRSReqPrecedence );
+        origServiceRecord->iGPRSPDPType.SetL( clientServiceRecordCopy->iGPRSPDPType );
         }
-    if ( !serviceRecord->iGPRSReqDelay.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSPDPAddress.IsNull() )
         {
-        origServiceRecord->iGPRSReqDelay.SetL( serviceRecord->iGPRSReqDelay );
+        origServiceRecord->iGPRSPDPAddress.SetL( clientServiceRecordCopy->iGPRSPDPAddress );
         }
-    if ( !serviceRecord->iGPRSReqReliability.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSReqPrecedence.IsNull() )
         {
-        origServiceRecord->iGPRSReqReliability.SetL( serviceRecord->iGPRSReqReliability );
+        origServiceRecord->iGPRSReqPrecedence.SetL( clientServiceRecordCopy->iGPRSReqPrecedence );
         }
-    if ( !serviceRecord->iGPRSReqPeakThroughput.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSReqDelay.IsNull() )
         {
-        origServiceRecord->iGPRSReqPeakThroughput.SetL( serviceRecord->iGPRSReqPeakThroughput );
+        origServiceRecord->iGPRSReqDelay.SetL( clientServiceRecordCopy->iGPRSReqDelay );
         }
-    if ( !serviceRecord->iGPRSReqMeanThroughput.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSReqReliability.IsNull() )
         {
-        origServiceRecord->iGPRSReqMeanThroughput.SetL( serviceRecord->iGPRSReqMeanThroughput );
+        origServiceRecord->iGPRSReqReliability.SetL( clientServiceRecordCopy->iGPRSReqReliability );
         }
-    if ( !serviceRecord->iGPRSMinPrecedence.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSReqPeakThroughput.IsNull() )
         {
-        origServiceRecord->iGPRSMinPrecedence.SetL( serviceRecord->iGPRSMinPrecedence );
+        origServiceRecord->iGPRSReqPeakThroughput.SetL( clientServiceRecordCopy->iGPRSReqPeakThroughput );
         }
-    if ( !serviceRecord->iGPRSMinDelay.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSReqMeanThroughput.IsNull() )
         {
-        origServiceRecord->iGPRSMinDelay.SetL( serviceRecord->iGPRSMinDelay );
+        origServiceRecord->iGPRSReqMeanThroughput.SetL( clientServiceRecordCopy->iGPRSReqMeanThroughput );
         }
-    if ( !serviceRecord->iGPRSMinReliability.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSMinPrecedence.IsNull() )
         {
-        origServiceRecord->iGPRSMinReliability.SetL( serviceRecord->iGPRSMinReliability );
+        origServiceRecord->iGPRSMinPrecedence.SetL( clientServiceRecordCopy->iGPRSMinPrecedence );
         }
-    if ( !serviceRecord->iGPRSMinPeakThroughput.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSMinDelay.IsNull() )
         {
-        origServiceRecord->iGPRSMinPeakThroughput.SetL( serviceRecord->iGPRSMinPeakThroughput );
+        origServiceRecord->iGPRSMinDelay.SetL( clientServiceRecordCopy->iGPRSMinDelay );
         }
-    if ( !serviceRecord->iGPRSMinMeanThroughput.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSMinReliability.IsNull() )
         {
-        origServiceRecord->iGPRSMinMeanThroughput.SetL( serviceRecord->iGPRSMinMeanThroughput );
+        origServiceRecord->iGPRSMinReliability.SetL( clientServiceRecordCopy->iGPRSMinReliability );
         }
-    if ( !serviceRecord->iGPRSDataCompression.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSMinPeakThroughput.IsNull() )
         {
-        origServiceRecord->iGPRSDataCompression.SetL( serviceRecord->iGPRSDataCompression );
+        origServiceRecord->iGPRSMinPeakThroughput.SetL( clientServiceRecordCopy->iGPRSMinPeakThroughput );
         }
-    if ( !serviceRecord->iGPRSHeaderCompression.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSMinMeanThroughput.IsNull() )
         {
-        origServiceRecord->iGPRSHeaderCompression.SetL( serviceRecord->iGPRSHeaderCompression );
+        origServiceRecord->iGPRSMinMeanThroughput.SetL( clientServiceRecordCopy->iGPRSMinMeanThroughput );
         }
-    if ( !serviceRecord->iGPRSUseEdge.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSDataCompression.IsNull() )
         {
-        origServiceRecord->iGPRSUseEdge.SetL( serviceRecord->iGPRSUseEdge );
+        origServiceRecord->iGPRSDataCompression.SetL( clientServiceRecordCopy->iGPRSDataCompression );
         }
-    if ( !serviceRecord->iGPRSAnonymousAccess.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSHeaderCompression.IsNull() )
         {
-        origServiceRecord->iGPRSAnonymousAccess.SetL( serviceRecord->iGPRSAnonymousAccess );
+        origServiceRecord->iGPRSHeaderCompression.SetL( clientServiceRecordCopy->iGPRSHeaderCompression );
         }
-    if ( !serviceRecord->iGPRSIfParams.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSUseEdge.IsNull() )
         {
-        origServiceRecord->iGPRSIfParams.SetL( serviceRecord->iGPRSIfParams );
+        origServiceRecord->iGPRSUseEdge.SetL( clientServiceRecordCopy->iGPRSUseEdge );
         }
-    if ( !serviceRecord->iGPRSIfNetworks.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSAnonymousAccess.IsNull() )
         {
-        origServiceRecord->iGPRSIfNetworks.SetL( serviceRecord->iGPRSIfNetworks );
+        origServiceRecord->iGPRSAnonymousAccess.SetL( clientServiceRecordCopy->iGPRSAnonymousAccess );
         }
-    if ( !serviceRecord->iGPRSIfPromptForAuth.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfParams.IsNull() )
         {
-        origServiceRecord->iGPRSIfPromptForAuth.SetL( serviceRecord->iGPRSIfPromptForAuth );
+        origServiceRecord->iGPRSIfParams.SetL( clientServiceRecordCopy->iGPRSIfParams );
         }
-    if ( !serviceRecord->iGPRSIfAuthName.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfNetworks.IsNull() )
         {
-        origServiceRecord->iGPRSIfAuthName.SetL( serviceRecord->iGPRSIfAuthName );
+        origServiceRecord->iGPRSIfNetworks.SetL( clientServiceRecordCopy->iGPRSIfNetworks );
         }
-    if ( !serviceRecord->iGPRSIfAuthPass.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfPromptForAuth.IsNull() )
         {
-        origServiceRecord->iGPRSIfAuthPass.SetL( serviceRecord->iGPRSIfAuthPass );
+        origServiceRecord->iGPRSIfPromptForAuth.SetL( clientServiceRecordCopy->iGPRSIfPromptForAuth );
         }
-    if ( !serviceRecord->iGPRSIfAuthRetries.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfAuthName.IsNull() )
         {
-        origServiceRecord->iGPRSIfAuthRetries.SetL( serviceRecord->iGPRSIfAuthRetries );
+        origServiceRecord->iGPRSIfAuthName.SetL( clientServiceRecordCopy->iGPRSIfAuthName );
         }
-    if ( !serviceRecord->iGPRSIPNetMask.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfAuthPass.IsNull() )
         {
-        origServiceRecord->iGPRSIPNetMask.SetL( serviceRecord->iGPRSIPNetMask );
+        origServiceRecord->iGPRSIfAuthPass.SetL( clientServiceRecordCopy->iGPRSIfAuthPass );
         }
-    if ( !serviceRecord->iGPRSIPGateway.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIfAuthRetries.IsNull() )
         {
-        origServiceRecord->iGPRSIPGateway.SetL( serviceRecord->iGPRSIPGateway );
+        origServiceRecord->iGPRSIfAuthRetries.SetL( clientServiceRecordCopy->iGPRSIfAuthRetries );
         }
-    if ( !serviceRecord->iGPRSIPAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPNetMask.IsNull() )
         {
-        origServiceRecord->iGPRSIPAddrFromServer.SetL( serviceRecord->iGPRSIPAddrFromServer );
+        origServiceRecord->iGPRSIPNetMask.SetL( clientServiceRecordCopy->iGPRSIPNetMask );
         }
-    if ( !serviceRecord->iGPRSIPAddr.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPGateway.IsNull() )
         {
-        origServiceRecord->iGPRSIPAddr.SetL( serviceRecord->iGPRSIPAddr );
+        origServiceRecord->iGPRSIPGateway.SetL( clientServiceRecordCopy->iGPRSIPGateway );
         }
-    if ( !serviceRecord->iGPRSIPDNSAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPAddrFromServer.IsNull() )
         {
-        origServiceRecord->iGPRSIPDNSAddrFromServer.SetL( serviceRecord->iGPRSIPDNSAddrFromServer );
+        origServiceRecord->iGPRSIPAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIPAddrFromServer );
         }
-    if ( !serviceRecord->iGPRSIPNameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPAddr.IsNull() )
         {
-        origServiceRecord->iGPRSIPNameServer1.SetL( serviceRecord->iGPRSIPNameServer1 );
+        origServiceRecord->iGPRSIPAddr.SetL( clientServiceRecordCopy->iGPRSIPAddr );
         }
-    if ( !serviceRecord->iGPRSIPNameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPDNSAddrFromServer.IsNull() )
         {
-        origServiceRecord->iGPRSIPNameServer2.SetL( serviceRecord->iGPRSIPNameServer2 );
+        origServiceRecord->iGPRSIPDNSAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIPDNSAddrFromServer );
         }
-    if ( !serviceRecord->iGPRSIP6DNSAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPNameServer1.IsNull() )
         {
-        origServiceRecord->iGPRSIP6DNSAddrFromServer.SetL( serviceRecord->iGPRSIP6DNSAddrFromServer );
+        origServiceRecord->iGPRSIPNameServer1.SetL( clientServiceRecordCopy->iGPRSIPNameServer1 );
         }
-    if ( !serviceRecord->iGPRSIP6NameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPNameServer2.IsNull() )
         {
-        origServiceRecord->iGPRSIP6NameServer1.SetL( serviceRecord->iGPRSIP6NameServer1 );
+        origServiceRecord->iGPRSIPNameServer2.SetL( clientServiceRecordCopy->iGPRSIPNameServer2 );
         }
-    if ( !serviceRecord->iGPRSIP6NameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIP6DNSAddrFromServer.IsNull() )
         {
-        origServiceRecord->iGPRSIP6NameServer2.SetL( serviceRecord->iGPRSIP6NameServer2 );
+        origServiceRecord->iGPRSIP6DNSAddrFromServer.SetL( clientServiceRecordCopy->iGPRSIP6DNSAddrFromServer );
+        }
+    if ( !clientServiceRecordCopy->iGPRSIP6NameServer1.IsNull() )
+        {
+        origServiceRecord->iGPRSIP6NameServer1.SetL( clientServiceRecordCopy->iGPRSIP6NameServer1 );
         }
-    if ( !serviceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIP6NameServer2.IsNull() )
         {
-        origServiceRecord->iGPRSIPAddrLeaseValidFrom.SetL( serviceRecord->iGPRSIPAddrLeaseValidFrom );
+        origServiceRecord->iGPRSIP6NameServer2.SetL( clientServiceRecordCopy->iGPRSIP6NameServer2 );
         }
-    if ( !serviceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPAddrLeaseValidFrom.IsNull() )
         {
-        origServiceRecord->iGPRSIPAddrLeaseValidTo.SetL( serviceRecord->iGPRSIPAddrLeaseValidTo );
+        origServiceRecord->iGPRSIPAddrLeaseValidFrom.SetL( clientServiceRecordCopy->iGPRSIPAddrLeaseValidFrom );
         }
-    if ( !serviceRecord->iGPRSConfigDaemonManagerName.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSIPAddrLeaseValidTo.IsNull() )
         {
-        origServiceRecord->iGPRSConfigDaemonManagerName.SetL( serviceRecord->iGPRSConfigDaemonManagerName );
+        origServiceRecord->iGPRSIPAddrLeaseValidTo.SetL( clientServiceRecordCopy->iGPRSIPAddrLeaseValidTo );
         }
-    if ( !serviceRecord->iGPRSConfigDaemonName.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSConfigDaemonManagerName.IsNull() )
         {
-        origServiceRecord->iGPRSConfigDaemonName.SetL( serviceRecord->iGPRSConfigDaemonName );
+        origServiceRecord->iGPRSConfigDaemonManagerName.SetL( clientServiceRecordCopy->iGPRSConfigDaemonManagerName );
         }
-    if ( !serviceRecord->iGPRSEnableLCPExtension.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSConfigDaemonName.IsNull() )
         {
-        origServiceRecord->iGPRSEnableLCPExtension.SetL( serviceRecord->iGPRSEnableLCPExtension );
+        origServiceRecord->iGPRSConfigDaemonName.SetL( clientServiceRecordCopy->iGPRSConfigDaemonName );
         }
-    if ( !serviceRecord->iGPRSDisablePlainTextAuth.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSEnableLCPExtension.IsNull() )
         {
-        origServiceRecord->iGPRSDisablePlainTextAuth.SetL( serviceRecord->iGPRSDisablePlainTextAuth );
+        origServiceRecord->iGPRSEnableLCPExtension.SetL( clientServiceRecordCopy->iGPRSEnableLCPExtension );
         }
-    if ( !serviceRecord->iGPRSAPType.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSDisablePlainTextAuth.IsNull() )
         {
-        origServiceRecord->iGPRSAPType.SetL( serviceRecord->iGPRSAPType );
+        origServiceRecord->iGPRSDisablePlainTextAuth.SetL( clientServiceRecordCopy->iGPRSDisablePlainTextAuth );
         }
-    if ( !serviceRecord->iGPRSQOSWarningTimeOut.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSAPType.IsNull() )
         {
-        origServiceRecord->iGPRSQOSWarningTimeOut.SetL( serviceRecord->iGPRSQOSWarningTimeOut );
+        origServiceRecord->iGPRSAPType.SetL( clientServiceRecordCopy->iGPRSAPType );
         }
-    if ( !serviceRecord->iGPRSR5DataCompression.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSQOSWarningTimeOut.IsNull() )
         {
-        origServiceRecord->iGPRSR5DataCompression.SetL( serviceRecord->iGPRSR5DataCompression );
+        origServiceRecord->iGPRSQOSWarningTimeOut.SetL( clientServiceRecordCopy->iGPRSQOSWarningTimeOut );
         }
-    if ( !serviceRecord->iGPRSR5HeaderCompression.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSR5DataCompression.IsNull() )
         {
-        origServiceRecord->iGPRSR5HeaderCompression.SetL( serviceRecord->iGPRSR5HeaderCompression );
+        origServiceRecord->iGPRSR5DataCompression.SetL( clientServiceRecordCopy->iGPRSR5DataCompression );
         }
-    if ( !serviceRecord->iGPRSPacketFlowIdentifier.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSR5HeaderCompression.IsNull() )
         {
-        origServiceRecord->iGPRSPacketFlowIdentifier.SetL( serviceRecord->iGPRSPacketFlowIdentifier );
+        origServiceRecord->iGPRSR5HeaderCompression.SetL( clientServiceRecordCopy->iGPRSR5HeaderCompression );
         }
-    if ( !serviceRecord->iGPRSUmtsGprsRelease.IsNull() )
+    if ( !clientServiceRecordCopy->iGPRSPacketFlowIdentifier.IsNull() )
         {
-        origServiceRecord->iGPRSUmtsGprsRelease.SetL( serviceRecord->iGPRSUmtsGprsRelease );
+        origServiceRecord->iGPRSPacketFlowIdentifier.SetL( clientServiceRecordCopy->iGPRSPacketFlowIdentifier );
+        }
+    if ( !clientServiceRecordCopy->iGPRSUmtsGprsRelease.IsNull() )
+        {
+        origServiceRecord->iGPRSUmtsGprsRelease.SetL( clientServiceRecordCopy->iGPRSUmtsGprsRelease );
         }
 
     if ( iPacketDataQoSRecord )
@@ -993,15 +1000,19 @@
         origServiceRecord->iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
         }
 
-    if ( !iServiceRecord->RecordId() )
+    origServiceRecord->SetElementId( clientServiceRecordCopy->ElementId() );
+
+    if ( !origServiceRecord->RecordId() )
         {
-        iServiceRecord->SetRecordId( KCDNewRecordRequest );
-        iServiceRecord->StoreL( iSession );
-        serviceRecord->SetElementId( iServiceRecord->ElementId() );
+        origServiceRecord->SetRecordId( KCDNewRecordRequest );
+        origServiceRecord->StoreL( iSession );
+
+        // Update received element ID to client's copy too.
+        clientServiceRecordCopy->SetElementId( origServiceRecord->ElementId() );
         }
     else
         {
-        iServiceRecord->ModifyL( iSession );
+        origServiceRecord->ModifyL( iSession );
         }
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_UPDATESERVICERECORDL_EXIT );
@@ -1034,7 +1045,7 @@
         iPacketDataQoSRecord->StoreL( iSession );
         packetDataQoSRecord->SetElementId( iPacketDataQoSRecord->ElementId() );
 
-        // Set service record to point to QoS record
+        // Set service record to point to QoS record.
         ServiceRecord().iUmtsR99QoSAndOnTable = iPacketDataQoSRecord->RecordId();
         ServiceRecord().ModifyL( iSession );
 
@@ -1560,14 +1571,14 @@
 // ---------------------------------------------------------------------------
 //
 TBool CCmPluginPacketData::GetBearerBoolAttributeL( TUint32 aAttribute,
-                                         RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
-                                         RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
+        RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_ENTRY );
 
     TBool retVal( EFalse );
 
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         case EPacketDataOutGoing:
             {
@@ -1577,7 +1588,7 @@
         case ECmCoverage:
             {
 #ifndef __WINS__
-            CCmPDCoverageCheck* coverage = new (ELeave) CCmPDCoverageCheck;
+            CCmPDCoverageCheck* coverage = new( ELeave ) CCmPDCoverageCheck;
             CleanupStack::PushL( coverage );
 
             retVal = coverage->IsThereCoverageL();
@@ -1605,86 +1616,86 @@
             break;
         case EPacketDataDataCompression:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSDataCompression;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSDataCompression;
             }
             break;
         case EPacketDataHeaderCompression:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSHeaderCompression;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSHeaderCompression;
             }
             break;
         case EPacketDataUseEdge:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSUseEdge;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSUseEdge;
             }
             break;
         case EPacketDataAnonymousAccess:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSAnonymousAccess;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSAnonymousAccess;
             }
             break;
         case ECmIFPromptForAuth:
         case EPacketDataIFPromptForAuth:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIfPromptForAuth;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSIfPromptForAuth;
             }
             break;
         case ECmIPAddFromServer:
         case EPacketDataIPAddrFromServer:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIPAddrFromServer;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSIPAddrFromServer;
             }
             break;
         case ECmIPDNSAddrFromServer:
         case EPacketDataIPDNSAddrFromServer:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIPDNSAddrFromServer;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSIPDNSAddrFromServer;
             }
             break;
         case ECmIP6DNSAddrFromServer:
         case EPacketDataIPIP6DNSAddrFromServer:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSIP6DNSAddrFromServer;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSIP6DNSAddrFromServer;
             }
             break;
         case ECmEnableLPCExtension:
         case EPacketDataEnableLcpExtension:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSEnableLCPExtension;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSEnableLCPExtension;
             }
             break;
         case EPacketDataServiceEnableLLMNR:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iServiceEnableLlmnr;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iServiceEnableLlmnr;
             }
             break;
         case ECmDisablePlainTextAuth:
         case EPacketDataDisablePlainTextAuth:
             {
-            retVal = static_cast<CCDWCDMAPacketServiceRecord*>
-                                ( aGenRecordArray[KServiceRecordIndex] )->iGPRSDisablePlainTextAuth;
+            retVal = static_cast<CCDWCDMAPacketServiceRecord*>(
+                    aGenRecordArray[KServiceRecordIndex] )->iGPRSDisablePlainTextAuth;
             }
             break;
         case EGPRSSignallingIndication:
             {
-            retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>
-                                ( aBearerSpecRecordArray[KQosRecordIndex] )->iGPRSSignallingIndication;
+            retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>(
+                    aBearerSpecRecordArray[KQosRecordIndex] )->iGPRSSignallingIndication;
             }
             break;
         case EGPRS_ImCnSignallingIndication:
             {
-            retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>
-                                ( aBearerSpecRecordArray[KQosRecordIndex] )->iGPRS_ImCnSignallingIndication;
+            retVal = static_cast<CCDUmtsR99QoSAndOnTableRecord*>(
+                    aBearerSpecRecordArray[KQosRecordIndex] )->iGPRS_ImCnSignallingIndication;
             }
             break;
         default:
@@ -1695,7 +1706,6 @@
         }
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERBOOLATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
@@ -1710,8 +1720,8 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRINGATTRIBUTEL_ENTRY );
 
     HBufC* retVal( NULL );
-    if ( ( aAttribute > EPacketDataSpecificAttributes && aAttribute < EGPRSReqTrafficClass )
-            || ( aAttribute > ECmCommonAttributesStart && aAttribute < ECmCommonAttributesEnd ) )
+    if ( ( aAttribute > EPacketDataSpecificAttributes && aAttribute < EGPRSReqTrafficClass ) ||
+            ( aAttribute > ECmCommonAttributesStart && aAttribute < ECmCommonAttributesEnd ) )
         {
         retVal = GetServiceStringAttributeL( aAttribute, aGenRecordArray );
         }
@@ -1729,8 +1739,8 @@
 // ---------------------------------------------------------------------------
 //
 HBufC* CCmPluginPacketData::GetServiceStringAttributeL(
-    TUint32 aAttribute,
-    RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray)
+        TUint32 aAttribute,
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray )
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_ENTRY );
 
@@ -1738,158 +1748,107 @@
 
     CCDWCDMAPacketServiceRecord* serviceRecord =
             static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         case ECmIFName:
         case EPacketDataAPName:
             {
-            if ( !serviceRecord->iGPRSAPN.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSAPN ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSAPN ).AllocL();
             }
             break;
         case EPacketDataPDPAddress:
             {
-            if ( !serviceRecord->iGPRSPDPAddress.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSPDPAddress ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSPDPAddress ).AllocL();
             }
             break;
         case ECmIFParams:
         case EPacketDataIFParams:
             {
-            if ( !serviceRecord->iGPRSIfParams.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIfParams ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIfParams ).AllocL();
             }
             break;
         case ECmIFNetworks:
         case EPacketDataIFNetworks:
             {
-            if ( !serviceRecord->iGPRSIfNetworks.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIfNetworks ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIfNetworks ).AllocL();
             }
             break;
         case ECmIFAuthName:
         case EPacketDataIFAuthName:
             {
-            if ( !serviceRecord->iGPRSIfAuthName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIfAuthName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIfAuthName ).AllocL();
             }
             break;
         case ECmIFAuthPass:
         case EPacketDataIFAuthPass:
             {
-            if ( !serviceRecord->iGPRSIfAuthPass.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIfAuthPass ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIfAuthPass ).AllocL();
             }
             break;
         case ECmIPNetmask:
         case EPacketDataIPNetmask:
             {
-            if ( !serviceRecord->iGPRSIPNetMask.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPNetMask ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPNetMask ).AllocL();
             }
             break;
         case ECmIPGateway:
         case EPacketDataIPGateway:
             {
-            if ( !serviceRecord->iGPRSIPGateway.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPGateway ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPGateway ).AllocL();
             }
             break;
         case ECmIPAddress:
         case EPacketDataIPAddr:
             {
-            if ( !serviceRecord->iGPRSIPAddr.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPAddr ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPAddr ).AllocL();
             }
             break;
         case ECmIPNameServer1:
         case EPacketDataIPNameServer1:
             {
-            if ( !serviceRecord->iGPRSIPNameServer1.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPNameServer1 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPNameServer1 ).AllocL();
             }
             break;
         case ECmIPNameServer2:
         case EPacketDataIPNameServer2:
             {
-            if ( !serviceRecord->iGPRSIPNameServer2.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPNameServer2 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPNameServer2 ).AllocL();
             }
             break;
         case ECmIP6NameServer1:
         case EPacketDataIPIP6NameServer1:
             {
-            if ( !serviceRecord->iGPRSIP6NameServer1.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIP6NameServer1 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIP6NameServer1 ).AllocL();
             }
             break;
         case ECmIP6NameServer2:
         case EPacketDataIPIP6NameServer2:
             {
-            if ( !serviceRecord->iGPRSIP6NameServer2.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIP6NameServer2 ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIP6NameServer2 ).AllocL();
             }
             break;
         case ECmIPAddrLeaseValidFrom:
         case EPacketDataIPAddrLeaseValidFrom:
             {
-            if ( !serviceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidFrom ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidFrom ).AllocL();
             }
             break;
         case ECmIPAddrLeaseValidTo:
         case EPacketDataIPAddrLeaseValidTo:
             {
-            if ( !serviceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidTo ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSIPAddrLeaseValidTo ).AllocL();
             }
             break;
         case ECmConfigDaemonManagerName:
         case EPacketDataConfigDaemonManagerName:
             {
-            if ( !serviceRecord->iGPRSConfigDaemonManagerName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSConfigDaemonManagerName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSConfigDaemonManagerName ).AllocL();
             }
             break;
         case ECmConfigDaemonName:
         case EPacketDataConfigDaemonName:
             {
-            if ( !serviceRecord->iGPRSConfigDaemonName.IsNull() )
-                {
-                retVal = TPtrC( serviceRecord->iGPRSConfigDaemonName ).AllocL();
-                }
+            retVal = TPtrC( serviceRecord->iGPRSConfigDaemonName ).AllocL();
             }
             break;
 
@@ -1901,7 +1860,6 @@
         }
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETSERVICESTRINGATTRIBUTEL_EXIT );
-
     return retVal;
     }
 
@@ -1910,15 +1868,14 @@
 // ---------------------------------------------------------------------------
 //
 HBufC8* CCmPluginPacketData::GetBearerString8AttributeL( TUint32 /*aAttribute*/,
-                                              RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
-                                              RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
+        RPointerArray<CommsDat::CCDRecordBase>& /*aGenRecordArray*/,
+        RPointerArray<CommsDat::CCDRecordBase>& /*aBearerSpecRecordArray*/ )
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_ENTRY );
 
     User::Leave( KErrNotSupported );
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERSTRING8ATTRIBUTEL_EXIT );
-
     return NULL;
     }
 
@@ -1926,9 +1883,11 @@
 // CCmPluginPacketData::SetBearerIntAttributeL
 // ---------------------------------------------------------------------------
 //
-void CCmPluginPacketData::SetBearerIntAttributeL( TUint32 aAttribute, TUint32 aValue,
-                                       RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
-                                       RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
+void CCmPluginPacketData::SetBearerIntAttributeL(
+        TUint32 aAttribute,
+        TUint32 aValue,
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
+        RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_ENTRY );
 
@@ -1944,6 +1903,7 @@
         {
         User::Leave( KErrNotFound );
         }
+
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_SETBEARERINTATTRIBUTEL_EXIT );
     }
 
@@ -2240,7 +2200,7 @@
     CCDWCDMAPacketServiceRecord* serviceRecord =
                     static_cast<CCDWCDMAPacketServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
 
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         case EPacketDataOutGoing:
             {
@@ -2520,7 +2480,7 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOINTL_ENTRY );
 
     TUint32 retVal( 0 );
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         case ECmBearerType:
             {
@@ -2566,7 +2526,7 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOBOOLL_ENTRY );
 
     TBool retVal( EFalse );
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         case ECmCoverage:
             {
@@ -2625,7 +2585,7 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRINGL_ENTRY );
 
     HBufC* retVal( NULL );
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         default:
             {
@@ -2648,18 +2608,16 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_ENTRY );
 
     HBufC8* retVal( NULL );
-    switch( aAttribute )
+    switch ( aAttribute )
         {
         default:
             {
-
             User::Leave( KErrNotSupported );
             }
-        break;
+            break;
         }
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_GETBEARERINFOSTRING8L_EXIT );
-
     return retVal;
     }
 
@@ -2672,7 +2630,6 @@
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_ENTRY );
 
     CCmPluginPacketData* plugin = static_cast<CCmPluginPacketData*>( aCopyInstance );
-
     plugin->iOutgoing = iOutgoing;
 
     OstTraceFunctionExit0( CCMPLUGINPACKETDATA_PREPARETOCOPYDATAL_EXIT );
@@ -2686,216 +2643,273 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINPACKETDATA_COPYSERVICERECORDL_ENTRY );
 
-    __ASSERT_ALWAYS( iServiceRecord != NULL, User::Leave( KErrNotFound ));
-
-    CCDWCDMAPacketServiceRecord* origServiceRecord =
-            static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
-
-    // New service record
-    CCDWCDMAPacketServiceRecord* serviceRecord = NULL;
+    // New service record to be returned.
+    CCDRecordBase* serviceRecord = NULL;
     if ( iOutgoing )
         {
-        serviceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
+        serviceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
                 CCDRecordBase::RecordFactoryL( KCDTIdOutgoingGprsRecord ) );
         }
     else
         {
-        serviceRecord = static_cast<CCDWCDMAPacketServiceRecord *>(
+        serviceRecord = static_cast<CCDWCDMAPacketServiceRecord*>(
                 CCDRecordBase::RecordFactoryL( KCDTIdIncomingGprsRecord ) );
         }
-
     CleanupStack::PushL( serviceRecord );
 
-    serviceRecord->iRecordName.SetL( origServiceRecord->iRecordName );
+    CCDWCDMAPacketServiceRecord* tempServiceRecordPtrToNew =
+            static_cast<CCDWCDMAPacketServiceRecord*>( serviceRecord );
+
+    // CommsDat version of service record.
+    CCDWCDMAPacketServiceRecord* origServiceRecord =
+            static_cast<CCDWCDMAPacketServiceRecord*>( iServiceRecord );
+
+    if ( !origServiceRecord->iRecordTag.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordTag.SetL(
+                origServiceRecord->iRecordTag );
+        }
+    if ( !origServiceRecord->iRecordName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordName.SetL(
+                origServiceRecord->iRecordName );
+        }
 
     if ( !origServiceRecord->iServiceEnableLlmnr.IsNull() )
         {
-        serviceRecord->iServiceEnableLlmnr.SetL( origServiceRecord->iServiceEnableLlmnr );
+        tempServiceRecordPtrToNew->iServiceEnableLlmnr.SetL(
+                origServiceRecord->iServiceEnableLlmnr );
         }
 
     if ( !origServiceRecord->iGPRSAPN.IsNull() )
         {
-        serviceRecord->iGPRSAPN.SetL( origServiceRecord->iGPRSAPN );
+        tempServiceRecordPtrToNew->iGPRSAPN.SetL(
+                origServiceRecord->iGPRSAPN );
         }
     if ( !origServiceRecord->iGPRSPDPType.IsNull() )
         {
-        serviceRecord->iGPRSPDPType.SetL( origServiceRecord->iGPRSPDPType );
+        tempServiceRecordPtrToNew->iGPRSPDPType.SetL(
+                origServiceRecord->iGPRSPDPType );
         }
     if ( !origServiceRecord->iGPRSPDPAddress.IsNull() )
         {
-        serviceRecord->iGPRSPDPAddress.SetL( origServiceRecord->iGPRSPDPAddress );
+        tempServiceRecordPtrToNew->iGPRSPDPAddress.SetL(
+                origServiceRecord->iGPRSPDPAddress );
         }
     if ( !origServiceRecord->iGPRSReqPrecedence.IsNull() )
         {
-        serviceRecord->iGPRSReqPrecedence.SetL( origServiceRecord->iGPRSReqPrecedence );
+        tempServiceRecordPtrToNew->iGPRSReqPrecedence.SetL(
+                origServiceRecord->iGPRSReqPrecedence );
         }
     if ( !origServiceRecord->iGPRSReqDelay.IsNull() )
         {
-        serviceRecord->iGPRSReqDelay.SetL( origServiceRecord->iGPRSReqDelay );
+        tempServiceRecordPtrToNew->iGPRSReqDelay.SetL(
+                origServiceRecord->iGPRSReqDelay );
         }
     if ( !origServiceRecord->iGPRSReqReliability.IsNull() )
         {
-        serviceRecord->iGPRSReqReliability.SetL( origServiceRecord->iGPRSReqReliability );
+        tempServiceRecordPtrToNew->iGPRSReqReliability.SetL(
+                origServiceRecord->iGPRSReqReliability );
         }
     if ( !origServiceRecord->iGPRSReqPeakThroughput.IsNull() )
         {
-        serviceRecord->iGPRSReqPeakThroughput.SetL( origServiceRecord->iGPRSReqPeakThroughput );
+        tempServiceRecordPtrToNew->iGPRSReqPeakThroughput.SetL(
+                origServiceRecord->iGPRSReqPeakThroughput );
         }
     if ( !origServiceRecord->iGPRSReqMeanThroughput.IsNull() )
         {
-        serviceRecord->iGPRSReqMeanThroughput.SetL( origServiceRecord->iGPRSReqMeanThroughput );
+        tempServiceRecordPtrToNew->iGPRSReqMeanThroughput.SetL(
+                origServiceRecord->iGPRSReqMeanThroughput );
         }
     if ( !origServiceRecord->iGPRSMinPrecedence.IsNull() )
         {
-        serviceRecord->iGPRSMinPrecedence.SetL( origServiceRecord->iGPRSMinPrecedence );
+        tempServiceRecordPtrToNew->iGPRSMinPrecedence.SetL(
+                origServiceRecord->iGPRSMinPrecedence );
         }
     if ( !origServiceRecord->iGPRSMinDelay.IsNull() )
         {
-        serviceRecord->iGPRSMinDelay.SetL( origServiceRecord->iGPRSMinDelay );
+        tempServiceRecordPtrToNew->iGPRSMinDelay.SetL(
+                origServiceRecord->iGPRSMinDelay );
         }
     if ( !origServiceRecord->iGPRSMinReliability.IsNull() )
         {
-        serviceRecord->iGPRSMinReliability.SetL( origServiceRecord->iGPRSMinReliability );
+        tempServiceRecordPtrToNew->iGPRSMinReliability.SetL(
+                origServiceRecord->iGPRSMinReliability );
         }
     if ( !origServiceRecord->iGPRSMinPeakThroughput.IsNull() )
         {
-        serviceRecord->iGPRSMinPeakThroughput.SetL( origServiceRecord->iGPRSMinPeakThroughput );
+        tempServiceRecordPtrToNew->iGPRSMinPeakThroughput.SetL(
+                origServiceRecord->iGPRSMinPeakThroughput );
         }
     if ( !origServiceRecord->iGPRSMinMeanThroughput.IsNull() )
         {
-        serviceRecord->iGPRSMinMeanThroughput.SetL( origServiceRecord->iGPRSMinMeanThroughput );
+        tempServiceRecordPtrToNew->iGPRSMinMeanThroughput.SetL(
+                origServiceRecord->iGPRSMinMeanThroughput );
         }
     if ( !origServiceRecord->iGPRSDataCompression.IsNull() )
         {
-        serviceRecord->iGPRSDataCompression.SetL( origServiceRecord->iGPRSDataCompression );
+        tempServiceRecordPtrToNew->iGPRSDataCompression.SetL(
+                origServiceRecord->iGPRSDataCompression );
         }
     if ( !origServiceRecord->iGPRSHeaderCompression.IsNull() )
         {
-        serviceRecord->iGPRSHeaderCompression.SetL( origServiceRecord->iGPRSHeaderCompression );
+        tempServiceRecordPtrToNew->iGPRSHeaderCompression.SetL(
+                origServiceRecord->iGPRSHeaderCompression );
         }
     if ( !origServiceRecord->iGPRSUseEdge.IsNull() )
         {
-        serviceRecord->iGPRSUseEdge.SetL( origServiceRecord->iGPRSUseEdge );
+        tempServiceRecordPtrToNew->iGPRSUseEdge.SetL(
+                origServiceRecord->iGPRSUseEdge );
         }
     if ( !origServiceRecord->iGPRSAnonymousAccess.IsNull() )
         {
-        serviceRecord->iGPRSAnonymousAccess.SetL( origServiceRecord->iGPRSAnonymousAccess );
+        tempServiceRecordPtrToNew->iGPRSAnonymousAccess.SetL(
+                origServiceRecord->iGPRSAnonymousAccess );
         }
     if ( !origServiceRecord->iGPRSIfParams.IsNull() )
         {
-        serviceRecord->iGPRSIfParams.SetL( origServiceRecord->iGPRSIfParams );
+        tempServiceRecordPtrToNew->iGPRSIfParams.SetL(
+                origServiceRecord->iGPRSIfParams );
         }
     if ( !origServiceRecord->iGPRSIfNetworks.IsNull() )
         {
-        serviceRecord->iGPRSIfNetworks.SetL( origServiceRecord->iGPRSIfNetworks );
+        tempServiceRecordPtrToNew->iGPRSIfNetworks.SetL(
+                origServiceRecord->iGPRSIfNetworks );
         }
     if ( !origServiceRecord->iGPRSIfPromptForAuth.IsNull() )
         {
-        serviceRecord->iGPRSIfPromptForAuth.SetL( origServiceRecord->iGPRSIfPromptForAuth );
+        tempServiceRecordPtrToNew->iGPRSIfPromptForAuth.SetL(
+                origServiceRecord->iGPRSIfPromptForAuth );
         }
     if ( !origServiceRecord->iGPRSIfAuthName.IsNull() )
         {
-        serviceRecord->iGPRSIfAuthName.SetL( origServiceRecord->iGPRSIfAuthName );
+        tempServiceRecordPtrToNew->iGPRSIfAuthName.SetL(
+                origServiceRecord->iGPRSIfAuthName );
         }
     if ( !origServiceRecord->iGPRSIfAuthPass.IsNull() )
         {
-        serviceRecord->iGPRSIfAuthPass.SetL( origServiceRecord->iGPRSIfAuthPass );
+        tempServiceRecordPtrToNew->iGPRSIfAuthPass.SetL(
+                origServiceRecord->iGPRSIfAuthPass );
         }
     if ( !origServiceRecord->iGPRSIfAuthRetries.IsNull() )
         {
-        serviceRecord->iGPRSIfAuthRetries.SetL( origServiceRecord->iGPRSIfAuthRetries );
+        tempServiceRecordPtrToNew->iGPRSIfAuthRetries.SetL(
+                origServiceRecord->iGPRSIfAuthRetries );
         }
     if ( !origServiceRecord->iGPRSIPNetMask.IsNull() )
         {
-        serviceRecord->iGPRSIPNetMask.SetL( origServiceRecord->iGPRSIPNetMask );
+        tempServiceRecordPtrToNew->iGPRSIPNetMask.SetL(
+                origServiceRecord->iGPRSIPNetMask );
         }
     if ( !origServiceRecord->iGPRSIPGateway.IsNull() )
         {
-        serviceRecord->iGPRSIPGateway.SetL( origServiceRecord->iGPRSIPGateway );
+        tempServiceRecordPtrToNew->iGPRSIPGateway.SetL(
+                origServiceRecord->iGPRSIPGateway );
         }
     if ( !origServiceRecord->iGPRSIPAddrFromServer.IsNull() )
         {
-        serviceRecord->iGPRSIPAddrFromServer.SetL( origServiceRecord->iGPRSIPAddrFromServer );
+        tempServiceRecordPtrToNew->iGPRSIPAddrFromServer.SetL(
+                origServiceRecord->iGPRSIPAddrFromServer );
         }
     if ( !origServiceRecord->iGPRSIPAddr.IsNull() )
         {
-        serviceRecord->iGPRSIPAddr.SetL( origServiceRecord->iGPRSIPAddr );
+        tempServiceRecordPtrToNew->iGPRSIPAddr.SetL(
+                origServiceRecord->iGPRSIPAddr );
         }
     if ( !origServiceRecord->iGPRSIPDNSAddrFromServer.IsNull() )
         {
-        serviceRecord->iGPRSIPDNSAddrFromServer.SetL( origServiceRecord->iGPRSIPDNSAddrFromServer );
+        tempServiceRecordPtrToNew->iGPRSIPDNSAddrFromServer.SetL(
+                origServiceRecord->iGPRSIPDNSAddrFromServer );
         }
     if ( !origServiceRecord->iGPRSIPNameServer1.IsNull() )
         {
-        serviceRecord->iGPRSIPNameServer1.SetL( origServiceRecord->iGPRSIPNameServer1 );
+        tempServiceRecordPtrToNew->iGPRSIPNameServer1.SetL(
+                origServiceRecord->iGPRSIPNameServer1 );
         }
     if ( !origServiceRecord->iGPRSIPNameServer2.IsNull() )
         {
-        serviceRecord->iGPRSIPNameServer2.SetL( origServiceRecord->iGPRSIPNameServer2 );
+        tempServiceRecordPtrToNew->iGPRSIPNameServer2.SetL(
+                origServiceRecord->iGPRSIPNameServer2 );
         }
     if ( !origServiceRecord->iGPRSIP6DNSAddrFromServer.IsNull() )
         {
-        serviceRecord->iGPRSIP6DNSAddrFromServer.SetL( origServiceRecord->iGPRSIP6DNSAddrFromServer );
+        tempServiceRecordPtrToNew->iGPRSIP6DNSAddrFromServer.SetL(
+                origServiceRecord->iGPRSIP6DNSAddrFromServer );
         }
     if ( !origServiceRecord->iGPRSIP6NameServer1.IsNull() )
         {
-        serviceRecord->iGPRSIP6NameServer1.SetL( origServiceRecord->iGPRSIP6NameServer1 );
+        tempServiceRecordPtrToNew->iGPRSIP6NameServer1.SetL(
+                origServiceRecord->iGPRSIP6NameServer1 );
         }
     if ( !origServiceRecord->iGPRSIP6NameServer2.IsNull() )
         {
-        serviceRecord->iGPRSIP6NameServer2.SetL( origServiceRecord->iGPRSIP6NameServer2 );
+        tempServiceRecordPtrToNew->iGPRSIP6NameServer2.SetL(
+                origServiceRecord->iGPRSIP6NameServer2 );
         }
     if ( !origServiceRecord->iGPRSIPAddrLeaseValidFrom.IsNull() )
         {
-        serviceRecord->iGPRSIPAddrLeaseValidFrom.SetL( origServiceRecord->iGPRSIPAddrLeaseValidFrom );
+        tempServiceRecordPtrToNew->iGPRSIPAddrLeaseValidFrom.SetL(
+                origServiceRecord->iGPRSIPAddrLeaseValidFrom );
         }
     if ( !origServiceRecord->iGPRSIPAddrLeaseValidTo.IsNull() )
         {
-        serviceRecord->iGPRSIPAddrLeaseValidTo.SetL( origServiceRecord->iGPRSIPAddrLeaseValidTo );
+        tempServiceRecordPtrToNew->iGPRSIPAddrLeaseValidTo.SetL(
+                origServiceRecord->iGPRSIPAddrLeaseValidTo );
         }
     if ( !origServiceRecord->iGPRSConfigDaemonManagerName.IsNull() )
         {
-        serviceRecord->iGPRSConfigDaemonManagerName.SetL( origServiceRecord->iGPRSConfigDaemonManagerName );
+        tempServiceRecordPtrToNew->iGPRSConfigDaemonManagerName.SetL(
+                origServiceRecord->iGPRSConfigDaemonManagerName );
         }
     if ( !origServiceRecord->iGPRSConfigDaemonName.IsNull() )
         {
-        serviceRecord->iGPRSConfigDaemonName.SetL( origServiceRecord->iGPRSConfigDaemonName );
+        tempServiceRecordPtrToNew->iGPRSConfigDaemonName.SetL(
+                origServiceRecord->iGPRSConfigDaemonName );
         }
     if ( !origServiceRecord->iGPRSEnableLCPExtension.IsNull() )
         {
-        serviceRecord->iGPRSEnableLCPExtension.SetL( origServiceRecord->iGPRSEnableLCPExtension );
+        tempServiceRecordPtrToNew->iGPRSEnableLCPExtension.SetL(
+                origServiceRecord->iGPRSEnableLCPExtension );
         }
     if ( !origServiceRecord->iGPRSDisablePlainTextAuth.IsNull() )
         {
-        serviceRecord->iGPRSDisablePlainTextAuth.SetL( origServiceRecord->iGPRSDisablePlainTextAuth );
+        tempServiceRecordPtrToNew->iGPRSDisablePlainTextAuth.SetL(
+                origServiceRecord->iGPRSDisablePlainTextAuth );
         }
     if ( !origServiceRecord->iGPRSAPType.IsNull() )
         {
-        serviceRecord->iGPRSAPType.SetL( origServiceRecord->iGPRSAPType );
+        tempServiceRecordPtrToNew->iGPRSAPType.SetL(
+                origServiceRecord->iGPRSAPType );
         }
     if ( !origServiceRecord->iGPRSQOSWarningTimeOut.IsNull() )
         {
-        serviceRecord->iGPRSQOSWarningTimeOut.SetL( origServiceRecord->iGPRSQOSWarningTimeOut );
+        tempServiceRecordPtrToNew->iGPRSQOSWarningTimeOut.SetL(
+                origServiceRecord->iGPRSQOSWarningTimeOut );
         }
     if ( !origServiceRecord->iUmtsR99QoSAndOnTable.IsNull() )
         {
-        serviceRecord->iUmtsR99QoSAndOnTable.SetL( origServiceRecord->iUmtsR99QoSAndOnTable );
+        tempServiceRecordPtrToNew->iUmtsR99QoSAndOnTable.SetL(
+                origServiceRecord->iUmtsR99QoSAndOnTable );
         }
     if ( !origServiceRecord->iGPRSR5DataCompression.IsNull() )
         {
-        serviceRecord->iGPRSR5DataCompression.SetL( origServiceRecord->iGPRSR5DataCompression );
+        tempServiceRecordPtrToNew->iGPRSR5DataCompression.SetL(
+                origServiceRecord->iGPRSR5DataCompression );
         }
     if ( !origServiceRecord->iGPRSR5HeaderCompression.IsNull() )
         {
-        serviceRecord->iGPRSR5HeaderCompression.SetL( origServiceRecord->iGPRSR5HeaderCompression );
+        tempServiceRecordPtrToNew->iGPRSR5HeaderCompression.SetL(
+                origServiceRecord->iGPRSR5HeaderCompression );
         }
     if ( !origServiceRecord->iGPRSPacketFlowIdentifier.IsNull() )
         {
-        serviceRecord->iGPRSPacketFlowIdentifier.SetL( origServiceRecord->iGPRSPacketFlowIdentifier );
+        tempServiceRecordPtrToNew->iGPRSPacketFlowIdentifier.SetL(
+                origServiceRecord->iGPRSPacketFlowIdentifier );
         }
     if ( !origServiceRecord->iGPRSUmtsGprsRelease.IsNull() )
         {
-        serviceRecord->iGPRSUmtsGprsRelease.SetL( origServiceRecord->iGPRSUmtsGprsRelease );
+        tempServiceRecordPtrToNew->iGPRSUmtsGprsRelease.SetL(
+                origServiceRecord->iGPRSUmtsGprsRelease );
         }
 
     CleanupStack::Pop( serviceRecord );
@@ -2934,7 +2948,6 @@
         }
 
     iPacketDataQoSRecord->DeleteL( iSession );
-    iPacketDataQoSRecord = NULL;
 
     OstTraceFunctionExit0( DUP1_CCMPLUGINPACKETDATA_DELETEBEARERRECORDSL_EXIT );
     }
--- a/cmmanager/cmmgr/cmmplugins/cmpluginwlan/src/cmpluginwlan.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmplugins/cmpluginwlan/src/cmpluginwlan.cpp	Fri May 14 16:15:46 2010 +0300
@@ -1261,16 +1261,14 @@
 
     TBool retVal( EFalse );
 
-    if ( (TPtrC(aIapRecord->iServiceType) == TPtrC(KCDTypeNameLANService) ) &&
-            TPtrC(aIapRecord->iBearerType) == TPtrC(KCDTypeNameLANBearer) )
+    if ( ( TPtrC( aIapRecord->iServiceType ) == TPtrC( KCDTypeNameLANService ) ) &&
+            TPtrC( aIapRecord->iBearerType ) == TPtrC( KCDTypeNameLANBearer ) )
         {
         // Check if there is a WLAN record with an iServiceId == iIapRecord->iService.
         CCDWlanServiceRecord* tmprec = new( ELeave ) CCDWlanServiceRecord ( iWlanTableId );
         CleanupStack::PushL( tmprec );
 
-        TInt service = aIapRecord->iService;
-
-        tmprec->iWlanServiceId.SetL( (TUint32)service );
+        tmprec->iWlanServiceId.SetL( ( TUint32 )( aIapRecord->iService ) );
         if ( tmprec->FindL( iSession ) )
             {
             // we found at least one WLAN using this IAP,
@@ -1292,10 +1290,9 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINWLAN_DELETEBEARERRECORDSL_ENTRY );
 
-    // as base class deletes service record, in this case LAN,
-    // only WLAN related stuff needs to be deleted
+    // As base class deletes service record, in this case LAN, only WLAN
+    // related stuff needs to be deleted.
     iWlanServiceRecord->DeleteL( iSession );
-    iWlanServiceRecord = NULL;
 
     OstTraceFunctionExit0( CCMPLUGINWLAN_DELETEBEARERRECORDSL_EXIT );
     }
@@ -1463,7 +1460,7 @@
                     aGenRecordArray[KIapRecordIndex] );
 
     CheckIfNameModifiedL( iapRecord, wlanServiceRecord );
-    wlanServiceRecord->iWlanServiceId.SetL( iapRecord->iService );
+    wlanServiceRecord->iWlanServiceId.SetL( ( TUint32 )( iapRecord->iService ) );
 
     CCDLANServiceRecord* serviceRecord =
             static_cast<CCDLANServiceRecord*>(
@@ -1491,101 +1488,125 @@
 // ----------------------------------------------------------------------------
 //
 void CCmPluginWlan::UpdateServiceRecordL(
-    RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
-    RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
+        RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
+        RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray )
     {
     OstTraceFunctionEntry0( CCMPLUGINWLAN_UPDATESERVICERECORDL_ENTRY );
 
-    // Delete the original record and create a copy from the parameter
+    // Delete the original record and create a copy from the client's copy.
     delete iServiceRecord;
     iServiceRecord = NULL;
 
-    iServiceRecord = static_cast<CCDLANServiceRecord*>
-                    (CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
+    iServiceRecord = static_cast<CCDLANServiceRecord *>(
+            CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
 
-    // LAN Service copy does not work so we have to copy it manually
+    // LAN Service copy does not work so we have to copy it manually.
+
+    // Plugin's commsdat copy.
+    CCDLANServiceRecord* origServiceRecord = static_cast<CCDLANServiceRecord*>( iServiceRecord );
 
-    CCDLANServiceRecord* lanServiceRecordTo =
-            static_cast<CCDLANServiceRecord *>(
-                    iServiceRecord );
+    // Client's copy of lan service record.
+    CCDLANServiceRecord* clientServiceRecordCopy =
+            static_cast<CCDLANServiceRecord*>( aGenRecordArray[KServiceRecordIndex] );
 
-    CCDLANServiceRecord* lanServiceRecordFrom =
-            static_cast<CCDLANServiceRecord *>(
-                    aGenRecordArray[KServiceRecordIndex] );
-
-    if ( !lanServiceRecordFrom->iRecordName.IsNull() )
+    if ( !clientServiceRecordCopy->iRecordTag.IsNull() )
+        {
+        origServiceRecord->iRecordTag.SetL( clientServiceRecordCopy->iRecordTag );
+        }
+    if ( !clientServiceRecordCopy->iRecordName.IsNull() )
+        {
+        origServiceRecord->iRecordName.SetL( clientServiceRecordCopy->iRecordName );
+        }
+    if ( !clientServiceRecordCopy->iServiceEnableLlmnr.IsNull() )
         {
-        lanServiceRecordTo->iRecordName.SetL( lanServiceRecordFrom->iRecordName );
+        origServiceRecord->iServiceEnableLlmnr.SetL( clientServiceRecordCopy->iServiceEnableLlmnr );
         }
-    if ( !lanServiceRecordFrom->iIfNetworks.IsNull() )
+    if ( !clientServiceRecordCopy->iIfNetworks.IsNull() )
         {
-        lanServiceRecordTo->iIfNetworks.SetL( lanServiceRecordFrom->iIfNetworks );
+        origServiceRecord->iIfNetworks.SetL( clientServiceRecordCopy->iIfNetworks );
         }
-    if ( !lanServiceRecordFrom->iIpGateway.IsNull() )
+    if ( !clientServiceRecordCopy->iIpNetmask.IsNull() )
+        {
+        origServiceRecord->iIpNetmask.SetL( clientServiceRecordCopy->iIpNetmask );
+        }
+    if ( !clientServiceRecordCopy->iIpGateway.IsNull() )
         {
-        lanServiceRecordTo->iIpGateway.SetL( lanServiceRecordFrom->iIpGateway );
+        origServiceRecord->iIpGateway.SetL( clientServiceRecordCopy->iIpGateway );
         }
-    if ( !lanServiceRecordFrom->iIpAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIpAddrFromServer.SetL( lanServiceRecordFrom->iIpAddrFromServer );
+        origServiceRecord->iIpAddrFromServer.SetL( clientServiceRecordCopy->iIpAddrFromServer );
         }
-    if ( !lanServiceRecordFrom->iIpAddr.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddr.IsNull() )
+        {
+        origServiceRecord->iIpAddr.SetL( clientServiceRecordCopy->iIpAddr );
+        }
+    if ( !clientServiceRecordCopy->iIpDnsAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIpAddr.SetL( lanServiceRecordFrom->iIpAddr );
+        origServiceRecord->iIpDnsAddrFromServer.SetL( clientServiceRecordCopy->iIpDnsAddrFromServer );
         }
-    if ( !lanServiceRecordFrom->iIpDnsAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIpNameServer1.IsNull() )
         {
-        lanServiceRecordTo->iIpDnsAddrFromServer.SetL( lanServiceRecordFrom->iIpDnsAddrFromServer );
+        origServiceRecord->iIpNameServer1.SetL( clientServiceRecordCopy->iIpNameServer1 );
         }
-    if ( !lanServiceRecordFrom->iIpNameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iIpNameServer2.IsNull() )
         {
-        lanServiceRecordTo->iIpNameServer1.SetL( lanServiceRecordFrom->iIpNameServer1 );
+        origServiceRecord->iIpNameServer2.SetL( clientServiceRecordCopy->iIpNameServer2 );
         }
-    if ( !lanServiceRecordFrom->iIpNameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iIp6DnsAddrFromServer.IsNull() )
         {
-        lanServiceRecordTo->iIpNameServer2.SetL( lanServiceRecordFrom->iIpNameServer2 );
+        origServiceRecord->iIp6DnsAddrFromServer.SetL( clientServiceRecordCopy->iIp6DnsAddrFromServer );
         }
-    if ( !lanServiceRecordFrom->iIp6DnsAddrFromServer.IsNull() )
+    if ( !clientServiceRecordCopy->iIp6NameServer1.IsNull() )
+        {
+        origServiceRecord->iIp6NameServer1.SetL( clientServiceRecordCopy->iIp6NameServer1 );
+        }
+    if ( !clientServiceRecordCopy->iIp6NameServer2.IsNull() )
         {
-        lanServiceRecordTo->iIp6DnsAddrFromServer.SetL( lanServiceRecordFrom->iIp6DnsAddrFromServer );
+        origServiceRecord->iIp6NameServer2.SetL( clientServiceRecordCopy->iIp6NameServer2 );
         }
-    if ( !lanServiceRecordFrom->iIp6NameServer1.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrLeaseValidFrom.IsNull() )
         {
-        lanServiceRecordTo->iIp6NameServer1.SetL( lanServiceRecordFrom->iIp6NameServer1 );
+        origServiceRecord->iIpAddrLeaseValidFrom.SetL( clientServiceRecordCopy->iIpAddrLeaseValidFrom );
         }
-    if ( !lanServiceRecordFrom->iIp6NameServer2.IsNull() )
+    if ( !clientServiceRecordCopy->iIpAddrLeaseValidTo.IsNull() )
+        {
+        origServiceRecord->iIpAddrLeaseValidTo.SetL( clientServiceRecordCopy->iIpAddrLeaseValidTo );
+        }
+    if ( !clientServiceRecordCopy->iConfigDaemonManagerName.IsNull() )
         {
-        lanServiceRecordTo->iIp6NameServer2.SetL( lanServiceRecordFrom->iIp6NameServer2 );
+        origServiceRecord->iConfigDaemonManagerName.SetL( clientServiceRecordCopy->iConfigDaemonManagerName );
         }
-    if ( !lanServiceRecordFrom->iConfigDaemonManagerName.IsNull() )
+    if ( !clientServiceRecordCopy->iConfigDaemonName.IsNull() )
         {
-        lanServiceRecordTo->iConfigDaemonManagerName.SetL( lanServiceRecordFrom->iConfigDaemonManagerName );
+        origServiceRecord->iConfigDaemonName.SetL( clientServiceRecordCopy->iConfigDaemonName );
         }
-    if ( !lanServiceRecordFrom->iConfigDaemonName.IsNull() )
+    if ( !clientServiceRecordCopy->iServiceExtensionTableName.IsNull() )
         {
-        lanServiceRecordTo->iConfigDaemonName.SetL( lanServiceRecordFrom->iConfigDaemonName );
+        origServiceRecord->iServiceExtensionTableName.SetL( clientServiceRecordCopy->iServiceExtensionTableName );
+        }
+    if ( !clientServiceRecordCopy->iServiceExtensionTableRecordId.IsNull() )
+        {
+        origServiceRecord->iServiceExtensionTableRecordId.SetL( clientServiceRecordCopy->iServiceExtensionTableRecordId ); //TODO, check this works ok.
         }
 
-    lanServiceRecordTo->SetElementId( lanServiceRecordFrom->ElementId() );
-    // this is shared between wlan iaps so it cannot be hidden or protected
-    lanServiceRecordTo->ClearAttributes( ECDHidden );
-    lanServiceRecordTo->ClearAttributes( ECDProtectedWrite );
+    origServiceRecord->SetElementId( clientServiceRecordCopy->ElementId() );
 
-    if ( !ServiceRecord().RecordId() )
+    if ( !origServiceRecord->RecordId() )
         {
-        ServiceRecord().SetRecordId( KCDNewRecordRequest );
-        ServiceRecord().StoreL( iSession );
+        origServiceRecord->SetRecordId( KCDNewRecordRequest );
+        origServiceRecord->StoreL( iSession );
 
-        // Update needed values to record tables too( lanservice and wlanservice )
-        lanServiceRecordFrom->SetElementId( ServiceRecord().ElementId() );
-        CCDWlanServiceRecord* wlanServiceRecord =
-                static_cast<CCDWlanServiceRecord *>(
-                        aBearerSpecRecordArray[KWlanServiceRecordIndex] );
-        wlanServiceRecord->iWlanServiceId.SetL( ServiceRecord().RecordId() );
+        // Update received element ID to client's copy too.
+        clientServiceRecordCopy->SetElementId( origServiceRecord->ElementId() );
+        // Update needed values to other table records too (wlanservice).
+        CCDWlanServiceRecord* wlanServiceRecord = static_cast<CCDWlanServiceRecord *>(
+                aBearerSpecRecordArray[KWlanServiceRecordIndex] );
+        wlanServiceRecord->iWlanServiceId.SetL( origServiceRecord->RecordId() );
         }
     else
         {
-        ServiceRecord().ModifyL( iSession );
+        origServiceRecord->ModifyL( iSession );
         }
 
     OstTraceFunctionExit0( CCMPLUGINWLAN_UPDATESERVICERECORDL_EXIT );
@@ -1601,114 +1622,156 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINWLAN_UPDATEBEARERRECORDSL_ENTRY );
 
+    // Delete the original record and create a copy from the client's copy.
     delete iWlanServiceRecord;
     iWlanServiceRecord = NULL;
 
-    CCDWlanServiceRecord* wlanServiceRecord =
-            static_cast<CCDWlanServiceRecord*>(
-                    aBearerSpecRecordArray[KWlanServiceRecordIndex] );
+    iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord( iWlanTableId );
 
-    iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord ( iWlanTableId );
-
-    iWlanServiceRecord->SetElementId( wlanServiceRecord->ElementId() );
-    iWlanServiceRecord->iRecordName.SetL( wlanServiceRecord->iRecordName );
+    // Client's copy of wlan service record.
+    CCDWlanServiceRecord* clientWlanServiceRecord = static_cast<CCDWlanServiceRecord*>(
+            aBearerSpecRecordArray[KWlanServiceRecordIndex] );
 
-    iWlanServiceRecord->iWlanServiceId.SetL( wlanServiceRecord->iWlanServiceId );
-    iWlanServiceRecord->iWlanConnMode.SetL( wlanServiceRecord->iWlanConnMode );
-    if ( !wlanServiceRecord->iWLanSSID.IsNull() )
+    if ( !clientWlanServiceRecord->iRecordTag.IsNull() )
         {
-        iWlanServiceRecord->iWLanSSID.SetL( wlanServiceRecord->iWLanSSID );
+        iWlanServiceRecord->iRecordTag.SetL(
+                clientWlanServiceRecord->iRecordTag );
+        }
+    if ( !clientWlanServiceRecord->iRecordName.IsNull() )
+        {
+        iWlanServiceRecord->iRecordName.SetL(
+                clientWlanServiceRecord->iRecordName );
         }
-    if ( !wlanServiceRecord->iWLanUsedSSID.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanServiceId.IsNull() )
         {
-        iWlanServiceRecord->iWLanUsedSSID.SetL( wlanServiceRecord->iWLanUsedSSID );
+        iWlanServiceRecord->iWlanServiceId.SetL(
+                clientWlanServiceRecord->iWlanServiceId );
         }
-    if ( !wlanServiceRecord->iWLanWepKey1.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanConnMode.IsNull() )
         {
-        iWlanServiceRecord->iWLanWepKey1.SetL( wlanServiceRecord->iWLanWepKey1 );
+        iWlanServiceRecord->iWlanConnMode.SetL(
+                clientWlanServiceRecord->iWlanConnMode );
+        }
+    if ( !clientWlanServiceRecord->iWLanSSID.IsNull() )
+        {
+        iWlanServiceRecord->iWLanSSID.SetL(
+                clientWlanServiceRecord->iWLanSSID );
         }
-    if ( !wlanServiceRecord->iWLanWepKey2.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanUsedSSID.IsNull() )
         {
-        iWlanServiceRecord->iWLanWepKey2.SetL( wlanServiceRecord->iWLanWepKey2 );
+        iWlanServiceRecord->iWLanUsedSSID.SetL(
+                clientWlanServiceRecord->iWLanUsedSSID );
         }
-    if ( !wlanServiceRecord->iWLanWepKey3.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanWepKey1.IsNull() )
         {
-        iWlanServiceRecord->iWLanWepKey3.SetL( wlanServiceRecord->iWLanWepKey3 );
+        iWlanServiceRecord->iWLanWepKey1.SetL(
+                clientWlanServiceRecord->iWLanWepKey1 );
         }
-    if ( !wlanServiceRecord->iWLanWepKey4.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanWepKey2.IsNull() )
         {
-        iWlanServiceRecord->iWLanWepKey4.SetL( wlanServiceRecord->iWLanWepKey4 );
+        iWlanServiceRecord->iWLanWepKey2.SetL(
+                clientWlanServiceRecord->iWLanWepKey2 );
         }
-    if ( !wlanServiceRecord->iWlanWepIndex.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanWepKey3.IsNull() )
         {
-        iWlanServiceRecord->iWlanWepIndex.SetL( wlanServiceRecord->iWlanWepIndex );
+        iWlanServiceRecord->iWLanWepKey3.SetL(
+                clientWlanServiceRecord->iWLanWepKey3 );
         }
-    if ( !wlanServiceRecord->iWlanSecMode.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanWepKey4.IsNull() )
         {
-        iWlanServiceRecord->iWlanSecMode.SetL( wlanServiceRecord->iWlanSecMode );
+        iWlanServiceRecord->iWLanWepKey4.SetL(
+                clientWlanServiceRecord->iWLanWepKey4 );
         }
-    if ( !wlanServiceRecord->iWlanAuthMode.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanWepIndex.IsNull() )
         {
-        iWlanServiceRecord->iWlanAuthMode.SetL( wlanServiceRecord->iWlanAuthMode );
+        iWlanServiceRecord->iWlanWepIndex.SetL(
+                clientWlanServiceRecord->iWlanWepIndex );
         }
-    if ( !wlanServiceRecord->iWlanEnableWpaPsk.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanSecMode.IsNull() )
+        {
+        iWlanServiceRecord->iWlanSecMode.SetL(
+                clientWlanServiceRecord->iWlanSecMode );
+        }
+    if ( !clientWlanServiceRecord->iWlanAuthMode.IsNull() )
         {
-        iWlanServiceRecord->iWlanEnableWpaPsk.SetL( wlanServiceRecord->iWlanEnableWpaPsk );
-        }
-    if ( !wlanServiceRecord->iWLanWpaPreSharedKey.IsNull() )
-        {
-        iWlanServiceRecord->iWLanWpaPreSharedKey.SetL( wlanServiceRecord->iWLanWpaPreSharedKey );
+        iWlanServiceRecord->iWlanAuthMode.SetL(
+                clientWlanServiceRecord->iWlanAuthMode );
         }
-    if ( !wlanServiceRecord->iWlanWpaKeyLength.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanEnableWpaPsk.IsNull() )
         {
-        iWlanServiceRecord->iWlanWpaKeyLength.SetL( wlanServiceRecord->iWlanWpaKeyLength );
+        iWlanServiceRecord->iWlanEnableWpaPsk.SetL(
+                clientWlanServiceRecord->iWlanEnableWpaPsk );
         }
-    if ( !wlanServiceRecord->iWLanEaps.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanWpaPreSharedKey.IsNull() )
+        {
+        iWlanServiceRecord->iWLanWpaPreSharedKey.SetL(
+                clientWlanServiceRecord->iWLanWpaPreSharedKey );
+        }
+    if ( !clientWlanServiceRecord->iWlanWpaKeyLength.IsNull() )
         {
-        iWlanServiceRecord->iWLanEaps.SetL( wlanServiceRecord->iWLanEaps );
+        iWlanServiceRecord->iWlanWpaKeyLength.SetL(
+                clientWlanServiceRecord->iWlanWpaKeyLength );
         }
-    if ( !wlanServiceRecord->iWlanScanSSID.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanEaps.IsNull() )
         {
-        iWlanServiceRecord->iWlanScanSSID.SetL( wlanServiceRecord->iWlanScanSSID );
+        iWlanServiceRecord->iWLanEaps.SetL(
+                clientWlanServiceRecord->iWLanEaps );
         }
-    if ( !wlanServiceRecord->iWlanChannelID.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanScanSSID.IsNull() )
         {
-        iWlanServiceRecord->iWlanChannelID.SetL( wlanServiceRecord->iWlanChannelID );
+        iWlanServiceRecord->iWlanScanSSID.SetL(
+                clientWlanServiceRecord->iWlanScanSSID );
         }
-    if ( !wlanServiceRecord->iWlanFormatKey1.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanChannelID.IsNull() )
+        {
+        iWlanServiceRecord->iWlanChannelID.SetL(
+                clientWlanServiceRecord->iWlanChannelID );
+        }
+    if ( !clientWlanServiceRecord->iWlanFormatKey1.IsNull() )
         {
-        iWlanServiceRecord->iWlanFormatKey1.SetL( wlanServiceRecord->iWlanFormatKey1 );
-        }
-    if ( !wlanServiceRecord->iWlanFormatKey2.IsNull() )
-        {
-        iWlanServiceRecord->iWlanFormatKey2.SetL( wlanServiceRecord->iWlanFormatKey2 );
+        iWlanServiceRecord->iWlanFormatKey1.SetL(
+                clientWlanServiceRecord->iWlanFormatKey1 );
         }
-    if ( !wlanServiceRecord->iWlanFormatKey3.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanFormatKey2.IsNull() )
         {
-        iWlanServiceRecord->iWlanFormatKey3.SetL( wlanServiceRecord->iWlanFormatKey3 );
+        iWlanServiceRecord->iWlanFormatKey2.SetL(
+                clientWlanServiceRecord->iWlanFormatKey2 );
         }
-    if ( !wlanServiceRecord->iWlanFormatKey4.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanFormatKey3.IsNull() )
+        {
+        iWlanServiceRecord->iWlanFormatKey3.SetL(
+                clientWlanServiceRecord->iWlanFormatKey3 );
+        }
+    if ( !clientWlanServiceRecord->iWlanFormatKey4.IsNull() )
         {
-        iWlanServiceRecord->iWlanFormatKey4.SetL( wlanServiceRecord->iWlanFormatKey4 );
+        iWlanServiceRecord->iWlanFormatKey4.SetL(
+                clientWlanServiceRecord->iWlanFormatKey4 );
         }
-    if ( !wlanServiceRecord->iWlanAllowSSIDRoaming.IsNull() )
+    if ( !clientWlanServiceRecord->iWlanAllowSSIDRoaming.IsNull() )
         {
-        iWlanServiceRecord->iWlanAllowSSIDRoaming.SetL( wlanServiceRecord->iWlanAllowSSIDRoaming );
+        iWlanServiceRecord->iWlanAllowSSIDRoaming.SetL(
+                clientWlanServiceRecord->iWlanAllowSSIDRoaming );
         }
-    if ( !wlanServiceRecord->iWLanEnabledEaps.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanEnabledEaps.IsNull() )
         {
-        iWlanServiceRecord->iWLanEnabledEaps.SetL( wlanServiceRecord->iWLanEnabledEaps );
+        iWlanServiceRecord->iWLanEnabledEaps.SetL(
+                clientWlanServiceRecord->iWLanEnabledEaps );
         }
-    if ( !wlanServiceRecord->iWLanDisabledEaps.IsNull() )
+    if ( !clientWlanServiceRecord->iWLanDisabledEaps.IsNull() )
         {
-        iWlanServiceRecord->iWLanDisabledEaps.SetL( wlanServiceRecord->iWLanDisabledEaps );
+        iWlanServiceRecord->iWLanDisabledEaps.SetL(
+                clientWlanServiceRecord->iWLanDisabledEaps );
         }
 
+    iWlanServiceRecord->SetElementId( clientWlanServiceRecord->ElementId() );
+
     if ( !iWlanServiceRecord->RecordId() )
         {
         iWlanServiceRecord->SetRecordId( KCDNewRecordRequest );
         iWlanServiceRecord->StoreL( iSession );
-        wlanServiceRecord->SetElementId( iWlanServiceRecord->ElementId() );
+
+        // Update received element ID to client's copy too.
+        clientWlanServiceRecord->SetElementId( iWlanServiceRecord->ElementId() );
         }
     else
         {
@@ -1729,7 +1792,7 @@
 
     if ( !iWlanServiceRecord )
         {
-        // IAP not yet in CommDat
+        // IAP not yet in CommsDat.
         GetDefaultWlanServiceRecordL( aRecordArray );
         }
     else
@@ -1738,7 +1801,6 @@
         CleanupStack::PushL( wlanServiceRecord );
         CopyWlanServiceRecordL( iWlanServiceRecord, wlanServiceRecord );
         wlanServiceRecord->SetElementId( iWlanServiceRecord->ElementId() );
-        wlanServiceRecord->iWlanServiceId.SetL( iWlanServiceRecord->iWlanServiceId );
         aRecordArray.AppendL( wlanServiceRecord );
         CleanupStack::Pop( wlanServiceRecord );
         }
@@ -1754,11 +1816,120 @@
     {
     OstTraceFunctionEntry0( CCMPLUGINWLAN_COPYSERVICERECORDL_ENTRY );
 
-    __ASSERT_DEBUG( iServiceRecord != NULL, User::Leave( KErrNotFound ));
+    // New service record to be returned.
+    CCDRecordBase* serviceRecord = static_cast<CCDLANServiceRecord*>(
+            CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) );
+    CleanupStack::PushL( serviceRecord );
+
+    CCDLANServiceRecord* tempServiceRecordPtrToNew =
+            static_cast<CCDLANServiceRecord*>( serviceRecord );
+
+    // CommsDat version of service record.
+    CCDLANServiceRecord* origServiceRecord =
+            static_cast<CCDLANServiceRecord*>( iServiceRecord );
 
-    CCDRecordBase* serviceRecord =
-            static_cast<CCDLANServiceRecord*>(
-                    CCDRecordBase::CreateCopyRecordL( *iServiceRecord ) );
+    if ( !origServiceRecord->iRecordTag.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordTag.SetL(
+                origServiceRecord->iRecordTag );
+        }
+    if ( !origServiceRecord->iRecordName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iRecordName.SetL(
+                origServiceRecord->iRecordName );
+        }
+    if ( !origServiceRecord->iServiceEnableLlmnr.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceEnableLlmnr.SetL(
+                origServiceRecord->iServiceEnableLlmnr );
+        }
+    if ( !origServiceRecord->iIfNetworks.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIfNetworks.SetL(
+                origServiceRecord->iIfNetworks );
+        }
+    if ( !origServiceRecord->iIpNetmask.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNetmask.SetL(
+                origServiceRecord->iIpNetmask );
+        }
+    if ( !origServiceRecord->iIpGateway.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpGateway.SetL(
+                origServiceRecord->iIpGateway );
+        }
+    if ( !origServiceRecord->iIpAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrFromServer.SetL(
+                origServiceRecord->iIpAddrFromServer );
+        }
+    if ( !origServiceRecord->iIpAddr.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddr.SetL(
+                origServiceRecord->iIpAddr );
+        }
+    if ( !origServiceRecord->iIpDnsAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpDnsAddrFromServer.SetL(
+                origServiceRecord->iIpDnsAddrFromServer );
+        }
+    if ( !origServiceRecord->iIpNameServer1.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNameServer1.SetL(
+                origServiceRecord->iIpNameServer1 );
+        }
+    if ( !origServiceRecord->iIpNameServer2.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpNameServer2.SetL(
+                origServiceRecord->iIpNameServer2 );
+        }
+    if ( !origServiceRecord->iIp6DnsAddrFromServer.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6DnsAddrFromServer.SetL(
+                origServiceRecord->iIp6DnsAddrFromServer );
+        }
+    if ( !origServiceRecord->iIp6NameServer1.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6NameServer1.SetL(
+                origServiceRecord->iIp6NameServer1 );
+        }
+    if ( !origServiceRecord->iIp6NameServer2.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIp6NameServer2.SetL(
+                origServiceRecord->iIp6NameServer2 );
+        }
+    if ( !origServiceRecord->iIpAddrLeaseValidFrom.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrLeaseValidFrom.SetL(
+                origServiceRecord->iIpAddrLeaseValidFrom );
+        }
+    if ( !origServiceRecord->iIpAddrLeaseValidTo.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iIpAddrLeaseValidTo.SetL(
+                origServiceRecord->iIpAddrLeaseValidTo );
+        }
+    if ( !origServiceRecord->iConfigDaemonManagerName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iConfigDaemonManagerName.SetL(
+                origServiceRecord->iConfigDaemonManagerName );
+        }
+    if ( !origServiceRecord->iConfigDaemonName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iConfigDaemonName.SetL(
+                origServiceRecord->iConfigDaemonName );
+        }
+    if ( !origServiceRecord->iServiceExtensionTableName.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceExtensionTableName.SetL(
+                origServiceRecord->iServiceExtensionTableName );
+        }
+    if ( !origServiceRecord->iServiceExtensionTableRecordId.IsNull() )
+        {
+        tempServiceRecordPtrToNew->iServiceExtensionTableRecordId.SetL(
+                origServiceRecord->iServiceExtensionTableRecordId );
+        }
+
+    CleanupStack::Pop( serviceRecord );
 
     OstTraceFunctionExit0( CCMPLUGINWLAN_COPYSERVICERECORDL_EXIT );
     return serviceRecord;
@@ -1897,10 +2068,23 @@
         User::Leave( KErrArgument );
         }
 
-    aDestRecord->iRecordName.SetL( aSourceRecord->iRecordName );
-    aDestRecord->iRecordTag.SetL( aSourceRecord->iRecordTag );
-    aDestRecord->iWlanConnMode.SetL( aSourceRecord->iWlanConnMode );
+    if ( !aSourceRecord->iRecordTag.IsNull() )
+        {
+        aDestRecord->iRecordTag.SetL( aSourceRecord->iRecordTag );
+        }
+    if ( !aSourceRecord->iRecordName.IsNull() )
+        {
+        aDestRecord->iRecordName.SetL( aSourceRecord->iRecordName );
+        }
 
+    if ( !aSourceRecord->iWlanServiceId.IsNull() )
+        {
+        aDestRecord->iWlanServiceId.SetL( aSourceRecord->iWlanServiceId );
+        }
+    if ( !aSourceRecord->iWlanConnMode.IsNull() )
+        {
+        aDestRecord->iWlanConnMode.SetL( aSourceRecord->iWlanConnMode );
+        }
     if ( !aSourceRecord->iWLanSSID.IsNull() )
         {
         aDestRecord->iWLanSSID.SetL( aSourceRecord->iWLanSSID );
@@ -2290,9 +2474,10 @@
     OstTraceFunctionEntry0( CCMPLUGINWLAN_COPYBEARERRECORDSL_ENTRY );
 
     CCmPluginWlan* plugin = static_cast<CCmPluginWlan*>( aCopyInstance );
-    plugin->iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord ( iWlanTableId );
+    plugin->iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord( iWlanTableId );
 
     CopyWlanServiceRecordL( iWlanServiceRecord, plugin->iWlanServiceRecord );
+    plugin->iWlanServiceRecord->iWlanServiceId.SetL( 0 );
     plugin->iWAPISupported = iWAPISupported;
 
     OstTraceFunctionExit0( CCMPLUGINWLAN_COPYBEARERRECORDSL_EXIT );
--- a/cmmanager/cmmgr/cmmserver/inc/cmmcache.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmcache.h	Fri May 14 16:15:46 2010 +0300
@@ -456,7 +456,9 @@
     /**
      * Enumerates connections and checks if any of the connection methods in
      * the given destination is connected.
-     * //TODO, update comments with second parameter.
+     * If pointer to destination instance is given, then information about
+     * relevant connection methods is retrieved from that. Otherwise the
+     * information is retrieved from instance mapping using the given ID.
      */
     TBool DestinationConnectedL(
             const TUint32 aDestinationId,
@@ -559,7 +561,8 @@
     void DeletePluginL( CCmmConnMethodStruct& aConnMethodStruct );
 
     /**
-     * TODO
+     * Initiate the deletion of given destination if none of the connection
+     * methods inside it are connected.
      */
     void DeleteDestinationForcedL( CCmmDestinationInstance& aDestinationInstance );
 
--- a/cmmanager/cmmgr/cmmserver/inc/cmmconnmethodinstance.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmconnmethodinstance.h	Fri May 14 16:15:46 2010 +0300
@@ -33,7 +33,8 @@
 
 
 /**
- * TODO, see DestInstance
+ * Session side object representing a connection method. Keeps track of any
+ * changes the client makes before they are updated to database.
  */
 NONSHARABLE_CLASS( CCmmConnMethodInstance ) : public CObject
     {
--- a/cmmanager/cmmgr/cmmserver/inc/cmmconnmethodstruct.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmconnmethodstruct.h	Fri May 14 16:15:46 2010 +0300
@@ -29,7 +29,8 @@
 
 
 /**
- * TODO
+ * Cache side object representing a connection method. Reflects the current
+ * state in database.
  */
 NONSHARABLE_CLASS( CCmmConnMethodStruct ) : public CBase
     {
--- a/cmmanager/cmmgr/cmmserver/inc/cmmdestinationinstance.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmdestinationinstance.h	Fri May 14 16:15:46 2010 +0300
@@ -269,7 +269,12 @@
 
 private:
     TBool AllMandatoryRecordsContainData() const;
+
+    /**
+     * Loads a requested type of record from database if it is not yet loaded.
+     */
     void RefreshRecordL( TCmmDbRecords aRecordType );
+
     void LoadAllRecordsL();
     void SetMetadataInternetL( const TUint32& aMetadata );
     void SetMetadataHighlight( const TUint32& aMetadata );
--- a/cmmanager/cmmgr/cmmserver/inc/cmmdestinationstruct.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmdestinationstruct.h	Fri May 14 16:15:46 2010 +0300
@@ -36,6 +36,10 @@
 class CCDSNAPMetadataRecord;
 
 
+/**
+ * Cache side object representing a destination. Reflects the current state in
+ * database.
+ */
 NONSHARABLE_CLASS( CCmmDestinationStruct ) : public CBase
     {
 public:
--- a/cmmanager/cmmgr/cmmserver/inc/cmmserver.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/inc/cmmserver.h	Fri May 14 16:15:46 2010 +0300
@@ -51,7 +51,7 @@
     ~CCmmServer();
 
     /**
-     * Increments the count of the active sessions for this server
+     * Increments the count of active sessions for this server.
      */
     void IncrementSessions();
 
--- a/cmmanager/cmmgr/cmmserver/src/cmmcache.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/src/cmmcache.cpp	Fri May 14 16:15:46 2010 +0300
@@ -1640,10 +1640,6 @@
                 // Delete the destination unless an active connection is using
                 // one of it's connection methods.
                 TRAP_IGNORE( DeleteDestinationForcedL( aDestinationInstance ) );
-                        //{
-                        //if ( !DestinationConnectedL( aDestinationInstance.GetId() ) ) DeleteDestinationL( aDestinationInstance, ETrue );
-                        //} ); //TODO, make helper function
-
                 // Destination is now removed from database. Tell instance
                 // mapping to stop ignoring the related ID.
                 iInstanceMapping->RemoveDestinationFromDeletedList( aDestinationInstance.GetId() );
@@ -1699,6 +1695,7 @@
             iConnMethodArray.Remove( index );
             }
         }
+
     OstTraceFunctionExit0( CCMMCACHE_CLOSECONNMETHOD_EXIT );
     }
 
@@ -2146,7 +2143,6 @@
 
     retVal = cmInstance->GetIntAttributeL( aAttribute );
 
-    CloseConnMethod( *cmInstance );
     CleanupStack::PopAndDestroy( cmInstance );
 
     OstTraceFunctionExit0( CCMMCACHE_GETCONNECTIONMETHODINFOINTL_EXIT );
@@ -2181,7 +2177,6 @@
 
     retVal = cmInstance->GetBoolAttributeL( aAttribute );
 
-    CloseConnMethod( *cmInstance );
     CleanupStack::PopAndDestroy( cmInstance );
 
     OstTraceFunctionExit0( CCMMCACHE_GETCONNECTIONMETHODINFOBOOLL_EXIT );
@@ -2216,7 +2211,6 @@
 
     retVal = cmInstance->GetStringAttributeL( aAttribute );
 
-    CloseConnMethod( *cmInstance );
     CleanupStack::PopAndDestroy( cmInstance );
 
     OstTraceFunctionExit0( CCMMCACHE_GETCONNECTIONMETHODINFOSTRINGL_EXIT );
@@ -2251,7 +2245,6 @@
 
     retVal = cmInstance->GetString8AttributeL( aAttribute );
 
-    CloseConnMethod( *cmInstance );
     CleanupStack::PopAndDestroy( cmInstance );
 
     OstTraceFunctionExit0( CCMMCACHE_GETCONNECTIONMETHODINFOSTRING8L_EXIT );
@@ -2569,13 +2562,15 @@
         }
 
     OstTraceFunctionExit0( CCMMCACHE_CHECKIFCMCONNECTED_EXIT );
-
     return result;
     }
 
 // ---------------------------------------------------------------------------
 // Enumerates connections and checks if any of the connection methods in the
 // given destination is connected.
+// If pointer to destination instance is given, then information about
+// relevant connection methods is retrieved from that. Otherwise the
+// information is retrieved from instance mapping using the given ID.
 // ---------------------------------------------------------------------------
 //
 TBool CCmmCache::DestinationConnectedL(
@@ -2659,7 +2654,6 @@
     TBool isEmbedded = iInstanceMapping->DestinationIsEmbedded( aDestinationId );
 
     OstTraceFunctionExit0( CCMMCACHE_DESTINATIONISEMBEDDED_EXIT );
-
     return isEmbedded;
     }
 
@@ -2674,7 +2668,6 @@
     TBool hasEmbedded = iInstanceMapping->DestinationHasEmbedded( aDestinationId );
 
     OstTraceFunctionExit0( CCMMCACHE_DESTINATIONHASEMBEDDED_EXIT );
-
     return hasEmbedded;
     }
 
@@ -2691,7 +2684,6 @@
             iInstanceMapping->DestinationPointedToByVirtualIap( aDestinationId );
 
     OstTraceFunctionExit0( CCMMCACHE_DESTINATIONPOINTEDTOBYVIRTUALIAP_EXIT );
-
     return pointedByVirtual;
     }
 
@@ -2723,7 +2715,6 @@
             ConnMethodInDestinationButLocked( aConnMethodId, aDestinationId );
 
     OstTraceFunctionExit0( CCMMCACHE_CONNMETHODINDESTINATIONBUTLOCKED_EXIT );
-
     return inAndlocked;
     }
 
@@ -2819,6 +2810,7 @@
             break;
             }
         }
+
     OstTraceFunctionExit0( CCMMCACHE_REFRESHDESTINATIONID_EXIT );
     }
 
@@ -2840,6 +2832,7 @@
             break; // Can only be 1 match.
             }
         }
+
     OstTraceFunctionExit0( CCMMCACHE_REFRESHCONNMETHODID_EXIT );
     }
 
@@ -2870,6 +2863,7 @@
         {
         ASSERT( 0 );
         }
+
     OstTraceFunctionExit0( CCMMCACHE_TRANSLATETEMPORARYID_EXIT );
     }
 
@@ -3037,14 +3031,14 @@
     }
 
 // ---------------------------------------------------------------------------
-// TODO
+// Initiate the deletion of given destination if none of the connection
+// methods inside it are connected.
 // ---------------------------------------------------------------------------
 //
 void CCmmCache::DeleteDestinationForcedL( CCmmDestinationInstance& aDestinationInstance ) //TODO, OST
     {
     //TODO
     if ( !DestinationConnectedL( 0, &aDestinationInstance ) )
-    //if ( !DestinationConnectedL( aDestinationInstance.GetId() ) ) //TODO
         {
         DeleteDestinationL( aDestinationInstance, ETrue );
         }
--- a/cmmanager/cmmgr/cmmserver/src/cmmconnmethodinstance.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/src/cmmconnmethodinstance.cpp	Fri May 14 16:15:46 2010 +0300
@@ -44,7 +44,6 @@
     CleanupStack::Pop( self );
 
     OstTraceFunctionExit0( CCMMCONNMETHODINSTANCE_NEWL_EXIT );
-
     return self;
     }
 
@@ -61,7 +60,6 @@
     self->ConstructL();
 
     OstTraceFunctionExit0( CCMMCONNMETHODINSTANCE_NEWLC_EXIT );
-
     return self;
     }
 
--- a/cmmanager/cmmgr/cmmserver/src/cmmdestinationstruct.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/cmmserver/src/cmmdestinationstruct.cpp	Fri May 14 16:15:46 2010 +0300
@@ -537,6 +537,23 @@
     // ECmmRecordStatusModified  Error, session side only status
     // ECmmRecordStatusUnsaved   Skip load, not in database
 
+    //TODO, temporary block start
+    // Remove this codeblock after database change listeners are in place. This
+    // will force a database reload.
+    if ( iNetworkRecordStatus == ECmmRecordStatusLoaded )
+        {
+        iNetworkRecordStatus = ECmmRecordStatusExpired;
+        }
+    if ( iDestApRecordStatus == ECmmRecordStatusLoaded )
+        {
+        iDestApRecordStatus = ECmmRecordStatusExpired;
+        }
+    if ( iMetadataRecordStatus == ECmmRecordStatusLoaded )
+        {
+        iMetadataRecordStatus = ECmmRecordStatusExpired;
+        }
+    //TODO, temporary block end
+
     CommsDat::CCDRecordBase* aRecordPointer;
 
     switch ( aRecordType )
--- a/cmmanager/cmmgr/database/src/cmmanagertableformats.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cmmgr/database/src/cmmanagertableformats.cpp	Fri May 14 16:15:46 2010 +0300
@@ -36,15 +36,15 @@
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanConnMode,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanSSID,  TMDBText )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanUsedSSID,  TMDBText )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey1,  TMDBText )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey2,  TMDBText )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey3,  TMDBText )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey4,  TMDBText )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey1,  TMDBBin )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey2,  TMDBBin )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey3,  TMDBBin )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWepKey4,  TMDBBin )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanWepIndex,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanSecMode,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanAuthMode,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanEnableWpaPsk,  TMDBNum )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWpaPreSharedKey,  TMDBText )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanWpaPreSharedKey,  TMDBBin )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanWpaKeyLength,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanEaps,  TMDBText )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanScanSSID,  TMDBNum )
@@ -53,9 +53,9 @@
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanFormatKey2,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanFormatKey3,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanFormatKey4,  TMDBNum )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanAllowSSIDRoaming,  TMDBNum )	
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanEnabledEaps,  TMDBText )
-	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanDisabledEaps,  TMDBText )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWlanAllowSSIDRoaming,  TMDBNum )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanEnabledEaps,  TMDBBin )
+	X_REGISTER_ATTRIBUTE( CCDWlanServiceRecord,   iWLanDisabledEaps,  TMDBBin )
     X_REGISTER_ATTRIBUTE( CCDRecordBase,          iRecordTag,  TMDBNum )
 	X_REGISTER_ATTRIBUTE( CCDRecordBase,          iRecordName, TMDBText )
 END_ATTRIBUTE_TABLE()
--- a/cmmanager/connection_settings_shim/src/cmdestination_shim_s60.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/connection_settings_shim/src/cmdestination_shim_s60.cpp	Fri May 14 16:15:46 2010 +0300
@@ -1,19 +1,19 @@
 /*
- * 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:  
- * Private implementation of Wrapper for CM Manager Symbian interface.
- */
+* 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:  
+* Private implementation of Wrapper for CM Manager Symbian interface.
+*/
 
 // System includes
 
@@ -27,12 +27,12 @@
 
 #include "cmdestination_shim_s60_p.h"
 #include "cmconnectionmethod_shim_s60_p.h"
+
 #include "OstTraceDefinitions.h"
 #ifdef OST_TRACE_COMPILER_IN_USE
 #include "cmdestination_shim_s60Traces.h"
 #endif
 
-
 /*!
     \class CmDestinationShimPrivate
     \brief Private implementation class for CM Manager Destination Shim.
@@ -311,7 +311,6 @@
     int &index)
 {
     index = iDestination.AddConnectionMethodL(cmShim->d_ptr->iCm);
-    iDestination.UpdateL();
 }
        
 void CmDestinationShimPrivate::DeleteConnectionMethodL(
@@ -321,7 +320,6 @@
     cm = iDestination.ConnectionMethodByIDL(
         cmShim->getIntAttribute(CMManagerShim::CmId));
     iDestination.DeleteConnectionMethodL(cm);
-    iDestination.UpdateL();
 }
        
 void CmDestinationShimPrivate::RemoveConnectionMethodL(
@@ -331,7 +329,6 @@
     cm = iDestination.ConnectionMethodByIDL(
         cmShim->getIntAttribute(CMManagerShim::CmId));
     iDestination.RemoveConnectionMethodL(cm);
-    iDestination.UpdateL();
 }
              
 void CmDestinationShimPrivate::ModifyPriorityL(
@@ -342,14 +339,12 @@
     cm = iDestination.ConnectionMethodByIDL(
         cmShim->getIntAttribute(CMManagerShim::CmId));
     iDestination.ModifyPriorityL(cm, index);
-    iDestination.UpdateL();
 }
            
 void CmDestinationShimPrivate::SetNameL(QString name)
 {
     TPtrC16 namePtr(reinterpret_cast<const TUint16*>(name.utf16()));
     iDestination.SetNameL(namePtr);
-    iDestination.UpdateL();
 }
 
 /*!
--- a/cmmanager/connection_settings_shim/tsrc/ut/testcmmgrshim.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/connection_settings_shim/tsrc/ut/testcmmgrshim.cpp	Fri May 14 16:15:46 2010 +0300
@@ -162,6 +162,7 @@
         QVERIFY(cm != NULL);
         bool ok = cm->deleteConnectionMethod();
         QVERIFY(ok == true);
+        cm->update();
         delete cm;
     }
     
@@ -640,7 +641,7 @@
         
     // Check the default name
     QString name = cm->getStringAttribute(CMManagerShim::CmName);
-    QCOMPARE(name, QString("Connection Method"));
+    QVERIFY(name != QString(""));
         
     // Change name
     cm->setStringAttribute(CMManagerShim::CmName, "WlanBlaaBlaa");
@@ -795,7 +796,7 @@
     QVERIFY(cmWlan != NULL);
     // Update to CommsDat
     cmWlan->update();
-    
+
     uint cmWlanId = cmWlan->getIntAttribute(CMManagerShim::CmId);
     QCOMPARE(cmWlanId, (uint)1);
 
@@ -1099,6 +1100,7 @@
         QVERIFY(cm != NULL);
         bool ok = cm->deleteConnectionMethod();
         QVERIFY(ok == true);
+        cm->update();
         delete cm;
     }
 }
--- a/cmmanager/cpdestinationplugin/inc/cpiapitem.h	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpdestinationplugin/inc/cpiapitem.h	Fri May 14 16:15:46 2010 +0300
@@ -56,8 +56,6 @@
     
     ~CpIapItem();
     
-    int getIapId() const;
-    
 signals:
     void iapChanged();
     
@@ -81,7 +79,7 @@
     void saveShare(int id);
     bool isCmManagerAvailable();
     HbMenu *createItemMenu(
-        CMManagerShim::CmmProtectionLevel protLvl,
+        bool cmConnected,
         const QPointF &position);
     void showErrorNote(const QString &info);
 
@@ -94,8 +92,6 @@
     QString                     mIapName;
     //! ID of the destination referencing this access point
     int                         mDestId;
-    //! Boolean showing if access point is protected.
-    bool                        mProtected;
     //! Helper for connecting signals to underlying widgets
     CpItemDataHelper            *mItemDataHelper;
     //! Pointer to CmManager for commsdat operations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cpdestinationplugin/res/cpdestinationplugindialogs.docml	Fri May 14 16:15:46 2010 +0300
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="okAction" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string locid="txt_common_button_ok" name="text"/>
+    </object>
+    <object name="cancelAction" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string locid="txt_common_button_cancel" name="text"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignLeft"/>
+            <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+            <string name="textColor" value="qtc_popup"/>
+            <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+        </widget>
+        <widget name="radioButtonList" role="HbDialog:contentWidget" type="HbRadioButtonList"/>
+        <bool name="backgroundFaded" value="TRUE"/>
+        <integer name="timeout" value="0"/>
+        <ref object="okAction" role="HbDialog:primaryAction"/>
+        <ref object="cancelAction" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- a/cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp	Fri May 14 16:15:46 2010 +0300
@@ -56,7 +56,7 @@
  */
 CpAddDestinationEntryItemData::CpAddDestinationEntryItemData(CpItemDataHelper &itemDataHelper,
                                                              CpDestinationGroup *parent)
-    : CpSettingFormEntryItemData(itemDataHelper),
+    : CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, itemDataHelper),
     mParent(parent),
     mDialog(0)
 {
--- a/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Fri May 14 16:15:46 2010 +0300
@@ -22,13 +22,13 @@
 #include <HbAction>
 #include <HbDataFormViewItem>
 #include <HbMenu>
-#include <HbListDialog>
 #include <HbInputDialog>
 #include <HbMessageBox>
 #include <HbPopup>
 #include <HbListWidget>
 #include <HbListWidgetItem>
 #include <HbMainWindow>
+#include <HbInstance>
 #include <cppluginutility.h>
 #include <cpitemdatahelper.h>
 #include <cpbasesettingview.h>
@@ -64,7 +64,8 @@
     @param[in] itemDataHelper Helper for connecting signals and slots.
  */
 CpDestinationEntryItemData::CpDestinationEntryItemData(CpItemDataHelper &itemDataHelper)
-    : CpSettingFormEntryItemData(itemDataHelper),
+    : CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, itemDataHelper),
+    mList(0),
     mDialog(0),
     mOkAction(0)
 {
@@ -76,14 +77,7 @@
         OstTrace0(TRACE_NORMAL, CPDESTINATIONENTRYITEMDATA_CPDESTINATIONENTRYITEMDATA, "CpDestinationEntryItemData::CpDestinationEntryItemData: Exception caught");
         mCmm = NULL;
     }
-    mList = new HbListWidget();
-    bool connectionSuccessful = connect(
-        mList,
-        SIGNAL(released(HbListWidgetItem *)),
-        this,
-        SLOT(updateIndex(HbListWidgetItem*)));
-    Q_ASSERT(connectionSuccessful);
-    
+        
     // Fix connections
     itemDataHelper.removeConnection(this,SIGNAL(pressed()),this,SLOT(onLaunchView()));
     itemDataHelper.addConnection(this,SIGNAL(clicked()),this,SLOT(onLaunchView()));
@@ -97,7 +91,6 @@
 CpDestinationEntryItemData::~CpDestinationEntryItemData()
 {
     OstTraceFunctionEntry0(DUP1_CPDESTINATIONENTRYITEMDATA_CPDESTINATIONENTRYITEMDATA_ENTRY);
-    delete mList;
     delete mCmm;
     delete mAps;
     delete mOkAction;
@@ -197,8 +190,11 @@
         bool apProtected = false;
         if (mDestinationId != 0) {
             CmDestinationShim *destination = mCmm->destination(mDestinationId);
-            if (destination->protectionLevel() == CMManagerShim::ProtLevel3) {
+            CMManagerShim::CmmProtectionLevel level = destination->protectionLevel();
+            if (level == CMManagerShim::ProtLevel3) {
                 apProtected = apList[i]->getBoolAttribute(CMManagerShim::CmProtected);
+            } else if (level == CMManagerShim::ProtLevel1) {
+                apProtected = true;
             }
             delete destination;
         }
@@ -212,7 +208,7 @@
             apProtected,
             bearerPlugin);
        
-        // Add name to item
+        // Add name to UI item
         iapDataItem->setContentWidgetData(
             QString("text"), 
             apList[i]->getStringAttribute(CMManagerShim::CmName));
@@ -240,7 +236,6 @@
     }
     
     itemDataHelper->bindToForm(form);
-    delete itemDataHelper;
     OstTraceFunctionExit0(CPDESTINATIONENTRYITEMDATA_CONSTRUCTSETTINGVIEW_EXIT);
 }
 
@@ -250,8 +245,8 @@
 void CpDestinationEntryItemData::updateDestinationView()
 {
     OstTraceFunctionEntry0(CPDESTINATIONENTRYITEMDATA_UPDATEDESTINATIONVIEW_ENTRY);
-    HbDataForm *form = static_cast<HbDataForm*>(model()->parent()); 
-    HbMainWindow *mainWnd = form->mainWindow();
+    QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();            
+    HbMainWindow *mainWnd = mainWindows.front();
        
     if (mainWnd) {
         HbView *view = mainWnd->currentView();
@@ -398,17 +393,23 @@
 void CpDestinationEntryItemData::activateArrangeMode()
 {
     OstTraceFunctionEntry0(CPDESTINATIONENTRYITEMDATA_ACTIVATEARRANGEMODE_ENTRY);
-    mList = new HbListWidget();
-    HbDataForm *form = static_cast<HbDataForm*>(model()->parent());             
-    HbMainWindow *mainWnd = form->mainWindow();
+    QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();            
+    HbMainWindow *mainWnd = mainWindows.front();
     HbView *view = new HbView();
     createArrangeModeView(view);
     
+    bool connectionSuccessful = connect(
+            mList,
+            SIGNAL(released(HbListWidgetItem*)),
+            this,
+            SLOT(updateIndex(HbListWidgetItem*)));
+    Q_ASSERT(connectionSuccessful);
+    
     if (mainWnd && view) {
         mPreView = mainWnd->currentView();
         mainWnd->addView(view);
         mainWnd->setCurrentView(view, false);
-        HbAction *arrangeViewBackAction = new HbAction(Hb::BackAction, view);
+        HbAction *arrangeViewBackAction = new HbAction(Hb::BackNaviAction, view);
         bool connected = connect(
             arrangeViewBackAction, 
             SIGNAL(triggered()), 
@@ -447,8 +448,8 @@
         return;
     }
     
-    HbDataForm *form = static_cast<HbDataForm*>(model()->parent());
-    HbMainWindow *mainWnd = form->mainWindow();
+    QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();            
+    HbMainWindow *mainWnd = mainWindows.front();
     HbView* view = mainWnd->currentView();
     
     if (mainWnd && view)  {
@@ -467,8 +468,8 @@
 void CpDestinationEntryItemData::viewCancel()
 {
     OstTraceFunctionEntry0(CPDESTINATIONENTRYITEMDATA_VIEWCANCEL_ENTRY);
-    HbDataForm *form = static_cast<HbDataForm*>(model()->parent());
-    HbMainWindow *mainWnd = form->mainWindow();
+    QList< HbMainWindow* > mainWindows = hbInstance->allMainWindows();            
+    HbMainWindow *mainWnd = mainWindows.front();
     HbView* view = mainWnd->currentView();
     
     if (mainWnd && view) {
@@ -596,6 +597,8 @@
     QList<QSharedPointer<CmConnectionMethodShim> >  apList;
     fetchReferencedAps(apList, mCmm);   
     CmDestinationShim *destination = NULL;
+    mList = new HbListWidget();
+    view->setWidget(mList);
     
     try {
         destination = mCmm->destination(mDestinationId);
@@ -611,17 +614,6 @@
             mList->addItem(item);
         }
         mList->setArrangeMode(true);
-        view->setWidget(mList);
-                
-        // Toolbar
-        HbToolBar *tb = view->toolBar();
-        HbAction *doneAction = tb->addAction(hbTrId("txt_common_button_ok"));
-        bool connected = connect(
-            doneAction, 
-            SIGNAL(triggered()), 
-            this, 
-            SLOT(viewDone()));
-        Q_ASSERT(connected);
         delete destination;
     } catch (const std::exception&) {
         OstTrace0(TRACE_NORMAL, CPDESTINATIONENTRYITEMDATA_CREATEARRANGEMODEVIEW, "CpDestinationEntryItemData::createArrangeModeView: Exception caught");
@@ -635,6 +627,15 @@
         }
         mList->clear();
     }
+    // Toolbar
+    HbToolBar *tb = view->toolBar();
+    HbAction *doneAction = tb->addAction(hbTrId("txt_common_button_ok"));
+    bool connected = connect(
+        doneAction, 
+        SIGNAL(triggered()), 
+        this, 
+        SLOT(viewDone()));
+    Q_ASSERT(connected);
     OstTraceFunctionExit0(CPDESTINATIONENTRYITEMDATA_CREATEARRANGEMODEVIEW_EXIT);
 }
 
@@ -692,7 +693,9 @@
         cmm = new CmManagerShim();
         if (isDestinationNameValid(destinationName, cmm)) {
             cmm = new CmManagerShim();
-            cmm->destination(mDestinationId)->setName(destinationName);
+            destination = cmm->destination(mDestinationId);
+            destination->setName(destinationName);
+            destination->update();
             mDestinationName = destinationName;
             destinationNameInvalid = false;
         }
@@ -747,7 +750,7 @@
 void CpDestinationEntryItemData::showErrorNote(const QString &info)
 {
     OstTraceFunctionEntry0(CPDESTINATIONENTRYITEMDATA_SHOWERRORNOTE_ENTRY);
-    HbMessageBox *note = new HbMessageBox(HbMessageBox::MessageTypeInformation);
+    HbMessageBox *note = new HbMessageBox(HbMessageBox::MessageTypeWarning);
     note->clearActions();
     note->setAttribute(Qt::WA_DeleteOnClose);
     note->setText(info);
--- a/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Fri May 14 16:15:46 2010 +0300
@@ -23,6 +23,7 @@
 #include <HbDataform>
 #include <HbDataFormModel>
 #include <HbDataFormViewItem>
+#include <HbParameterLengthLimiter>
 #include <cpbasesettingview.h>
 #include <cpitemdatahelper.h>
 #include <cpsettingformentryitemdataimpl.h>
@@ -134,10 +135,6 @@
     destDataItem->setDestinationName(dest);
     connect(destDataItem, SIGNAL(destChanged()), this, SLOT(updateDestinationInformation()));
     
-    // Use ItemDataHelper to make connections
-    QObject* form = this->model()->parent();
-    mItemDataHelper->bindToForm(static_cast<HbDataForm*>(form));
-    
     // Insert Child to correct position
     QList<QSharedPointer<CmDestinationShim> > destinationList;
     fetchDestinations(destinationList);
@@ -236,13 +233,6 @@
         destDataItem->setContentWidgetData(QString("additionalText"), iapCount);
         destDataItem->setContentWidgetData(QString("text"), destDataItem->destinationName());
     }
-    // Update UI
-    HbDataForm *form = static_cast<HbDataForm*>(this->model()->parent());
-    HbDataFormModel* model = static_cast<HbDataFormModel*>(this->model());
-    QModelIndex index = model->indexFromItem(this);
-    HbDataFormViewItem *viewItem = form->dataFormViewItem(index);
-    viewItem->setExpanded(false);
-    viewItem->setExpanded(true);
     OstTraceFunctionExit0(CPDESTINATIONGROUP_UPDATEDESTINATIONINFORMATION_EXIT);
 }
 
@@ -336,7 +326,8 @@
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT_ENTRY);
     QString result = "";
     if (iapCount > 0) {
-        result = hbTrId("txt_occ_dblist_internet_val_ln_access_points", iapCount);
+        //result = hbTrId("txt_occ_dblist_internet_val_ln_access_points", iapCount);
+        result = HbParameterLengthLimiter("txt_occ_dblist_internet_val_ln_access_points").arg(iapCount);
     } else {
         result = hbTrId("txt_occ_dblist_internet_val_no_access_points");
     }
--- a/cmmanager/cpdestinationplugin/src/cpiapitem.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpiapitem.cpp	Fri May 14 16:15:46 2010 +0300
@@ -76,11 +76,11 @@
     int destId,
     bool apProtected,
     CpBearerApPluginInterface *bearerPlugin) :
-    CpSettingFormEntryItemData(itemDataHelper), 
+    CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, itemDataHelper), 
+    mItemDataHelper(&itemDataHelper),
     mIapId(iapId), 
     mIapName(iapName),
     mDestId(destId),
-    mProtected(apProtected),
     mBearerPlugin(bearerPlugin),
     mMoveOngoing(false),
     mDialog(0),
@@ -96,12 +96,12 @@
     
     // Fix connections
     itemDataHelper.removeConnection(this,SIGNAL(pressed()),this,SLOT(onLaunchView()));
-    itemDataHelper.addConnection(
-        this,
-        SIGNAL(longPress(QPointF)),
-        this,
-        SLOT(showItemMenu(QPointF)));
     if (!apProtected) {
+        itemDataHelper.addConnection(
+            this,
+            SIGNAL(longPress(QPointF)),
+            this,
+            SLOT(showItemMenu(QPointF)));
         itemDataHelper.addConnection(this,SIGNAL(clicked()),this,SLOT(onLaunchView()));
     }
     OstTraceFunctionExit0(CPIAPITEM_CPIAPITEM_EXIT);
@@ -118,16 +118,6 @@
 }
 
 /*!
-    \return Returns ID of this access point
- */
-int CpIapItem::getIapId() const
-{
-    OstTraceFunctionEntry0(CPIAPITEM_GETIAPID_ENTRY);
-    OstTraceFunctionExit0(CPIAPITEM_GETIAPID_EXIT);
-    return mIapId;
-}
-
-/*!
     Shows user the item specific menu. The menu is triggered by long pressing
     the access point item.
     
@@ -138,15 +128,11 @@
     OstTraceFunctionEntry0(CPIAPITEM_SHOWITEMMENU_ENTRY);
     if (isCmManagerAvailable()) {
         bool settingsReadSuccessful = true;
-        CMManagerShim::CmmProtectionLevel protLvl;
-        try {      
-            if (mDestId == 0) {
-                protLvl = CMManagerShim::ProtLevel0;
-            } else {
-                CmDestinationShim *destination = mCmm->destination(mDestId);
-                protLvl = destination->protectionLevel();
-                delete destination;
-            }              
+        bool cmConnected = false;
+        try {
+            CmConnectionMethodShim *cm = mCmm->connectionMethod(mIapId);
+            cmConnected = cm->getBoolAttribute(CMManagerShim::CmConnected);
+            delete cm;
         } 
         catch (const std::exception&)  {
             OstTrace0(TRACE_NORMAL, CPIAPITEM_SHOWITEMMENU, "CpIapItem::showItemMenu: Exception caught");
@@ -154,7 +140,7 @@
         }
         if (settingsReadSuccessful) {
             // Settings could be read from commsdat: show menu.
-            createItemMenu(protLvl, position)->show();
+            createItemMenu(cmConnected, position)->show();
         }    
     }
     OstTraceFunctionExit0(CPIAPITEM_SHOWITEMMENU_EXIT);
@@ -248,10 +234,7 @@
         deleteSuccessful = false;
     }
     if (deleteSuccessful) {
-        HbDataForm *form = static_cast<HbDataForm*>(model()->parent());
-        QModelIndex index = static_cast<HbDataFormModel*>(this->model())->indexFromItem(this);
-        HbDataFormViewItem *viewItem = form->dataFormViewItem(index);
-        viewItem->deleteLater();
+        this->deleteLater();
         OstTrace0(TRACE_NORMAL, CPIAPITEM_DELETECONFIRMED, "CpIapItem::deleteConfirmed: Emit access point changed signal");
         emit iapChanged();
     } else {
@@ -276,12 +259,12 @@
     }
     // Disconnect because we need to do this only after returning
     // from accees point settings view
-    HbDataForm *form = static_cast<HbDataForm*>(model()->parent());
-    disconnect(
-        form, 
+    CpItemDataHelper *itemDataHelper = new CpItemDataHelper();
+    itemDataHelper->disconnectFromForm( 
         SIGNAL(itemShown(const QModelIndex)),
         this, 
         SLOT(updateIap(const QModelIndex)));
+    delete itemDataHelper;
     OstTrace0( TRACE_FLOW, DUP1_CPIAPITEM_UPDATEIAP_EXIT, "CpIapItem::updateIap exit" );
 }
 
@@ -294,16 +277,16 @@
 {
     OstTraceFunctionEntry0(CPIAPITEM_CREATESETTINGVIEW_ENTRY);
     CpBaseSettingView *view = NULL;
+    CpItemDataHelper *itemDataHelper = new CpItemDataHelper();
     if (mBearerPlugin != NULL) {
-        HbDataForm *form = static_cast<HbDataForm*>(model()->parent()); 
-        bool connected = connect(
-            form, 
+        CpIapItem *iap = const_cast<CpIapItem*>(this);
+        itemDataHelper->connectToForm( 
             SIGNAL(itemShown(const QModelIndex)),
-            this, 
+            iap, 
             SLOT(updateIap(const QModelIndex)));
-        Q_ASSERT(connected);
         view = mBearerPlugin->createSettingView(mIapId);
     }
+    delete itemDataHelper;
     OstTraceFunctionExit0(CPIAPITEM_CREATESETTINGVIEW_EXIT);
     return view;
 }
@@ -374,13 +357,9 @@
     OstTraceFunctionEntry0(CPIAPITEM_SAVESHARE_ENTRY);
     try {
         CmConnectionMethodShim *cm;
-        if (mDestId != 0) {
-            CmDestinationShim *source = mCmm->destination(mDestId);
-            cm = source->connectionMethodByID(mIapId);
-            delete source;
-        } else {
-            cm = mCmm->connectionMethod(mIapId);
-        }
+        CmDestinationShim *source = mCmm->destination(mDestId);
+        cm = source->connectionMethodByID(mIapId);
+        delete source;
         CmDestinationShim *target = mCmm->destination(id);
         target->addConnectionMethod(cm);
         target->update();
@@ -461,7 +440,7 @@
                        access point.
  */
 HbMenu *CpIapItem::createItemMenu(
-    CMManagerShim::CmmProtectionLevel protLvl,
+    bool cmConnected,
     const QPointF &position)
 {
     OstTraceFunctionEntry0(CPIAPITEM_CREATEITEMMENU_ENTRY);
@@ -484,16 +463,11 @@
     connected = connect(shareIapAction, SIGNAL(triggered()), this, SLOT(shareIap()));
     Q_ASSERT(connected);
        
-    if (protLvl == CMManagerShim::ProtLevel1) {
-        // Disable operations for protected destinations
+    if (cmConnected) {
+        // Disable operations for connected APs
         moveIapAction->setDisabled(true);
         deleteIapAction->setDisabled(true);
         shareIapAction->setDisabled(true);
-    } else if (protLvl == CMManagerShim::ProtLevel3) {
-        // Disable operations for protected access points.
-        moveIapAction->setDisabled(mProtected);
-        deleteIapAction->setDisabled(mProtected);
-        shareIapAction->setDisabled(mProtected);
     }
     
     // Can't share uncategorised APs
--- a/cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp	Fri May 14 16:15:46 2010 +0300
@@ -20,6 +20,7 @@
 #include <HbDataForm>
 #include <HbDataFormModel>
 #include <cpplugininterface.h>
+#include <cppluginutility.h>
 #include <cpsettingformitemdata.h>
 #include <cpitemdatahelper.h>
 
@@ -51,38 +52,38 @@
 CpIpSettingsView::CpIpSettingsView(QGraphicsItem *parent) :
     CpBaseSettingView(0, parent)
 {
-    HbDataForm *form = settingForm();
-    if (form) {
-        HbDataFormModelItem *modelItem;
-        CpPluginInterface *plugin = NULL;
-        QDir pluginsDir("\\resource\\qt\\plugins\\controlpanel");
-        QPluginLoader pluginLoader;
+    HbDataForm *form = new HbDataForm();
+    this->setWidget(form);
+    CpPluginUtility::addCpItemPrototype(form);
+    HbDataFormModel *model = new HbDataFormModel(form);
 
-        HbDataFormModel *model = new HbDataFormModel;
-
-        mItemDataHelper = new CpItemDataHelper();
-        mItemDataHelper->setParent(this);
+    // The parameter given as 0 is a HbDataForm pointer, not parent
+    mItemDataHelper = new CpItemDataHelper(0);
+    mItemDataHelper->setParent(this);
+    
+    HbDataFormModelItem *modelItem;
+    CpPluginInterface *plugin = NULL;
+    QDir pluginsDir("\\resource\\qt\\plugins\\controlpanel");
+    QPluginLoader pluginLoader;
         
-        // Load listed child plugins
-        for (int i = 0; !ipSettingsPlugins[i].isEmpty(); i++) {
-            pluginLoader.setFileName(pluginsDir.absoluteFilePath(ipSettingsPlugins[i]));
-            plugin = qobject_cast<CpPluginInterface *>(pluginLoader.instance());
-            if (plugin) {
-                QList<CpSettingFormItemData*> formDataItemList =
-                    plugin->createSettingFormItemData(*mItemDataHelper);
-                for (int j = 0; j < formDataItemList.count(); j++) {
-                    modelItem = formDataItemList.at(j);
-                    if (modelItem) {
-                        model->appendDataFormItem(modelItem);
-                    }
+    // Load listed child plugins
+    for (int i = 0; !ipSettingsPlugins[i].isEmpty(); i++) {
+        pluginLoader.setFileName(pluginsDir.absoluteFilePath(ipSettingsPlugins[i]));
+        plugin = qobject_cast<CpPluginInterface *>(pluginLoader.instance());
+        if (plugin) {
+            QList<CpSettingFormItemData*> formDataItemList =
+                plugin->createSettingFormItemData(*mItemDataHelper);
+            for (int j = 0; j < formDataItemList.count(); j++) {
+                modelItem = formDataItemList.at(j);
+                if (modelItem) {
+                    model->appendDataFormItem(modelItem);
                 }
             }
         }
+    }
 
-        form->setModel(model);
-        model->setParent(form);
-        mItemDataHelper->bindToForm(form);
-    }
+    mItemDataHelper->bindToForm(form);
+    form->setModel(model);
 }
 
 /*!
--- a/cmmanager/cppacketdataapplugin/src/cppacketdataapadvancedview.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/src/cppacketdataapadvancedview.cpp	Fri May 14 16:15:46 2010 +0300
@@ -51,15 +51,13 @@
         mCmConnectionMethod(cmConnectionMethod)
 {
     // Construct packet data AP settings UI
-    mForm = settingForm();
-    if (mForm) {
-        mModel = new HbDataFormModel(mForm);
-
-        // Add advanced settings groups
-        createAdvancedSettings();
-        
-        mForm->setModel(mModel);
-    }
+    mForm = new HbDataForm();
+    this->setWidget(mForm);
+    mModel = new HbDataFormModel(mForm);
+    mForm->setModel(mModel);
+    
+    // Add advanced settings groups
+    createAdvancedSettings();
 }
 
 /*!
--- a/cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp	Fri May 14 16:15:46 2010 +0300
@@ -90,25 +90,23 @@
     Q_ASSERT(status);
 
     // Construct packet data AP settings UI
-    mForm = settingForm();
-    if (mForm) {
-        mModel = new HbDataFormModel(mForm);
-
-        // Add access point settings group
-        createAccessPointSettingsGroup();
-        
-        mForm->setModel(mModel);
+    mForm = new HbDataForm();
+    this->setWidget(mForm);
+    mModel = new HbDataFormModel(mForm);
+    mForm->setModel(mModel);
+    
+    // Add access point settings group
+    createAccessPointSettingsGroup();
         
-        status = connect(
-            mForm,
-            SIGNAL(itemShown(const QModelIndex)),
-            this,
-            SLOT(setEditorPreferences(const QModelIndex)));
-        Q_ASSERT(status);
+    status = connect(
+        mForm,
+        SIGNAL(itemShown(const QModelIndex)),
+        this,
+        SLOT(setEditorPreferences(const QModelIndex)));
+    Q_ASSERT(status);
 
-        // Expand Access point settings group
-        mForm->setExpanded(mModel->indexFromItem(mApSettingsGroupItem), true);
-    }
+    // Expand Access point settings group
+    mForm->setExpanded(mModel->indexFromItem(mApSettingsGroupItem), true);
     
     OstTraceFunctionExit0(CPPACKETDATAAPVIEW_CPPACKETDATAAPVIEW_EXIT);
 }
@@ -577,7 +575,8 @@
 {
     OstTraceFunctionEntry0(CPPACKETDATAAPVIEW_SETEDITORPREFERENCES_ENTRY);
     
-    HbDataFormViewItem *viewItem = mForm->dataFormViewItem(modelIndex);
+    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
+        (mForm->itemByIndex(modelIndex));
     HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
     
     if (modelItem == mConnectionNameItem
@@ -592,45 +591,45 @@
         
         if (modelItem == mConnectionNameItem) {
             // Setup editor for connection name
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             edit->setInputMethodHints(Qt::ImhNoPredictiveText); 
             edit->setMaxLength(CMManagerShim::CmNameLength);
         } else if (modelItem == mAccessPointNameItem) {
             // Setup editor for packet data AP name
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText
                 | Qt::ImhPreferLowercase);
             edit->setMaxLength(CMManagerShim::PacketDataAPNameLength);
         } else if (modelItem == mUserNameItem) {
             // Setup editor for user name
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             editInterface.setEditorClass(HbInputEditorClassUsername);
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText
                 | Qt::ImhPreferLowercase);
             edit->setMaxLength(CMManagerShim::PacketDataIFAuthNameLength);
         } else if (modelItem == mPasswordItem) {
             // Setup editor for password
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             editInterface.setEditorClass(HbInputEditorClassPassword);
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText
                 | Qt::ImhPreferLowercase);
             edit->setMaxLength(CMManagerShim::PacketDataIFAuthPassLength);
         } else { /* mHomepageItem */
             // Setup editor for URL
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             editInterface.setFilter(HbUrlFilter::instance());
             editInterface.setEditorClass(HbInputEditorClassUrl);
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText
                 | Qt::ImhPreferLowercase);
--- a/cmmanager/cpwlanapplugin/src/cpwlanapadvancedview.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpwlanapplugin/src/cpwlanapadvancedview.cpp	Fri May 14 16:15:46 2010 +0300
@@ -50,16 +50,14 @@
         mModel(0),
         mCmConnectionMethod(cmConnectionMethod)
 {
-    // Construct packet data AP settings UI
-    mForm = settingForm();
-    if (mForm) {
-        mModel = new HbDataFormModel(mForm);
+    // Construct WLAN AP advanced settings UI
+    mForm = new HbDataForm();
+    this->setWidget(mForm);
+    mModel = new HbDataFormModel(mForm);
+    mForm->setModel(mModel);
 
-        // Add advanced settings groups
-        createAdvancedSettings();
-        
-        mForm->setModel(mModel);
-    }
+    // Add advanced settings groups
+    createAdvancedSettings();
 }
 
 /*!
--- a/cmmanager/cpwlanapplugin/src/cpwlanapview.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/cpwlanapplugin/src/cpwlanapview.cpp	Fri May 14 16:15:46 2010 +0300
@@ -35,6 +35,7 @@
 #include <wlanmgmtcommon.h>
 #include <cpitemdatahelper.h>
 #include <cpsettingformitemdata.h>
+#include <cppluginutility.h>
 #include <cmconnectionmethod_shim.h>
 #include <cpwlansecurityplugininterface.h>
 
@@ -99,34 +100,34 @@
     Q_ASSERT(status);
 
     // Construct WLAN AP settings UI
-    mForm = settingForm();
-    if (mForm) {
-        mModel = new HbDataFormModel(mForm);
-
-        // The parameter given as 0 is a HbDataForm pointer, not parent
-        mItemDataHelper = new CpItemDataHelper(0);
-        mItemDataHelper->setParent(this);
-
-        // Add access point settings group
-        createAccessPointSettingsGroup();
-        
-        mItemDataHelper->bindToForm(mForm);
-        mForm->setModel(mModel);
+    mForm = new HbDataForm();
+    this->setWidget(mForm);
+    CpPluginUtility::addCpItemPrototype(mForm);
+    mModel = new HbDataFormModel(mForm);
+    
+    // The parameter given as 0 is a HbDataForm pointer, not parent
+    mItemDataHelper = new CpItemDataHelper(0);
+    mItemDataHelper->setParent(this);
 
-        status = connect(
-            mForm,
-            SIGNAL(itemShown(const QModelIndex)),
-            this,
-            SLOT(setEditorPreferences(const QModelIndex)));
-        Q_ASSERT(status);
+    // Add access point settings group
+    createAccessPointSettingsGroup();
+        
+    mItemDataHelper->bindToForm(mForm);
+    mForm->setModel(mModel);
 
-        // Expand access point settings group
-        mForm->setExpanded(mModel->indexFromItem(mApSettingsGroupItem), TRUE);
+    status = connect(
+        mForm,
+        SIGNAL(itemShown(const QModelIndex)),
+        this,
+        SLOT(setEditorPreferences(const QModelIndex)));
+    Q_ASSERT(status);
+
+    // Expand access point settings group
+    mForm->setExpanded(mModel->indexFromItem(mApSettingsGroupItem), TRUE);
         
-        // Add security settings group if necessary
-        updateSecurityGroup(
-            mSecurityModeItem->contentWidgetData("currentIndex").toInt());
-    }
+    // Add security settings group if necessary
+    updateSecurityGroup(
+        mSecurityModeItem->contentWidgetData("currentIndex").toInt());
     
     OstTraceFunctionExit0(CPWLANAPVIEW_CPWLANAPVIEW_EXIT);
 }
@@ -667,7 +668,8 @@
 {
     OstTraceFunctionEntry0(CPWLANAPVIEW_SETEDITORPREFERENCES_ENTRY);
     
-    HbDataFormViewItem *viewItem = mForm->dataFormViewItem(modelIndex);
+    HbDataFormViewItem *viewItem = qobject_cast<HbDataFormViewItem *>
+        (mForm->itemByIndex(modelIndex));
     HbDataFormModelItem *modelItem = mModel->itemFromIndex(modelIndex);
     
     if (modelItem == mConnectionNameItem
@@ -680,26 +682,25 @@
         
         if (modelItem == mConnectionNameItem) {
             // Setup editor for connection name
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             edit->setInputMethodHints(Qt::ImhNoPredictiveText); 
             edit->setMaxLength(CMManagerShim::CmNameLength);
         } else if (modelItem == mWlanNetworkNameItem) {
             // Setup editor for WLAN SSID
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
-            // TODO: Remove comment, should be in w12
-            //editInterface.setEditorClass(HbInputEditorClassNetworkName); 
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setEditorClass(HbInputEditorClassNetworkName); 
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
             edit->setMaxLength(CMManagerShim::WlanSSIDLength);
         } else { /* mHomepageItem */
             // Setup editor for URL
-            editInterface.setInputMode(HbInputModeNone);
-            editInterface.setConstraints(HbEditorConstraintLatinAlphabetOnly);
+            editInterface.setMode(HbInputModeNone);
+            editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
             editInterface.setFilter(HbUrlFilter::instance());
             editInterface.setEditorClass(HbInputEditorClassUrl);
-            editInterface.setLocalDigitType(HbDigitTypeNone);
+            editInterface.setDigitType(HbDigitTypeNone);
             edit->setInputMethodHints(
                 Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
             edit->setMaxLength(CMManagerShim::CmStartPageLength);
--- a/cmmanager/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ b/cmmanager/group/bld.inf	Fri May 14 16:15:46 2010 +0300
@@ -27,4 +27,3 @@
 // None
 
 #include "../cmmgr/group/bld.inf"
-#include "../gsconnsettingsplugin/group/bld.inf"
\ No newline at end of file
--- a/cmmanager/gsconnsettingsplugin/data/200255B8.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2007 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:    ECOM resource file for Connectivity Settings plugin.
-*
-*/
-
-#include <registryinfo.rh>
-
-
-RESOURCE REGISTRY_INFO theInfo
-	{
-	dll_uid     = 0x200255B8;
-	interfaces  = 
-		{
-		INTERFACE_INFO
-			{
-			interface_uid   = 0x10207236;
-			implementations = 
-				{
-				IMPLEMENTATION_INFO
-					{
-					implementation_uid  = 0x200255B9;
-					version_no          = 1;
-					display_name        = "Connectivity Settings Plugin"; // Debug name
-					default_data        = "0x10207250";// Parent UID
-					opaque_data         = "69";// Order number
-					}
-				};
-			}
-		};
-	}
-
--- a/cmmanager/gsconnsettingsplugin/data/gsconnsettingspluginrsc.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,507 +0,0 @@
-/*
-* Copyright (c) 2007 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:    Resource file for Connectivity Settings plugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    CNST // 4 letter ID
-
-//  INCLUDES
-#include    "gsconnsettingsplugin.hrh"
-#include    <gsconnsettingsplugin.loc>
-#include    <data_caging_paths_strings.hrh>
-#include    <avkon.loc> // Avkon localized strings
-#include    <avkon.rh>
-#include    <avkon.mbg>
-#include    <avkon.rsg>
-#include    <eikon.rh>
-#include    <EIKCORE.rsg>
-#include    <eikon.rsg>
-#include    <gscommon.rh>
-#include    <GSApp.rsg>
-#include    <gs.loc> // Common localized GS strings
-#include    <uikon.rh>
-
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_setting_listbox
-// Common listbox editor resource for setting pages.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE LISTBOX r_setting_listbox
-    {
-    flags = EEikListBoxMultipleSelection;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_gs_conn_settings_menubar_open_exit
-// GS menu with 'Open', 'Help' and 'Exit'items.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_gs_conn_settings_menubar_open_exit
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_gs_conn_settings_menu_item_exit;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_gs_conn_settings_menu_item_help;
-            },
-        MENU_TITLE
-            {
-            menu_pane = r_gs_conn_settings_menu_item_open;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//
-// r_gs_conn_settings_menu_item_open
-// Resource for 'Open' or 'Change' text in menu 
-//
-//----------------------------------------------------
-
-RESOURCE MENU_PANE r_gs_conn_settings_menu_item_open
-     {
-     items =
-         {
-         MENU_ITEM
-             {
-             command = EGSConnSettMenuOpen;
-             txt = qtn_set_options_open;
-             flags = EEikMenuItemAction;
-             },
-         MENU_ITEM
-             {
-             command = EGSConnSettMenuChange;
-             txt = qtn_set_options_change;
-             flags = EEikMenuItemAction;
-             }
-         };
-     }
- 
-// -----------------------------------------------------------------------------
-//
-// r_gs_conn_settings_menu_item_exit
-// Resource for 'Exit' text in menu
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_conn_settings_menu_item_exit
-     {
-     items =
-         {
-         MENU_ITEM
-             {
-             command = EAknCmdExit;
-             txt = qtn_options_exit;
-             }
-         };
-     }
-
-// -----------------------------------------------------------------------------
-//
-// r_gs_conn_settings_menu_item_help
-// Resource for 'Help' text in menu
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE MENU_PANE r_gs_conn_settings_menu_item_help
-     {
-     items =
-         {
-         MENU_ITEM
-             {
-             command = EAknCmdHelp;
-             txt = qtn_options_help;
-             }
-         };
-     }
-
-//----------------------------------------------------
-//
-// r_gs_conn_settings_plugin_view
-// Resource for the main view of Connectivity Settings plugin
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_gs_conn_settings_plugin_view
-    {
-    menubar = r_gs_conn_settings_menubar_open_exit;
-    cba = r_gs_conn_settings_softkeys_options_back_open;
-    }
-
-//----------------------------------------------------
-//
-// r_gs_conn_settings_softkeys_options_back_open
-// Resource for the main view buttons
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_gs_conn_settings_softkeys_options_back_open
-     {
-     buttons =
-         {
-         CBA_BUTTON 
-             {
-             id=EAknSoftkeyOptions; 
-             txt = text_softkey_option;
-             },
-         CBA_BUTTON 
-             {
-             id=EAknSoftkeyBack; 
-             txt = text_softkey_back; 
-             },
-         CBA_BUTTON 
-             {
-             id=EGSConnSettMskGeneral;
-             txt = qtn_msk_open;
-             }
-         };
-     }
-
-//----------------------------------------------------
-//
-// r_gs_conn_settings_plugin_view_title
-// Connectivity Settings plugin view title.
-//
-//----------------------------------------------------
-//
-RESOURCE TITLE_PANE r_gs_conn_settings_plugin_view_title
-    {
-    txt = qtn_occ_title_connectivity_settings;
-    }
-
-//----------------------------------------------------
-//
-// r_gs_conn_settings_view_caption
-// Plugin name in Connectivity folder
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_conn_settings_view_caption
-    {
-    buf = qtn_set_folder_occ_connectivity_settings;
-    }
-
-//----------------------------------------------------
-//    
-// r_conn_settings_lbx    
-// Resource for main view listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE GS_FEATURE_ARRAY r_conn_settings_lbx
-    {
-    items =
-        {
-        GS_FEATURE
-            {
-            txt = " \t"qtn_occ_sett_usage_of_wlan"\t\t"; 
-            item = EGSSettIdUsageOfWlan;
-            type = EGSListBoxItemTypeIsAlwaysVisible;            
-            },
-        GS_FEATURE
-            {
-            txt = " \t"qtn_occ_sett_data_usage_home_nw"\t\t"; 
-            item = EGSSettIdDataUsageHomeNw;
-            type = EGSListBoxItemTypeIsAlwaysVisible;            
-            },
-        GS_FEATURE
-            {
-            txt = " \t"qtn_occ_sett_data_usage_abroad"\t\t"; 
-            item = EGSSettIdDataUsageAbroad;
-            type = EGSListBoxItemTypeIsAlwaysVisible;            
-            }
-        };    
-    }
-
-//----------------------------------------------------
-//    
-// r_conn_settings_lbx_nowlan
-// Resource for main view listbox.
-//
-//----------------------------------------------------
-//
-RESOURCE GS_FEATURE_ARRAY r_conn_settings_lbx_nowlan
-    {
-    items =
-        {
-        GS_FEATURE
-            {
-            txt = " \t"qtn_occ_sett_data_usage_home_nw"\t\t"; 
-            item = EGSSettIdDataUsageHomeNw;
-            type = EGSListBoxItemTypeIsAlwaysVisible;            
-            },
-        GS_FEATURE
-            {
-            txt = " \t"qtn_occ_sett_data_usage_abroad"\t\t"; 
-            item = EGSSettIdDataUsageAbroad;
-            type = EGSListBoxItemTypeIsAlwaysVisible;            
-            }
-        };    
-    }
-
-//----------------------------------------------------
-//    
-//    r_conn_settings_lbx_txt
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_conn_settings_lbx_txt
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_usage_of_wlan;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-//    r_conn_settings_lbx_txt_nowlan
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_conn_settings_lbx_txt_nowlan
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_usage_of_new_wlan_setting_page_lbx
-// Resource for "Join new WLAN networks" listbox items
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_usage_of_wlan_setting_page_lbx
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_usage_of_wlan_known;
-            },                                       
-        LBUF
-            {
-            txt = qtn_occ_sett_usage_of_wlan_manual;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_abroad_setting_page
-// Resource for "" setting page
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_data_usage_abroad_setting_page
-    {
-    number = EAknSettingPageNoOrdinalDisplayed; 
-    label = qtn_occ_sett_data_usage_abroad;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknSetListBox;
-    editor_resource_id = r_setting_listbox;
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_abroad_setting_page_lbx
-// Resource for "" listbox items
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_data_usage_abroad_setting_page_lbx
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad_automatic;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad_confirm;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad_wlan_only;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_abroad_setting_page_lbx_nowlan
-// Resource for "" listbox items
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_data_usage_abroad_setting_page_lbx_nowlan
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad_automatic;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_abroad_confirm;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_home_nw_setting_page
-// Resource for "" setting page
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_SETTING_PAGE r_data_usage_home_nw_setting_page
-    {
-    number = EAknSettingPageNoOrdinalDisplayed; 
-    label = qtn_occ_sett_data_usage_home_nw;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknSetListBox;
-    editor_resource_id = r_setting_listbox;
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_home_nw_setting_page_lbx
-// Resource for "" listbox items
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_data_usage_home_nw_setting_page_lbx
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw_automatic;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw_confirm;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw_wlan_only;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_data_usage_home_nw_setting_page_lbx_nowlan
-// Resource for "" listbox items
-//
-//----------------------------------------------------
-//
-RESOURCE ARRAY r_data_usage_home_nw_setting_page_lbx_nowlan
-    {
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw_automatic;
-            },
-        LBUF
-            {
-            txt = qtn_occ_sett_data_usage_home_nw_confirm;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//    
-// r_gs_conn_settings_msk_label_open
-// "Open" text resource for MSK label 
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_conn_settings_msk_label_open
-    {
-    buf = qtn_set_options_open;
-    }
-
-//----------------------------------------------------
-//    
-// r_gs_conn_settings_msk_label_change
-// "Change" text resource for MSK label
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_gs_conn_settings_msk_label_change
-    {
-    buf = qtn_set_options_change;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// r_gs_conn_settings_rsk_label_exit
-// Exit text for RSK
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_gs_conn_settings_rsk_label_exit { buf = text_softkey_exit; }
-
-// End of file
--- a/cmmanager/gsconnsettingsplugin/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2007 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 file provides the information required for building
-*               Connectivity Settings plugin
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/gsconnsettingsplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH( gsconnsettingsplugin.iby )
-../rom/gsconnsettingspluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH( gsconnsettingspluginresources.iby )
-
-../loc/gsconnsettingsplugin.loc MW_LAYER_LOC_EXPORT_PATH( gsconnsettingsplugin.loc )
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE gsconnsettingsplugin.mif
-  OPTION HEADERFILE gsconnsettingsplugin.mbg
-  /* Using Connectivity plugin icon. Should be changed when correct (qgn_prop_cp_conn_settings) icon available */
-  OPTION SOURCES -c8,8 qgn_prop_cp_conn
-END
-
-PRJ_MMPFILES
-gsconnsettingsplugin.mmp
-
-PRJ_TESTMMPFILES
-
-//  End of File
--- a/cmmanager/gsconnsettingsplugin/group/gsconnsettingsplugin.mmp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2007 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:    Resource file for plugin.
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              gsconnsettingsplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x200255B8
-VENDORID            VID_DEFAULT
-
-
-USERINCLUDE         ../inc
-USERINCLUDE         ../data
-USERINCLUDE         ../loc
-USERINCLUDE         ../traces
-
-SYSTEMINCLUDE       /epoc32/include/ecom
-// Default system include paths for middleware layer modules.
-MW_LAYER_SYSTEMINCLUDE
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-APP_LAYER_SYSTEMINCLUDE
-#endif
-
-SOURCEPATH          ../src
-
-SOURCE              gsconnsettingspluginimpltable.cpp 
-SOURCE              gsconnsettingsplugin.cpp
-SOURCE              gsconnsettingsplugincontainer.cpp
-SOURCE              gsconnsettingspluginmodel.cpp gsconnsettingsselectiondlg.cpp
-
-START RESOURCE ../data/200255B8.rss
-	TARGET gsconnsettingsplugin.rsc
-END
-
-// View resources
-START RESOURCE ../data/gsconnsettingspluginrsc.rss
-DEPENDS gsapp.rsg
-	HEADER
-	TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-LIBRARY             egul.lib
-LIBRARY             aknskins.lib 
-LIBRARY             euser.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib// For RConeResourceLoader
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             GSFramework.lib
-LIBRARY             GSListBox.lib         // For CGSListBoxItemTextArray
-LIBRARY             FeatMgr.lib           // Feature manager
-LIBRARY             hlplch.lib            // for "Help" options menu
-LIBRARY             cmmanager.lib
-
-//Documents. Defining these is optional. Used only by IDE's file browser.
-//DOCUMENT            ./gsconnsettingspluginicons.mk
-
-DOCUMENT ../data/200255B8.rss
-DOCUMENT ../data/gsconnsettingspluginrsc.rss
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsmskobserver.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2006 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:  MSK key event observer interface
-*
-*/
-
-
-#ifndef GSCONNSETTINGSMSKOBSERVER_H
-#define GSCONNSETTINGSMSKOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-
-// Middle Softkey control ID.
-const TInt KGSConnSettingsMSKControlID = 3;
-
-/**
- *  Interface for MSK label change observers. 
- *
- *  @lib gsconnsettingsplugin.lib
- *  @since S60 5.0
- */
-NONSHARABLE_CLASS( MGSConnSettingsMskObserver )
-    {
-    public:
-        /**
-         * Notification to this observer to change MSK label if needed
-         */
-         virtual void CheckMiddleSoftkeyLabelL() = 0;
-    };
-
-#endif //GSCONNSETTINGSMSKOBSERVER_H
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* Copyright (c) 2007 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:    Header file for Connectivity Settings plugin.
-*
-*/
-
-
-#ifndef GSCONNSETTINGSPLUGIN_H
-#define GSCONNSETTINGSPLUGIN_H
-
-// Includes
-#include <gspluginloader.h>
-#include <gsbaseview.h>
-#include "gsconnsettingsmskobserver.h"
-
-#include <aknview.h>
-#include <eikclb.h>
-
-// Classes referenced
-class CAknViewAppUi;
-class RConeResourceLoader;
-class CGSConnSettingsPluginModel;
-class CGSConnSettingsPluginContainer;
-
-// Constants
-
-//Should we put these to .hrh 
-// This UID is used for both the view UID 
-// and the ECOM plugin implementation ID.
-const TUid KGSConnSettingsPluginUid = { 0x200255B9 };
-const int KGConnSettingsPluginCount = 10;
-
-_LIT( KGSConnSettingsPluginResourceFileName, "z:gsconnsettingspluginrsc.rsc" );
-_LIT( KGSConnSettingsPluginIconDirAndName, "z:gsconnsettingsplugin.mbm"); // Use KDC_BITMAP_DIR
-
-// CLASS DECLARATION
-
-/**
-* CConnSettingsPlugin view class.
-*
-* @since Series60_3.1
-*/
-class CGSConnSettingsPlugin : public CGSBaseView, public MGSPluginLoadObserver, public MGSConnSettingsMskObserver
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @return
-        */
-        static CGSConnSettingsPlugin* NewL( TAny* aInitParams );
-
-        /**
-        * Destructor.
-        */
-        ~CGSConnSettingsPlugin();
-
-// From CAknView
-
-        /**
-        * See base class.
-        */
-        TUid Id() const;
-        
-        /**
-        * Handles commands.
-        * @param aCommand Command to be handled.
-        * 
-        */
-        void HandleCommandL( TInt aCommand );
-        
-
-        /**
-        * See base class.
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-        /**
-        * See base class.
-        */
-        void DoDeactivate();
-        
-        /**
-        * See base class.
-        */
-        void HandleForegroundEventL( TBool aForeground );  
-
-        
-        /**
-        * From MEikMenuObserver.
-        * Changes MenuPane dynamically.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-        
-// From CGSParentPlugin
-
-        /**
-        * See base class.
-        */
-        TUid UpperLevelViewUid();
-
-        
-        /**
-        * See base class.
-        */
-        void GetHelpContext( TCoeHelpContext& aContext );
-
-// From CGSPluginInterface
-
-        /**
-        * See base class.
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-        * See base class.
-        */
-        CGulIcon* CreateIconL( const TUid aIconType );
-
-        /**
-        * See base class.
-        */
-        TInt PluginProviderCategory() const;
-
-        /**
-        * @see MGSPluginLoadObserver header file.
-        */
-        void HandlePluginLoaded( KGSPluginLoaderStatus aStatus );
-
-        
-        /**
-        * Updates listbox's item's value.
-        * @param aItemId An item which is updated.
-        * 
-        */
-        void UpdateListBoxL( TInt aItemId );
-
-        /**
-        * Get CGSConnSettingsPlugin's ccontainer.
-        */
-        CGSConnSettingsPluginContainer* Container();
-                
-        /**
-         * From MGSSensorMskObserver.
-         * Checks currently activated item in list and updates MSK label if needed
-         */
-        void CheckMiddleSoftkeyLabelL();
-        
-        /**
-         * From MEikListBoxObserver (through CGSBaseView)
-         */
-        void HandleListBoxEventL( CEikListBox* aListBox,
-                    TListBoxEvent aEventType );
-        
-        
-    protected: // New
-        /**
-        * C++ default constructor.
-        */
-        CGSConnSettingsPlugin();
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-        
-    private:
-
-        void NewContainerL();
-        
-        /**
-         * From CGSBaseView. Handles list box selection
-         */
-        void HandleListBoxSelectionL();
-
-        /**
-        * Show "Join new WLAN networks" setting page
-        */
-        void ShowUsageOfWlanSettingPageL();
-        
-        /**
-        * Show "Cellular data usage abroad" setting page
-        */
-        void ShowDataUsageAbroadSettingPageL();
-        
-        /**
-        * Show "Cellular data usage in home network" setting page
-        */
-        void ShowDataUsageInHomeNwSettingPageL();
-        
-        /**
-         * Removes current label from MSK
-         */
-        void RemoveCommandFromMSK();
-
-        /**
-         * Adds new label for MSK
-         *
-         * @param aResourceId Text of the new label
-         * @param aCommandId Command id of the MSK
-         */
-        void SetMiddleSoftKeyLabelL( const TInt aResourceId, const TInt aCommandId );       
-        
-        
-    private: //Private data
-
-        /**
-         * Resource loader
-         */
-        RConeResourceLoader iResourceLoader;
-
-        /**
-         * Pointer to model.
-         * Owned by CGSConnSettingsPluginContainer
-         */
-        CGSConnSettingsPluginModel *iModel;
-
-        /**
-         * Asynchronous loader for the GS plug-ins.
-         */
-        CGSPluginLoader* iPluginLoader;
-        
-        /**
-         * Array of the child plugins
-         */
-        CArrayPtrFlat<CGSPluginInterface>* iPluginArray;
-
-        /**
-         * Flag is set when wlan is supported
-         */
-        TBool iIsWlanSupported;
-    };
-
-
-#endif // GSCONNSETTINGSPLUGIN_H
-// End of File
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.hrh	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Contains common definitions for Connectivity Settings plugin
-*
-*/
-
-
-#ifndef GSCONNECTIVITYSETTINGSPLUGIN_HRH
-#define GSCONNECTIVITYSETTINGSPLUGIN_HRH
-
-// commands
-enum TMenuCommands
-    {     // GS plugin commands starts from 500
-    EGSConnSettMenuOpen = 550, // Menu command Open
-    EGSConnSettMenuChange,     // Menu command change
-    EGSConnSettMskGeneral,     // MSK general in main view. Can be either 'Change' or 'Open'
-    EGSConnSettMenuExit        // 'Exit' menu command. Overridden to take control of exit
-    };
-
-// Main view item identifiers
-enum {
-    EGSSettIdUsageOfWlan,
-    EGSSettIdDataUsageHomeNw,
-    EGSSettIdDataUsageAbroad,
-    EGSExtPluginsListItemId
-    };
-
-//Indexes for usage of new WLAN values
-//These have to match to the order of r_usage_of_wlan_setting_page_lbx
-//resource in gsconnsettingsplugin.rss
-enum {
-    EUsageOfWlanKnown = 0,
-    EUsageOfNewWlanManual = 1
-    };
-
-//Indexes for data usage abroad values
-//These have to match to the order of r_data_usage_abroad_setting_page_lbx
-//resource in gsconnsettingsplugin.rss
-enum {
-    EDataUsageAbroadAutomatic = 0,
-    EDataUsageAbroadConfirm = 1,
-    EDataUsageAbroadWlanOnly = 2,
-    EDataUsageAbroadDisabled = 3
-    };
-
-//Indexes for data usage in home NW values
-//These have to match to the order of r_data_usage_home_nw_setting_page_lbx
-//resource in gsconnsettingsplugin.rss
-enum {
-    EDataUsageHomeNwAutomatic = 0,
-    EDataUsageHomeNwConfirm = 1,
-    EDataUsageHomeNwWlanOnly = 2,
-    EDataUsageHomeNwDisabled = 3
-    };
-
-#endif //  GSCONNECTIVITYSETTINGSPLUGIN_HRH
-
-//End of File
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugincontainer.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Container for the Connectivity Settings Plugin
-*
-*/
-
-
-#ifndef GSCONNSETTINGSPLUGINCONTAINER_H
-#define GSCONNSETTINGSPLUGINCONTAINER_H
-
-// INCLUDES
-#include "gsconnsettingspluginmodel.h"
-#include <gsbasecontainer.h>
-
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-class CGSListBoxItemTextArray;
-class CGSPluginInterface;
-class MGSConnSettingsMskObserver;
-
-// CLASS DECLARATION
-
-/**
-*  GSConnSettingsPluginContainer container class
-*
-*  Container class for Connectivity Settings plugin view
-*  @lib gsconnsettingsplugin.lib
-*  @since Series 60_3.1
-*/
-class CGSConnSettingsPluginContainer : public CGSBaseContainer
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Symbian OS constructor.
-        * @param aRect Listbox's rect.
-        * 
-        */
-        void ConstructL( const TRect& aRect );
-        
-        /**
-        * Destructor.
-        */
-        ~CGSConnSettingsPluginContainer();
-        
-        /**
-        * Constructor
-        */
-        CGSConnSettingsPluginContainer( MGSConnSettingsMskObserver& aMskObserver );
-
-    public: //new
-
-        /**
-        * Updates listbox's item's value.
-        * @since Series 60_3.1
-        * @param aItemId An item which is updated.
-        */
-        void UpdateListBoxL( TInt aFeatureId );
-        
-        /**
-        * Retrieves the currently selected listbox feature id
-        * @since Series 60_3.1
-        * @return feature id.
-        */
-        TInt CurrentFeatureId() const;
-        
-        /**
-         * Return its member variable iMode
-         * @param
-         */
-        CGSConnSettingsPluginModel* Model();
-        
-        /**
-         * Finds user selected plugin from plugin array
-         *
-         * @return Plugin which is selected in the lbx or leaves 
-         * with KErrnotFound if no plugins exist.
-         */
-        CGSPluginInterface* SelectedPluginL();
-
-        /**
-         * Makes ECOM plugin item
-         */
-        void MakeECOMPluginItemL();
-
-        /**
-        * Sets iPluginArray member.
-        * @param aPluginArray Pointer to loaded ECOM plugin array
-        */
-        void SetPluginArray ( CArrayPtrFlat<CGSPluginInterface>* aPluginArray );
-        
-        
-    protected: // from CGSBaseContainer
-        void ConstructListBoxL( TInt aResLbxId );
-        
-    private: // new
-        // create listbox from resource
-        void CreateListBoxItemsL();
-
-        /**
-         * Adds items from iUsageOfWlanItems to main views list
-         */
-        void MakeUsageOfWlanNetworksItemL();
-                
-        /**
-         * Adds items from iDataUsageAbroadItems to main views list
-         */
-        void MakeDataUsageAbroadItemL();
-        
-        /**
-         * Adds items from iDataUsageHomeNwItems to main views list
-         */
-        void MakeDataUsageHomeNwItemL();
-        
-        /**
-         * From CGSBaseContainer. Constructs correct textformat for one list box item 
-         * and adds it in listbox
-         *
-         * @param aPos Position of text in listbox
-         * @param aFirstLabel Text in first row of listbox item
-         * @param aSecondLabel Text in second row of listbox item
-         */
-        void AppendListItemL( const TInt aPos, 
-                              const TDesC16& aFirstLabel, 
-                              const TDesC16& aSecondLabel );
-               
-        /**
-         * Handles changes in MSK label between item changes in listbox
-         */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-                        
-        /**
-         * Return list index according to wlan variation.
-         */
-        TInt Index( TInt aIndex );
-        
-        // from CGSBaseContainer
-        /**
-        * Required for help.
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-        
-    private: // Data
-        
-        /**
-        * This holds items from resource R_USAGE_OF_WLAN_SETTING_PAGE_LBX
-        */
-        CDesCArrayFlat* iUsageOfWlanItems;
-                
-        /**
-        * This holds items from resource R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX
-        */
-        CDesCArrayFlat* iDataUsageAbroadItems;
-        
-        /**
-        * This holds items from resource R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX
-        */
-        CDesCArrayFlat* iDataUsageHomeNwItems;
-        
-        /**
-         * Listbox item array.
-         */
-        CGSListBoxItemTextArray* iListboxItemArray;
-        
-        /**
-         * Listbox item text array. Contains listbox item texts
-         */
-        CDesCArray* iListBoxTextArray;
-               
-        /** 
-         * General list box items. Contains localized listbox texts
-         * from R_CONN_SETTINGS_LBX_TXT resource .
-         */
-        CDesCArrayFlat* iListItems;
-        
-        // plugin model
-        CGSConnSettingsPluginModel* iModel;        
-
-        /**
-         * Array of the child plugins. Owned by CGSConnSettingsPlugin.
-         */
-        CArrayPtrFlat<CGSPluginInterface>* iPluginArray;
-        
-        /**
-         * General item count. Used when calculating item indexes to ECOM plugins
-         */
-        TInt iGeneralItemCount;
-        
-        /**
-         * Reference to main view. Does not own
-         */
-        MGSConnSettingsMskObserver& iMskObserver;
-
-        /**
-         * Flag is set when wlan is supported
-         */
-        TBool iIsWlanSupported;              
-    };
-
-#endif //GSCONNSETTINGSPLUGINCONTAINER_H
-
-//End of File
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingspluginmodel.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Display Settings model.
-*
-*/
-
-#ifndef GSCONNSETTINGSPLUGINMODEL_H
-#define GSCONNSETTINGSPLUGINMODEL_H
-
-#include <e32base.h>
-#include <cmgenconnsettings.h>
-
-class CGSConnSettingsPluginContainer;
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DEFINITION
-/**
-*   CGSConnSettingsPluginModel is the model class of Connectivity Settings plugin.
-*  It provides functions to get and set setting values.
-*  @lib gsconnsettingsplugin.lib
-*  @since Series 60_3.1
-
-*/
-NONSHARABLE_CLASS( CGSConnSettingsPluginModel ): public CBase
-    {
-    public:  // Constructor and destructor
-        /**
-        * Two-phased constructor
-        */
-        static CGSConnSettingsPluginModel* NewL();
-
-        /**
-        * Destructor
-        */
-        ~CGSConnSettingsPluginModel();
-
-    public:
-        /**
-        * Loads settings by using CMManager's general connection settings API
-        */
-        void LoadSettingsL();
-
-        /**
-        * Saves settings by using CMManager's general connection settings API
-        */
-        void SaveSettingsL();
-
-        /**
-        * Gets and maps value from general connection settings API to match index in UI
-        * @return TInt
-        */ 
-        TInt UsageOfWlan();
-        
-        /**
-        * Gets and maps value from general connection settings API to match index in UI
-        * @return TInt
-        */ 
-        TInt DataUsageAbroad();
-
-        /**
-        * Gets and maps value from general connection settings API to match index in UI
-        * @return TInt
-        */ 
-        TInt DataUsageInHomeNw();
-
-        /**
-        * Maps UI index to according general connection setting API value
-        * @param aValue index to be mapped to API value
-        */
-        void SetUsageOfWlan( TInt aValue );
-        
-        /**
-        * Maps UI index to according general connection setting API value
-        * @param aValue index to be mapped to API value
-        */
-        void SetDataUsageAbroad( TInt aValue );
-
-        /**
-        * Maps UI index to according general connection setting API value
-        * @param aValue index to be mapped to API value
-        */
-        void SetDataUsageInHomeNw( TInt aValue );
-        
-        /**
-         * @param
-         */
-        void SetOwner( CGSConnSettingsPluginContainer* aPlugin);
-
-    private: // Private constructors
-
-        /**
-        * Default C++ contructor
-        */
-        CGSConnSettingsPluginModel();
-
-        /**
-        * Symbian OS default constructor
-        * @return void
-        */
-        void ConstructL();
-
-    private:
-        /**
-        * Pointer to container class
-        */
-        CGSConnSettingsPluginContainer* iContainer;
-
-        /**
-        * Struct to hold current settings
-        */
-        TCmGenConnSettings iSettings;
-        
-    };
-
-#endif //GSCONNSETTINGSPLUGINMODEL_H
-
--- a/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsselectiondlg.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* 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 "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:    Header file for CGSConnSettingsSelectionDlg class
-*
-*/
-
-#ifndef GSCONNSETTINGSSELECTIONDLG_H
-#define GSCONNSETTINGSSELECTIONDLG_H
-
-#include <aknradiobuttonsettingpage.h>
-#include <AknInfoPopupNoteController.h>
-
-class CGSConnSettingsSelectionDlg : public CAknRadioButtonSettingPage
-    {
-    
-public:
-    
-    /**
-     * Symbian OS two-phased constructor
-     * 
-     * @param aResourceID               Text at top of setting pane
-     * @param aCurrentSelectionIndex    Current slected item
-     * @param aItemArray                Pointer to array of loaded resource texts for radio buttons
-     * @param aPopupResource            ID of popup note resource array
-     * @return 
-     * 
-    */
-    static CGSConnSettingsSelectionDlg* NewL(TInt aResourceID, 
-            TInt& aCurrentSelectionIndex, 
-            const MDesCArray* aItemArray,
-            TInt aPopupResource);
-    
-    /**
-     * Symbian OS two-phased constructor
-     * 
-     * @param aPopupResource    ID of popup note resource array
-    */
-    void ConstructL(TInt aPopupResource);
-    
-    /**
-     * C++ default constructor.
-     *
-     * @param aResourceID               Text at top of setting pane
-     * @param aCurrentSelectionIndex    Current slected item
-     * @param aItemArray                Pointer to array of loaded resource texts for radio buttons
-     * @param aPopupResource            ID of popup note resource array
-    */
-    CGSConnSettingsSelectionDlg( 
-            TInt aResourceID, 
-            TInt& aCurrentSelectionIndex, 
-            const MDesCArray* aItemArray,
-            TInt aPopupResource);
-    /**
-     * Destructor.
-     */
-    virtual ~CGSConnSettingsSelectionDlg();
-    
-private:
-    //From CAknListBoxSettingPage
-    void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType);
-    
-    //From CAknSettingPage
-    TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType);
-
-private:
-    //New Functions
-
-    /**
-    * Displays info popup on the screen
-    * 
-    */
-    void ShowInfoPopupL();
-
-private: //Private data
-
-    /**
-     * Pointer to popup note controller. Owned.
-     */
-    CAknInfoPopupNoteController* iPopupController;
-    
-    /**
-     * Pointer to loaded popup note resources. Owned.
-     */
-    CDesCArrayFlat* iPopupItems;
-
-    };
-#endif // GSCONNSETTINGSSELECTIONDLG_H
--- a/cmmanager/gsconnsettingsplugin/loc/gsconnsettingsplugin.loc	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +0,0 @@
-/*
-* Copyright (c) 2007 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:    Localization strings for Connectivity Settings plugin.
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-// **CAPTIONS
-
-//d:Plugin title.
-//d:Long string.
-//l:title_pane_t2/opt9
-//w:
-//r:5.2
-//
-#define qtn_occ_title_connectivity_settings "Connectivity Settings"
-
-//d:Plugin caption.
-//d:Used by GS FW.
-//l:list_single_large_graphic_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_set_folder_occ_connectivity_settings "Connectivity settings"
-
-// **OPTIONS MENU
-
-//d:Text of a list item in Connectivity Settings plugin main view's list
-//d:Item opens "Join new WLAN networks" radio button setting page
-//l:list_setting_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_usage_of_wlan "Join WLAN networks"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_usage_of_wlan_known "Known"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_usage_of_wlan_manual "Manual"
-
-//d:Text of a list item in Connectivity Settings plugin main view's list
-//d:Item opens "Cellular data usage abroad" radio button setting page
-//l:list_setting_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_abroad "Cellular data usage abroad"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_abroad_automatic "Automatic"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_abroad_confirm "Confirm"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_abroad_wlan_only "WLAN only"
-
-
-//d:Text of a list item in Connectivity Settings plugin main view's list
-//d:Item opens "Cellular data usage in home network" radio button setting page
-//l:list_setting_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_home_nw "Cellular data usage in home network"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_home_nw_automatic "Automatic"
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_home_nw_confirm "Confirm" 
-
-//d:Text in radio button list
-//l:list_set_graphic_pane_t1
-//w:
-//r: 5.2
-#define qtn_occ_sett_data_usage_home_nw_wlan_only "WLAN only"
-
-
-//d: Info popup note for "Known" selection of "Join WLAN networks"
-//l: popup_preview_text_window_t1/opt5
-//w:
-//r: 5.2
-//
-#define qtn_occ_info_popup_wlan_usage_known "Phone will automatically switch from cellular data connection to a known WLAN network when available."
-
-
-//d: Info popup note for "Manual" selection of "Join WLAN networks"
-//l: popup_preview_text_window_t1/opt5
-//w:
-//r: 5.2
-//
-#define qtn_occ_info_popup_wlan_usage_manual "Phone will not switch from cellular data connection to a WLAN connection automatically. WLAN network can be taken into use via WLAN wizard."
-
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/rom/gsconnsettingsplugin.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Connectivity Settings Plugin ROM files.
-*
-*/
-
-#ifndef GSCONNSETTINGSPLUGIN_IBY
-#define GSCONNSETTINGSPLUGIN_IBY
-
-#ifdef RD_CONTROL_PANEL
-
-    ECOM_PLUGIN( gsconnsettingsplugin.dll, 200255B8.rsc )
-    data=DATAZ_\BITMAP_DIR\gsconnsettingsplugin.mif BITMAP_DIR\gsconnsettingsplugin.mif
-
-#endif // RD_CONTROL_PANEL
-
-#endif // GSCONNSETTINGSPLUGIN_IBY
-// End of File
--- a/cmmanager/gsconnsettingsplugin/rom/gsconnsettingspluginresources.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Connectivity Settings Plugin ROM resources.
-*
-*/
-
-#ifndef GSCONNSETTINGSPLUGINRESOURCES_IBY
-#define GSCONNSETTINGSPLUGINRESOURCES_IBY
-
-    #ifdef RD_CONTROL_PANEL
-
-        data=DATAZ_\RESOURCE_FILES_DIR\gsconnsettingspluginrsc.rsc RESOURCE_FILES_DIR\gsconnsettingspluginrsc.rsc
-
-    #endif // RD_CONTROL_PANEL
-
-#endif // GSCONNSETTINGSPLUGINRESOURCES_IBY
-// End of File
--- a/cmmanager/gsconnsettingsplugin/src/gsconnsettingsplugin.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,675 +0,0 @@
-/*
-* Copyright (c) 2007 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: Cpp file for Connectivity Settings plugin.
-*
-*/
-
-
-// Includes
-#include <featmgr.h>
-#include "gsconnsettingsplugin.h"
-#include "gsconnsettingsplugin.hrh"
-#include "gsconnsettingspluginmodel.h"
-#include "gsconnsettingsplugincontainer.h"
-#include "gsconnsettingsselectiondlg.h"
-
-#include <gsconnsettingspluginrsc.rsg>
-#include <gsconnsettingsplugin.mbg>
-
-// Includes from GS framework:
-#include <gscommon.hrh>
-#include <gsfwviewuids.h>
-#include <gsprivatepluginproviderids.h>
-#include <gstabhelper.h>
-#include <gsmainview.h>
-
-#include <hlplch.h> // For HlpLauncher
-#include <featmgr.h>
-#include <csxhelp/cp.hlp.hrh>
-
-#include <gulicon.h>
-#include <AknsUtils.h>
-#include <aknViewAppUi.h>
-#include <aknradiobuttonsettingpage.h>
-#include <AknQueryDialog.h>
-#include <ConeResLoader.h>
-#include <barsread.h> // For TResourceReader
-#include <StringLoader.h>
-
-// Constants
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::CConnectivitySettingsPlugin()
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPlugin::CGSConnSettingsPlugin()
-    : iResourceLoader( *iCoeEnv )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::~CConnectivitySettingsPlugin()
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPlugin::~CGSConnSettingsPlugin()
-    {
-    iResourceLoader.Close();
-    
-    
-    // Delete plugin loader
-    if ( iPluginLoader )
-        {
-        delete iPluginLoader;
-        }
-
-    // Delete possible plugins
-    if ( iPluginArray )
-        {
-        // Since the plugins are actually avkon views, avkon is responsible
-        // for owning the plugins. This means we do not reset and destroy
-        // the contents of the array in which the plugins reside. We have to
-        // leave it up to avkon to tidy up.
-        delete iPluginArray;
-        }      
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::NewL()
-// First phase constructor
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPlugin* CGSConnSettingsPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    CGSConnSettingsPlugin* self = new(ELeave) CGSConnSettingsPlugin();
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::ConstructL()
-// Second phase constructor
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::ConstructL()
-    {
-    // Initialize FeatureManager
-    FeatureManager::InitializeLibL();
-    iIsWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    // Unload FeatureManager
-    FeatureManager::UnInitializeLib();
-    
-    OpenLocalizedResourceFileL( KGSConnSettingsPluginResourceFileName,
-                                iResourceLoader ); 
-    BaseConstructL( R_GS_CONN_SETTINGS_PLUGIN_VIEW );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::Id()
-// ---------------------------------------------------------------------------
-//
-TUid CGSConnSettingsPlugin::Id() const
-    {
-    return KGSConnSettingsPluginUid;
-    }
-
-
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::NewContainerL()
-// Creates new iContainer.
-//
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::NewContainerL()
-    {
-    iContainer = new( ELeave ) CGSConnSettingsPluginContainer( *this );
-    
-    //Check if ECOM plugins are already loaded
-    if ( iPluginArray == NULL )
-        {
-        //Load plugins here after container is constructed. This saves memory when Connectivity Settings view
-        //is not visible(object from CGSConnSettingsPlugin is constructed already in Connectivity view by GS and
-        //container class only when the plugin is actually accessed) 
-
-        iPluginArray = new  ( ELeave ) CArrayPtrFlat<CGSPluginInterface>( KGConnSettingsPluginCount );
-        iPluginLoader = CGSPluginLoader::NewL( iAppUi );
-        iPluginLoader->SetObserver( this );
-        iPluginLoader->LoadAsyncL( KGSPluginInterfaceUid, Id(), iPluginArray ); 
-        }
-    
-    Container()->SetPluginArray( iPluginArray );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::DoActivateL()
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::DoActivateL( const TVwsViewId& aPrevViewId,
-                                    TUid aCustomMessageId,
-                                    const TDesC8& aCustomMessage )
-    {
-    CGSBaseView::DoActivateL( aPrevViewId, aCustomMessageId, aCustomMessage );
-
-    // Add support for external view activation    
-    if ( iPrevViewId.iAppUid != KUidGS || iPrevViewId.iViewUid == TUid::Uid(0x0DEADBED) )
-      {
-      CEikButtonGroupContainer* cbaGroup = Cba();
-      if(cbaGroup)
-        {
-        HBufC* rightSKText = StringLoader::LoadLC (R_GS_CONN_SETTINGS_RSK_LABEL_EXIT);
-        TPtr rskPtr = rightSKText->Des();
-        cbaGroup->SetCommandL(2,EAknSoftkeyExit,*rightSKText);
-        CleanupStack::PopAndDestroy(rightSKText);
-        }
-      }    
-    iModel = Container()->Model();
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::DoDeactivate()
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::DoDeactivate()
-    {
-    CGSBaseView::DoDeactivate();
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin:: HandleForegroundEventL
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::HandleForegroundEventL( TBool aForeground )
-    {
-    //Load saved settings from Connection Settings API
-    //If function leaves it is trapped and ignored as there is nothing that we can do about it
-    if ( iModel && aForeground )
-        {
-        TRAP_IGNORE( iModel->LoadSettingsL() );
-        UpdateListBoxL( EGSSettIdDataUsageHomeNw );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::HandleCommandL
-//
-// Handles menu commands directed to this class.
-// ----------------------------------------------------------------------------
-void CGSConnSettingsPlugin::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EGSConnSettMenuOpen:
-        case EGSConnSettMenuChange:
-        case EGSConnSettMskGeneral:
-            HandleListBoxSelectionL();
-            break;
-            
-        case EAknSoftkeyBack:
-            iAppUi->ActivateLocalViewL( KGSConPluginUid );
-            break;
-            
-        case EAknCmdHelp:
-            {
-            if( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                HlpLauncher::LaunchHelpApplicationL(
-                    iEikonEnv->WsSession(), iAppUi->AppHelpContextL() );
-                }
-            break;
-            }
-        default:
-            iAppUi->HandleCommandL( aCommand );
-            break;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGSSensorPlugin::DynInitMenuPaneL
-// -----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    // Check resource
-    if ( R_GS_CONN_SETTINGS_MENU_ITEM_OPEN == aResourceId )
-        {
-        // First, resolve current item in listbox
-        const TInt currentItem = Container()->CurrentFeatureId();
-
-        switch (currentItem)
-            {
-            case EGSSettIdUsageOfWlan:
-            case EGSSettIdDataUsageAbroad:
-            case EGSSettIdDataUsageHomeNw:
-                // Hide menu item 'Open'
-                aMenuPane->SetItemDimmed( EGSConnSettMenuOpen, ETrue );
-                aMenuPane->SetItemDimmed( EGSConnSettMenuChange, EFalse );
-            break;
-            
-            default:
-                {
-                // Hide menu item 'Change' if current item is ECOM plugin
-                aMenuPane->SetItemDimmed( EGSConnSettMenuOpen, EFalse );
-                aMenuPane->SetItemDimmed( EGSConnSettMenuChange, ETrue );
-                break;
-                }
-            }
-        }
-    // Forward to base class
-    CGSBaseView::DynInitMenuPaneL( aResourceId, aMenuPane );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::HandleListBoxSelectionL()
-//
-// Handles events raised through a rocker key
-// ----------------------------------------------------------------------------
-void CGSConnSettingsPlugin::HandleListBoxSelectionL()
-    {
-    const TInt currentFeatureId = Container()->CurrentFeatureId();
-        
-    switch ( currentFeatureId )
-        {
-        case EGSSettIdUsageOfWlan:
-            ShowUsageOfWlanSettingPageL();
-            break;
-            
-        case EGSSettIdDataUsageAbroad:
-            ShowDataUsageAbroadSettingPageL();
-            break;
-            
-        case EGSSettIdDataUsageHomeNw:
-            ShowDataUsageInHomeNwSettingPageL();
-            break;
-            
-        default:
-            {
-            //Feature ID didn't match, try plugins
-            CGSPluginInterface* selectedPlugin( Container()->SelectedPluginL() );
-
-            switch( selectedPlugin->ItemType() )
-                {
-                // In these cases the plugin is a view:
-                case EGSItemTypeSingleLarge:
-                case EGSItemTypeSetting:
-                case EGSItemTypeSettingIcon:
-                    {
-                    CleanupStack::PushL( selectedPlugin );
-                    iAppUi->ActivateLocalViewL( selectedPlugin->Id() );
-                    CleanupStack::Pop( selectedPlugin );
-                    break;
-                    }
-                    
-                // In these cases the plugin is a dialog:
-                case EGSItemTypeSettingDialog:
-                case EGSItemTypeSingleLargeDialog:
-                     selectedPlugin->HandleSelection( EGSSelectionByMenu );
-                     break;
-                default:
-                    break;
-                }
-            break;
-            }        
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::UpdateListBoxL
-//
-//
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::UpdateListBoxL( TInt aItemId )
-    {
-    if( Container() )
-        {
-        Container()->UpdateListBoxL( aItemId );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::Container
-//
-// Return handle to container class.
-// ----------------------------------------------------------------------------
-//
-CGSConnSettingsPluginContainer* CGSConnSettingsPlugin::Container()
-    {
-    return static_cast<CGSConnSettingsPluginContainer*>( iContainer );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::UpperLevelViewUid()
-//
-//
-// ---------------------------------------------------------------------------
-//
-TUid CGSConnSettingsPlugin::UpperLevelViewUid()
-    {
-    return KGSConPluginUid;
-    }
-
-// -----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::GetHelpContext()
-//
-//
-// -----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::GetHelpContext( TCoeHelpContext& aContext )
-    {
-    aContext.iMajor = KUidGS;
-    aContext.iContext = KCP_HLP_ADMINISTRATIVE_SETTINGS;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::GetCaptionL()
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    // The resource file is already opened by iResourceLoader.
-    HBufC* result = StringLoader::LoadL( R_GS_CONN_SETTINGS_VIEW_CAPTION );
-    aCaption.Copy( *result );
-    delete result;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::CreateIconL
-//
-// Return the icon, if has one.
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CGSConnSettingsPlugin::CreateIconL( const TUid aIconType )
-    {
-
-    //EMbm<Mbm_file_name><Bitmap_name>
-    CGulIcon* icon;
-    TParse* fp = new( ELeave ) TParse();
-    CleanupStack::PushL( fp );
-    fp->Set( KGSConnSettingsPluginIconDirAndName, &KDC_BITMAP_DIR, NULL );
-
-    if( aIconType == KGSIconTypeLbxItem )
-        {
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnPropCpConnAdmin,
-        fp->FullName(),
-// Let's use Connectivity plugin icon until we get graphics
-// for Connectivity Settings plugin icon
-//      EMbmGsconnsettingspluginQgn_prop_cp_conn_settings,
-//      EMbmGsconnsettingspluginQgn_prop_cp_conn_settings_mask );
-        EMbmGsconnsettingspluginQgn_prop_cp_conn, //from generated \epoc32\include\gsconnsettingsplugin.mbg
-        EMbmGsconnsettingspluginQgn_prop_cp_conn_mask ); //from generated \epoc32\include\gsconnsettingsplugin.mbg
-        }
-       else
-           {
-           icon = CGSPluginInterface::CreateIconL( aIconType );
-           }
-    CleanupStack::PopAndDestroy( fp );
-    return icon;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::PluginProviderCategory()
-//
-//
-// ---------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPlugin::PluginProviderCategory() const
-    {
-    return KGSPluginProviderInternal;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::ShowUsageOfNewWlanSettingPageL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::ShowUsageOfWlanSettingPageL()
-    {
-    TBool currentItem = (TBool)iModel->UsageOfWlan();
-    iModel->SetUsageOfWlan( !currentItem );
-    UpdateListBoxL( EGSSettIdUsageOfWlan );
-    //Save current settings when the setting is changed
-    //If function leaves it is trapped and ignored as there is nothing that we can do about it
-    TRAP_IGNORE(iModel->SaveSettingsL());
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::ShowDataUsageAbroadSettingPageL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::ShowDataUsageAbroadSettingPageL()
-    {
-    CDesCArrayFlat* items;
-    
-    if ( iIsWlanSupported )
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-                R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX );
-        }
-    else
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-                R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX_NOWLAN );        
-        }
-    
-    CleanupStack::PushL( items );
-
-    TInt currentItem = iModel->DataUsageAbroad();
-    
-    // We may have to do in this way because EDataUsageAbroadDisabled is equal to 3
-    // and the actual index number should be 2 in this case
-    if( !iIsWlanSupported && currentItem == EDataUsageAbroadDisabled )
-        {
-        currentItem --;
-        }
-    
-    TInt oldItem = currentItem;
-
-    CAknSettingPage* dlg = new( ELeave ) CAknRadioButtonSettingPage(
-            R_DATA_USAGE_ABROAD_SETTING_PAGE, currentItem, items );
-
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-        {
-
-        if( currentItem != oldItem )
-            {
-            iModel->SetDataUsageAbroad( currentItem );
-            UpdateListBoxL( EGSSettIdDataUsageAbroad );
-            //Save current settings when the setting is changed
-            //If function leaves it is trapped and ignored as there is nothing that we can do about it
-            TRAP_IGNORE(iModel->SaveSettingsL());
-            }
-        }
-    CleanupStack::PopAndDestroy( items );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::ShowDataUsageInHomeNwSettingPageL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::ShowDataUsageInHomeNwSettingPageL()
-    {
-    CDesCArrayFlat* items;
-    
-    if ( iIsWlanSupported )
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX );
-        }
-    else
-        {
-        items = iCoeEnv->ReadDesC16ArrayResourceL(
-            R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX_NOWLAN );        
-        }
-    
-    CleanupStack::PushL( items );
-
-    TInt currentItem = iModel->DataUsageInHomeNw();
-    
-    // We may have to do in this way because EDataUsageAbroadDisabled is equal to 3
-    // and the actual index number should be 2 in this case
-    if( !iIsWlanSupported && currentItem == EDataUsageAbroadDisabled )
-        {
-        currentItem --;
-        }
-    
-    TInt oldItem = currentItem;
-
-    CAknSettingPage* dlg = new( ELeave ) CAknRadioButtonSettingPage(
-            R_DATA_USAGE_HOME_NW_SETTING_PAGE, currentItem, items );
-
-    if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) )
-        {
-
-        if( currentItem != oldItem )
-            {
-            iModel->SetDataUsageInHomeNw( currentItem );
-            UpdateListBoxL(  EGSSettIdDataUsageHomeNw );
-            //Save current settings when the setting is changed
-            //If function leaves it is trapped and ignored as there is nothing that we can do about it
-            TRAP_IGNORE(iModel->SaveSettingsL());
-            }
-        }
-    CleanupStack::PopAndDestroy( items );
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::CheckMiddleSoftkeyLabelL
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::CheckMiddleSoftkeyLabelL() 
-    {
-    //Resolve current item
-    const TInt currentItem = Container()->CurrentFeatureId();
-
-    //remove current middle soft key label
-    RemoveCommandFromMSK();
-
-    switch (currentItem)
-        {
-        case EGSSettIdUsageOfWlan:
-        case EGSSettIdDataUsageAbroad:
-        case EGSSettIdDataUsageHomeNw:
-            //Set middle soft key label to "Change"
-            SetMiddleSoftKeyLabelL( R_GS_CONN_SETTINGS_MSK_LABEL_CHANGE, EGSConnSettMskGeneral );
-        break;
-        
-        default:
-            {
-            //If current item is ECOM plugin set middle soft key label to "Open"
-            SetMiddleSoftKeyLabelL( R_GS_CONN_SETTINGS_MSK_LABEL_OPEN, EGSConnSettMskGeneral );
-            break;
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::HandleListBoxEventL
-//
-// -----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::HandleListBoxEventL( CEikListBox* /*aListBox*/,
-                                                TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked:
-            HandleListBoxSelectionL();
-            break;
-        default:
-           break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CGSConnSettingsPlugin::RemoveCommandFromMSK
-//
-// -----------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::RemoveCommandFromMSK()
-    {
-    CEikButtonGroupContainer* cbaGroup = Cba();
-    if ( cbaGroup )
-        {
-        // Remove command from stack
-        cbaGroup->RemoveCommandFromStack( KGSConnSettingsMSKControlID, EGSConnSettMskGeneral );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::SetMiddleSoftKeyLabelL 
-// Sets middle softkey label.
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::SetMiddleSoftKeyLabelL( 
-    const TInt aResourceId, const TInt aCommandId )
-    {
-    CEikButtonGroupContainer* cbaGroup = Cba();
-    if ( cbaGroup )
-        {
-        HBufC* middleSKText = StringLoader::LoadLC( aResourceId );
-        TPtr mskPtr = middleSKText->Des();
-        cbaGroup->AddCommandToStackL( 
-                KGSConnSettingsMSKControlID, 
-            aCommandId, 
-            mskPtr );
-        CleanupStack::Pop( middleSKText );
-        delete middleSKText;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPlugin::HandlePluginLoaded
-// Called by GSPluginLoader when plugins are loaded or error occured during that
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPlugin::HandlePluginLoaded( KGSPluginLoaderStatus aStatus )
-    {
-    if ( iContainer && MGSPluginLoadObserver::EGSFinished == aStatus )
-        {
-        #ifdef __DEBUG
-        TRAPD( ignore, Container()->UpdateListBoxL( EGSExtPluginsListItemId ); );
-        TRACE_1( "[GSSensorPlugin] CGSSensorPlugin::HandlePluginLoaded() - Error: %i", ignore );
-        #else
-        TRAP_IGNORE( Container()->UpdateListBoxL( EGSExtPluginsListItemId ); );
-        #endif // __DEBUG
-        }
-    }
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/src/gsconnsettingsplugincontainer.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,495 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Container for the Connectivity Settings plugin
-*
-*/
-
-// INCLUDE FILES
-#include <featmgr.h>
-#include "gsconnsettingsplugincontainer.h"
-#include "gsconnsettingspluginmodel.h"
-#include "gsconnsettingsplugin.h"
-#include "gsconnsettingsplugin.hrh"
-#include "gsconnsettingsmskobserver.h"
-#include <gsconnsettingspluginrsc.rsg>
-
-#include <aknlists.h>
-#include <csxhelp/cp.hlp.hrh>
-#include <gsfwviewuids.h>     // for KUidGS
-#include <gslistbox.h>
-
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-const   TInt    KGSBufSize128 = 128;
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ==============================
-
-// ========================== MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CGSDisplayPluginContainer::ConstructL(const TRect& aRect)
-// Symbian OS two phased constructor
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::ConstructL( const TRect& aRect )
-    {
-    iListBox = new ( ELeave ) CAknSettingStyleListBox;
-    iModel = CGSConnSettingsPluginModel::NewL();
-    iModel->SetOwner( this );
-    
-    //Load saved settings from Connection Settings API
-    //If function leaves it is trapped and ignored as there is nothing that we can do about it
-    TRAP_IGNORE(iModel->LoadSettingsL());
-
-    if ( iIsWlanSupported )
-        {
-        BaseConstructL( aRect, R_GS_CONN_SETTINGS_PLUGIN_VIEW_TITLE, R_CONN_SETTINGS_LBX );
-        }
-    else
-        {
-        BaseConstructL( aRect, R_GS_CONN_SETTINGS_PLUGIN_VIEW_TITLE, R_CONN_SETTINGS_LBX_NOWLAN );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::~GSConnSettingsPluginContainer()
-//
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPluginContainer::~CGSConnSettingsPluginContainer()
-    {    
-    //Note: iListbox is not deleted here as base class destructor handels it
-    
-    if ( iModel )
-        {        
-        delete iModel;
-        iModel = NULL;
-        }
-
-    if ( iListboxItemArray )
-        {
-        delete iListboxItemArray;
-        }
-    
-    if ( iListBoxTextArray )
-       {
-       iListBoxTextArray->Reset();
-       delete iListBoxTextArray;
-       }
-    
-    if ( iIsWlanSupported )
-        {
-        if ( iUsageOfWlanItems )
-            {
-            iUsageOfWlanItems->Reset();
-            delete iUsageOfWlanItems;
-            }
-        }
-
-    if ( iDataUsageAbroadItems )
-        {
-        iDataUsageAbroadItems->Reset();
-        delete iDataUsageAbroadItems;
-        }
-
-    if ( iDataUsageHomeNwItems )
-        {
-        iDataUsageHomeNwItems->Reset();
-        delete iDataUsageHomeNwItems;
-        }    
-
-    if ( iListItems )
-        {
-        iListItems->Reset();
-        delete iListItems;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::GSConnSettingsPluginContainer()
-//
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPluginContainer::CGSConnSettingsPluginContainer( 
-        MGSConnSettingsMskObserver& aMskObserver )
-        : iMskObserver( aMskObserver )
-    {
-    FeatureManager::InitializeLibL();
-    iIsWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    FeatureManager::UnInitializeLib();
-    }
-
-void CGSConnSettingsPluginContainer::SetPluginArray ( 
-                                CArrayPtrFlat<CGSPluginInterface>* aPluginArray )
-{
-    iPluginArray = aPluginArray;
-}
-
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::ConstructListBoxL()
-// 
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::ConstructListBoxL( TInt aResLbxId )
-    {
-    iListBox->ConstructL( this, EAknListBoxSelectionList );
-    iListboxItemArray = CGSListBoxItemTextArray::NewL( aResLbxId, *iListBox, *iCoeEnv );
-    iListBoxTextArray = static_cast<CDesCArray*>( iListBox->Model()->ItemTextArray() );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    
-    if ( iIsWlanSupported )
-        {
-        iUsageOfWlanItems = iCoeEnv->ReadDesC16ArrayResourceL(
-                R_USAGE_OF_WLAN_SETTING_PAGE_LBX );
-
-        iDataUsageHomeNwItems = iCoeEnv->ReadDesC16ArrayResourceL( 
-                R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX );
-    
-        iDataUsageAbroadItems = iCoeEnv->ReadDesC16ArrayResourceL( 
-                R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX );
-        
-        iListItems = iCoeEnv->ReadDesC16ArrayResourceL( R_CONN_SETTINGS_LBX_TXT );
-        }
-    else
-        {
-        iDataUsageHomeNwItems = iCoeEnv->ReadDesC16ArrayResourceL( 
-                R_DATA_USAGE_HOME_NW_SETTING_PAGE_LBX_NOWLAN );
-    
-        iDataUsageAbroadItems = iCoeEnv->ReadDesC16ArrayResourceL( 
-                R_DATA_USAGE_ABROAD_SETTING_PAGE_LBX_NOWLAN );
-        
-        iListItems = iCoeEnv->ReadDesC16ArrayResourceL( R_CONN_SETTINGS_LBX_TXT_NOWLAN );
-        }
-        
-    CreateListBoxItemsL();
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::CreateListBoxItemsL()
-//
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::CreateListBoxItemsL()
-    {   
-    if ( iIsWlanSupported )
-        {
-        MakeUsageOfWlanNetworksItemL();
-        iGeneralItemCount++;
-        }
-
-    MakeDataUsageHomeNwItemL();
-    iGeneralItemCount++;
-
-    MakeDataUsageAbroadItemL();
-    iGeneralItemCount++;
-
-    if ( iPluginArray )
-        {
-        MakeECOMPluginItemL();
-        }
-    iListBox->HandleItemAdditionL();
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::UpdateListBoxL(TInt aFeatureId)
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::UpdateListBoxL( TInt aFeatureId )
-    {
-    switch ( aFeatureId )
-        {
-        case  EGSSettIdUsageOfWlan:
-            iListBoxTextArray->Delete( EGSSettIdUsageOfWlan );
-            MakeUsageOfWlanNetworksItemL();
-            break;
-
-        case EGSSettIdDataUsageHomeNw:
-            iListBoxTextArray->Delete( Index( EGSSettIdDataUsageHomeNw ) );
-            MakeDataUsageHomeNwItemL();
-            break;
-            
-        case EGSSettIdDataUsageAbroad:
-            iListBoxTextArray->Delete( Index ( EGSSettIdDataUsageAbroad ) );
-            MakeDataUsageAbroadItemL();
-            break;
-
-        case EGSExtPluginsListItemId:
-            MakeECOMPluginItemL();
-            break;     
-                        
-        default:
-            break;
-        }
-    iListBox->HandleItemAdditionL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPluginContainer::AppendListItem
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::AppendListItemL( 
-    const TInt aPos,
-    const TDesC16& aFirstLabel, 
-    const TDesC16& aSecondLabel )
-    {
-    TBuf<KGSBufSize128> itemText;
-    _LIT( KSpaceAndTab, " \t" );
-    _LIT( KTab, "\t" );
-
-    // The format is: " \tFirstLabel\tSecondLabel\t0\t0"
-    // First, append space and tab
-    itemText.Append( KSpaceAndTab );
-    itemText.Append( aFirstLabel );
-    itemText.Append( KTab );
-    itemText.Append( KTab );
-    // Currently this is used only to show sensors active status (on/off)
-    itemText.Append( aSecondLabel ); 
-
-    // No need to add last tabs
-    if ( ( KErrNotFound != aPos ) && ( aPos <= iListBoxTextArray->Count() ) )
-        {
-        iListBoxTextArray->InsertL( aPos, itemText );
-        }
-    else
-        {
-        iListBoxTextArray->AppendL( itemText );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::MakeUsageOfNewWlanNetworksItemL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::MakeUsageOfWlanNetworksItemL()
-    {
-    TInt currValue = iModel->UsageOfWlan();
-    AppendListItemL( EGSSettIdUsageOfWlan, 
-        iListItems->operator[]( EGSSettIdUsageOfWlan ), 
-        ( *iUsageOfWlanItems )[currValue] );
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::MakeDataUsageAbroadItemL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::MakeDataUsageAbroadItemL()
-{
-    TInt currValue = iModel->DataUsageAbroad();
-    
-    // We may have to do in this way because EDataUsageAbroadDisabled is equal to 3
-    // and the actual index number should be 2 in this case
-    if( !iIsWlanSupported && currValue == EDataUsageAbroadDisabled )
-        {
-        currValue --;
-        }
-    
-    AppendListItemL( Index( EGSSettIdDataUsageAbroad ),
-        iListItems->operator[]( Index( EGSSettIdDataUsageAbroad ) ),
-        ( *iDataUsageAbroadItems )[currValue] );
-}
-            
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::MakeDataUsageAbroadItemL()
-//
-// 
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::MakeDataUsageHomeNwItemL()
-{
-    TInt currValue = iModel->DataUsageInHomeNw();
-    
-    // We may have to do in this way because EDataUsageAbroadDisabled is equal to 3
-    // and the actual index number should be 2 in this case
-    if( !iIsWlanSupported && currValue == EDataUsageAbroadDisabled )
-        {
-        currValue --;
-        }
-    
-    AppendListItemL( Index( EGSSettIdDataUsageHomeNw ),
-        iListItems->operator[]( Index( EGSSettIdDataUsageHomeNw ) ),
-        ( *iDataUsageHomeNwItems )[currValue] );
-}
-
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPluginContainer::MakeExtendedPluginsItemL
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::MakeECOMPluginItemL()
-    {
-
-    // Create list item for all child plug-ins
-    const TInt pluginCount( iPluginArray->Count() );
-    CGSPluginInterface* plugin = NULL;
-
-    // 1) Read item descriptor from plugin:
-    TBuf<KGSBufSize128> caption;
-
-    for ( TInt i = 0; i < pluginCount; i++ )
-        {
-        plugin = iPluginArray->operator[]( i );
-        //Append to list only if plugin is meant to be visible
-        if( ( plugin ) && ( plugin->Visible() ) )
-            {
-            plugin->GetCaptionL( caption );
-
-            // Append text to list
-            AppendListItemL( KErrNotFound, caption, KNullDesC16 );
-            }
-        }        
-    }
-    
- 
-// -----------------------------------------------------------------------------
-// CGSConnSettingsPluginContainer::SelectedPlugin
-// Returns pointer to selected plugin
-// -----------------------------------------------------------------------------
-//
-CGSPluginInterface* CGSConnSettingsPluginContainer::SelectedPluginL()
-    {
-    CGSPluginInterface* plugin = NULL;
-
-    // 1) Decrease index with the count
-    TInt index = iListBox->CurrentItemIndex() - iGeneralItemCount;
-    
-    // 2) Check that new index is in range of plugins
-    if ( index >= 0 && index < iPluginArray->Count() )
-        {
-        // 3) Get correct plugin
-        plugin = iPluginArray->operator[]( index );
-        }
-
-    // Leave if not found
-    if ( !plugin )
-        {
-        User::Leave( KErrNotFound );
-        }
-
-    return plugin;
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsPluginContainer::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CGSConnSettingsPluginContainer::OfferKeyEventL( 
-    const TKeyEvent& aKeyEvent, TEventCode aType )
-    {
-
-    TKeyResponse returnValue( EKeyWasNotConsumed );
-
-    switch ( aKeyEvent.iCode )
-        {
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-            {
-            // Send key event to Listbox
-            returnValue = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            // Change MSK label if needs to changed
-            iMskObserver.CheckMiddleSoftkeyLabelL();
-            break;
-            }
-        case EKeyLeftArrow:
-        case EKeyRightArrow:
-            {
-            // Listbox takes all events even if it doesn't use them.
-            // Stick with the default return value
-            break;
-            }
-        default:
-            {
-            // Forward key event to listbox
-            returnValue = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            break;
-            }
-        }
-
-    return returnValue;
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::CurrentFeatureId()
-//
-// ---------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPluginContainer::CurrentFeatureId( ) const
-    {
-    return iListboxItemArray->CurrentFeature( );
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::GetHelpContext() const
-// Gets Help
-//
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginContainer::GetHelpContext( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KUidGS;
-//    aContext.iContext = KCP_HLP_DISPLAY;
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::Model()
-//
-// Return its member variable iModel.
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsPluginModel* CGSConnSettingsPluginContainer::Model()
-    {
-    return iModel;
-    }
-
-// ---------------------------------------------------------------------------
-// GSConnSettingsPluginContainer::Index()
-//
-// Return index for the list.
-// ---------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPluginContainer::Index( TInt aIndex )
-    {
-    return ( iIsWlanSupported ? ( aIndex ) : ( aIndex - 1) );
-    }
-    
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/src/gsconnsettingspluginimpltable.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007 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:    ECOM proxy table for plugin.
-*
-*/
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-// User includes
-#include "gsconnsettingsplugin.h"
-
-// Constants
-const TImplementationProxy KGSConnSettingsPluginImplTable[] = 
-	{
-	IMPLEMENTATION_PROXY_ENTRY( 0x200255B9, CGSConnSettingsPlugin::NewL )
-	};
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-    TInt& aTableCount )
-	{
-	aTableCount = sizeof( KGSConnSettingsPluginImplTable ) 
-        / sizeof( TImplementationProxy );
-	return KGSConnSettingsPluginImplTable;
-	}
-
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/src/gsconnsettingspluginmodel.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-/*
-* Copyright (c) 2005-2007 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:  Connectivity Settings Plugin model implementation.
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "gsconnsettingsplugincontainer.h"
-#include "gsconnsettingspluginmodel.h"
-#include "cmmanager.h"
-#include "gsconnsettingsplugin.hrh"
-
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "gsconnsettingspluginmodelTraces.h"
-#endif
-
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================= LOCAL FUNCTIONS ==============================
-
-// ========================= MEMBER FUNCTIONS =================================
-
-
-// ----------------------------------------------------------------------------
-// CGSDisplayPluginModel::NewL
-//
-// Symbian OS two-phased constructor
-// ----------------------------------------------------------------------------
-//
-CGSConnSettingsPluginModel* CGSConnSettingsPluginModel::NewL()
-    {
-    CGSConnSettingsPluginModel* self = new( ELeave ) CGSConnSettingsPluginModel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::CGSConnSettingsPluginModel
-//
-//
-// C++ default constructor can NOT contain any code, that might leave.
-// ----------------------------------------------------------------------------
-//
-CGSConnSettingsPluginModel::CGSConnSettingsPluginModel()
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::ConstructL
-//
-// EPOC default constructor can leave.
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::ConstructL()
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::~CGSConnSettingsPluginModel
-//
-// Destructor
-// ----------------------------------------------------------------------------
-//
-CGSConnSettingsPluginModel::~CGSConnSettingsPluginModel()
-    {
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::LoadSettings
-//
-// Loads settings by using CMManager's general connection settings API
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::LoadSettingsL()
-    {
-    RCmManager CmManager;
-    CmManager.CreateTablesAndOpenL();
-    CleanupClosePushL(CmManager); 
-    CmManager.ReadGenConnSettingsL( iSettings );
-    CleanupStack::PopAndDestroy( 1 );     //CmManager
-
-    //Print out loaded settings
-    OstTrace1( TRACE_NORMAL, CSP_LOADSETTINGSL_USAGE_OF_NEW_WLAN_PARAM_TRACE, "iSettings.iUsageOfWlan=%d", iSettings.iUsageOfWlan );
-    OstTrace1( TRACE_NORMAL, CSP_LOADSETTINGSL_CELLULAR_DATA_USAGE_VISITOR_PARAM_TRACE, "iSettings.iCellularDataUsageVisitor=%d", iSettings.iCellularDataUsageVisitor );
-    OstTrace1( TRACE_NORMAL, CSP_LOADSETTINGSL_CELLULAR_DATA_USAGE_HOME_PARAM_TRACE, "iSettings.iCellularDataUsageHome=%d", iSettings.iCellularDataUsageHome );
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::SaveSettingsL
-//
-// Saves settings by using CMManager's general connection settings API
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::SaveSettingsL()
-    {
-    RCmManager CmManager;
-    CmManager.CreateTablesAndOpenL();
-    CleanupClosePushL(CmManager); 
-    CmManager.WriteGenConnSettingsL( iSettings );
-    CleanupStack::PopAndDestroy( 1 );     //CmManager
-
-    //Print out saved settings
-    OstTrace1( TRACE_NORMAL, CSP_SAVESETTINGSL_USAGE_OF_NEW_WLAN_PARAM_TRACE, "iSettings.iUsageOfWlan=%d", iSettings.iUsageOfWlan );
-    OstTrace1( TRACE_NORMAL, CSP_SAVESETTINGSL_CELLULAR_DATA_USAGE_VISITOR_PARAM_TRACE, "iSettings.iCellularDataUsageVisitor=%d", iSettings.iCellularDataUsageVisitor );
-    OstTrace1( TRACE_NORMAL, CSP_SAVESETTINGSL_CELLULAR_DATA_USAGE_HOME_PARAM_TRACE, "iSettings.iCellularDataUsageHome=%d", iSettings.iCellularDataUsageHome );
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::UsageOfWlan
-//
-// Maps value from general connection settings API to match index in UI
-// ----------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPluginModel::UsageOfWlan()
-    {
-    TInt mappedValue = 0;
-    
-    //Map to correct index    
-    switch ( iSettings.iUsageOfWlan )
-        {
-        case ECmUsageOfWlanKnown: 
-            mappedValue = EUsageOfWlanKnown; //Known
-            break;
-            
-        case ECmUsageOfWlanManual:
-            mappedValue = EUsageOfNewWlanManual; //Manual
-            break;
-                        
-        default:
-            break;
-        }
-    return mappedValue;
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::DataUsageAbroad
-//
-// Maps value from general connection settings API to match index in UI
-// ----------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPluginModel::DataUsageAbroad()
-    {   
-    TInt mappedValue = 0;
-
-    //Map to correct index    
-    switch ( iSettings.iCellularDataUsageVisitor )
-        {
-        case ECmCellularDataUsageAutomatic:
-            mappedValue = EDataUsageAbroadAutomatic; // Automatic
-            break;
-
-        case ECmCellularDataUsageConfirm:
-            mappedValue = EDataUsageAbroadConfirm; // Confirm
-            break;
-
-        case ECmCellularDataUsageDisabled:
-            mappedValue = EDataUsageAbroadWlanOnly; // Wlan only
-            break;
-
-        default:
-            break;
-        }
-    return mappedValue;
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::DataUsageInHomeNw
-//
-// Maps value from general connection settings API to match index in UI
-// ----------------------------------------------------------------------------
-//
-TInt CGSConnSettingsPluginModel::DataUsageInHomeNw()
-    {     
-    TInt mappedValue = 0;
-
-    //Map to correct index    
-    switch ( iSettings.iCellularDataUsageHome )
-        {
-        case ECmCellularDataUsageAutomatic:
-            mappedValue = EDataUsageHomeNwAutomatic; // Automatic
-            break;
-
-        case ECmCellularDataUsageConfirm:
-            mappedValue = EDataUsageHomeNwConfirm; // Confirm
-            break;
-
-        case ECmCellularDataUsageDisabled:
-            mappedValue = EDataUsageHomeNwWlanOnly; // Wlan only
-            break;
-
-        default:
-            break;
-        }
-    return mappedValue;
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::SetUsageOfNewWlanL
-//
-// Maps UI index to according general connection setting API value
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::SetUsageOfWlan( TInt aValue )
-    {    
-    //Map to correct index
-    switch ( aValue )
-        {        
-        case EUsageOfWlanKnown: //Join and inform
-            iSettings.iUsageOfWlan = ECmUsageOfWlanKnown;
-            break;
-            
-        case EUsageOfNewWlanManual: //inform
-            iSettings.iUsageOfWlan = ECmUsageOfWlanManual;
-            break;
-                        
-        default:
-            break;
-        }   
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::SetDataUsageAbroadL
-//
-// Maps UI index to according general connection setting API value
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::SetDataUsageAbroad( TInt aValue )
-    {
-    switch ( aValue )
-        {
-        case EDataUsageAbroadAutomatic:  //Automatic
-            iSettings.iCellularDataUsageVisitor = ECmCellularDataUsageAutomatic; 
-            break;
-        case EDataUsageAbroadConfirm: //Confirm
-            iSettings.iCellularDataUsageVisitor = ECmCellularDataUsageConfirm;
-            break;
-
-        case EDataUsageAbroadWlanOnly: //Wlan only
-            iSettings.iCellularDataUsageVisitor = ECmCellularDataUsageDisabled;
-            break;
-                        
-        default:
-            break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::SetDataUsageInHomeNwL
-//
-// Maps UI index to according general connection setting API value
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::SetDataUsageInHomeNw( TInt aValue )
-    {
-    switch ( aValue )
-        {
-        case EDataUsageHomeNwAutomatic: //Automatic
-            iSettings.iCellularDataUsageHome = ECmCellularDataUsageAutomatic; 
-            break;
-
-        case EDataUsageHomeNwConfirm: //Confirm
-            iSettings.iCellularDataUsageHome = ECmCellularDataUsageConfirm;
-            break;
-
-        case EDataUsageHomeNwWlanOnly: //Wlan only
-            iSettings.iCellularDataUsageHome = ECmCellularDataUsageDisabled;
-            break;
-                        
-        default:
-            break;
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CGSConnSettingsPluginModel::SetOwner
-//
-// Sets its owner.
-// ----------------------------------------------------------------------------
-//
-void CGSConnSettingsPluginModel::SetOwner( CGSConnSettingsPluginContainer* aContainer)
-    {
-    iContainer = aContainer;
-    }
-
-// ========================== OTHER EXPORTED FUNCTIONS =========================
-
-// End of File
--- a/cmmanager/gsconnsettingsplugin/src/gsconnsettingsselectiondlg.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* 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 "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: Cpp file for CGSConnSettingsSelectionDlg class.
-*
-*/
-
-// Includes
-#include "gsconnsettingsselectiondlg.h"
-#include <AknInfoPopupNoteController.h>
-#include <StringLoader.h>
-#include <eiklbo.h>
-#include <gulalign.h>
-
-#include <gsconnsettingspluginrsc.rsg>
-
-// Constants
-
-
-// ========================= MEMBER FUNCTIONS ================================
-
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::NewL
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsSelectionDlg* CGSConnSettingsSelectionDlg::NewL(TInt aResourceID, 
-                TInt& aCurrentSelectionIndex, 
-                const MDesCArray* aItemArray,
-                TInt aPopupResource)
-    {
-    CGSConnSettingsSelectionDlg* self = new( ELeave ) CGSConnSettingsSelectionDlg(
-                                                        aResourceID,
-                                                        aCurrentSelectionIndex,
-                                                        aItemArray,
-                                                        aPopupResource );
-    CleanupStack::PushL( self );
-    self->ConstructL( aPopupResource );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsSelectionDlg::ConstructL( TInt aPopupResource)
-    {
-    iPopupController = CAknInfoPopupNoteController::NewL();
-    iPopupItems = iCoeEnv->ReadDesC16ArrayResourceL( aPopupResource );
-//    ShowInfoPopupL();
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::CGSConnSettingsSelectionDlg
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsSelectionDlg::CGSConnSettingsSelectionDlg(
-                TInt aResourceID, 
-                TInt& aCurrentSelectionIndex, 
-                const MDesCArray* aItemArray,
-                TInt /* aPopupResource */)
-        :    CAknRadioButtonSettingPage( 
-                aResourceID,
-                aCurrentSelectionIndex,
-                aItemArray )
-    {
-
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::~CGSConnSettingsSelectionDlg
-// ---------------------------------------------------------------------------
-//
-CGSConnSettingsSelectionDlg::~CGSConnSettingsSelectionDlg()
-    {
-    if ( iPopupController )
-        {
-        delete iPopupController;
-        }
-    
-    if ( iPopupItems )
-        {
-        iPopupItems->Reset();
-        delete iPopupItems;        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::OfferKeyEventL
-// ---------------------------------------------------------------------------
-//
-TKeyResponse CGSConnSettingsSelectionDlg::OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType)
-    {    
-    TKeyResponse response ( EKeyWasNotConsumed );
-    
-    response =  CAknRadioButtonSettingPage::OfferKeyEventL( aKeyEvent, aType );
-    
-    //EKeyNull enables here launching of popup note immediately when we enter the setting page
-    if ( aKeyEvent.iCode == EKeyNull ||
-         aKeyEvent.iCode == EKeyUpArrow || 
-         aKeyEvent.iCode == EKeyDownArrow )
-        {
-        ShowInfoPopupL();
-        }   
-    return response;
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsSelectionDlg::HandleListBoxEventL( 
-        CEikListBox* aListBox, 
-        TListBoxEvent aEventType )
-    {
-    if ( aEventType == EEventItemClicked || 
-         aEventType == EEventItemSingleClicked )
-        {
-        ShowInfoPopupL();
-        }
-    CAknRadioButtonSettingPage::HandleListBoxEventL(aListBox, aEventType);
-    }
-
-// ---------------------------------------------------------------------------
-// CGSConnSettingsSelectionDlg::ShowInfoPopupL
-// ---------------------------------------------------------------------------
-//
-void CGSConnSettingsSelectionDlg::ShowInfoPopupL()
-    {
-    TInt currentIndex = this->ListBoxControl()->CurrentItemIndex();
-
-    iPopupController->HideInfoPopupNote();
-
-    iPopupController->SetTextL( (*iPopupItems)[currentIndex] );
-    iPopupController->SetTimeDelayBeforeShow( 500 );
-    iPopupController->SetTimePopupInView( 0 ); //Zero means that popup stays in screen until it is destroyed
-    iPopupController->ShowInfoPopupNote();
-    }
-
-// End of file
-
--- a/cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-/*
-* 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 "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: 
-*
-*/
-
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-#include <opensystemtrace.h>
-#endif
--- a/cmmanager/gsconnsettingsplugin/traces/gsconnsettingspluginmodelTraces.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-// Created by TraceCompiler 1.3.1
-// DO NOT EDIT, CHANGES WILL BE LOST
-
-#ifndef __GSCONNSETTINGSPLUGINMODELTRACES_H__
-#define __GSCONNSETTINGSPLUGINMODELTRACES_H__
-
-#define KOstTraceComponentID 0x200255b8
-
-#define CSP_LOADSETTINGSL_USAGE_OF_NEW_WLAN_PARAM_TRACE 0x30001
-#define CSP_SAVESETTINGSL_USAGE_OF_NEW_WLAN_PARAM_TRACE 0x30004
-#define CSP_LOADSETTINGSL_CELLULAR_DATA_USAGE_VISITOR_PARAM_TRACE 0x30007
-#define CSP_LOADSETTINGSL_CELLULAR_DATA_USAGE_HOME_PARAM_TRACE 0x30008
-#define CSP_SAVESETTINGSL_CELLULAR_DATA_USAGE_VISITOR_PARAM_TRACE 0x30009
-#define CSP_SAVESETTINGSL_CELLULAR_DATA_USAGE_HOME_PARAM_TRACE 0x3000a
-
-
-#endif
-
-// End of file
-
--- a/connectionmonitoring/connectionmonitorplugin/data/10281BC1.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* 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 "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:  ECOM plugin resource file for ConnectionMonitorPlugin.
-*
-*/
-
-#include <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = 0x10281BC1;
-    interfaces  =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x10207236;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = 0x10281BC2;
-                    version_no          = 1;
-                    display_name        = "Connection Monitor Plugin";
-                                                        // Plugin debug name
-                    default_data        = "0x10207250"; // Parent UID
-                    opaque_data         = "70"; // Order number
-                    }
-                };
-            }
-        };
-    }
-
--- a/connectionmonitoring/connectionmonitorplugin/data/connectionmonitorpluginrsc.rss	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Localization strings for Plugin.
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME        CMPI // 4 letter ID
-
-// INCLUDES
-#include    <connectionmonitorplugin.loc> // config localized strings
-
-#include    <avkon.loc> // Avkon localized strings
-#include    <avkon.mbg>
-#include    <avkon.rsg>
-#include    <EIKCORE.rsg>
-#include    <uikon.rh>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-
-//----------------------------------------------------
-//
-//    r_qtn_cp_folder_connection_management
-//    Connection Monitor Plugin caption.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_cp_folder_connection_management
-    {
-    buf = qtn_cp_folder_connection_management;
-    }
-    
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general; }
-
-//End of File
--- a/connectionmonitoring/connectionmonitorplugin/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Information required for building ConnectionMonitorPlugin.
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// export iby files
-../rom/connectionmonitorplugin.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(connectionmonitorplugin.iby)
-../rom/connectionmonitorpluginresources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(connectionmonitorpluginresources.iby)
-
-// export localised loc file
-../loc/connectionmonitorplugin.loc	MW_LAYER_LOC_EXPORT_PATH(connectionmonitorplugin.loc)
-
-PRJ_MMPFILES
-
-#ifdef RD_CONTROL_PANEL
-
-    connectionmonitorplugin.mmp
-
-#endif //RD_CONTROL_PANEL
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE connectionmonitorplugin.mif
-OPTION HEADERFILE connectionmonitorplugin.mbg
-OPTION SOURCES -c8,8 qgn_prop_cp_conn_man.bmp
-END
-
-PRJ_TESTMMPFILES
-
-//  End of File
--- a/connectionmonitoring/connectionmonitorplugin/group/connectionmonitorplugin.mmp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Localization strings for Plugin.
-*
-*/
-
-#include <data_caging_paths.hrh>    //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              connectionmonitorplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x10281BC1
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              connectionmonitorplugin.cpp
-SOURCE              connectionmonitorpluginimplementationtable.cpp
-
-USERINCLUDE         ../data
-USERINCLUDE         ../inc
-
-SYSTEMINCLUDE       .
-SYSTEMINCLUDE       /epoc32/include/cshelp
-SYSTEMINCLUDE       /epoc32/include/ecom
-// Default system include paths for middleware layer modules.
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      10281BC1.rss
-TARGET              connectionmonitorplugin.rsc
-TARGETPATH          ECOM_RESOURCE_DIR
-END                 //  ECOM resource definition
-
-// Plugin's own resources.
-START RESOURCE      connectionmonitorpluginrsc.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END // own resource file
-
-
-LIBRARY             apgrfx.lib // RApaLsSession
-LIBRARY             apparc.lib
-LIBRARY             avkon.lib
-LIBRARY             bafl.lib
-LIBRARY             commonengine.lib // RConeResourceLoader
-LIBRARY             cone.lib
-LIBRARY             ecom.lib
-LIBRARY             efsrv.lib
-LIBRARY             eikcoctl.lib
-LIBRARY             eikcore.lib
-LIBRARY             euser.lib
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             GSFramework.lib // Base classes
-LIBRARY             ws32.lib
-LIBRARY             egul.lib // CGulIcon
-LIBRARY             aknskins.lib // AknsUtils.h
-
-LIBRARY             commonui.lib
-LIBRARY             aknnotify.lib 
-LIBRARY             eiksrv.lib
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorplugin/inc/connectionmonitorplugin.h	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2007 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:  ConnectionMonitorPlugin implementation.
-*
-*/
-
-#ifndef CONNECTIONMONITORPLUGIN_H
-#define CONNECTIONMONITORPLUGIN_H
-
-// User includes
-
-// System includes
-#include <gsplugininterface.h>
-#include <aknview.h>
-#include <ConeResLoader.h>
-#include <eikclb.h>
-#include <AknServerApp.h>
-
-// Classes referenced
-class CAknNavigationDecorator;
-class CAknViewAppUi;
-class CAknNullService;
-
-// Constants
-const TUid KConnectionMonitorPluginUID = { 0x10281BC2 };
-
-const TUid KConnectionMonitorAppUid    = { 0x101F84D0 };
-
-_LIT( KConnectionMonitorPluginResourceFileName,
-                                    "z:connectionmonitorpluginrsc.rsc" );
-_LIT( KConnectionMonitorPluginIconDirAndName,
-                                    "z:connectionmonitorplugin.mif ");
-                                                    // Use KDC_BITMAP_DIR
-
-// CLASS DECLARATION
-
-/**
-* CConnectionMonitorPlugin.
-*
-*/
-class CConnectionMonitorPlugin : 
-                            public CGSPluginInterface,
-                            public MAknServerAppExitObserver // Embedding
-    {
-    public: // Constructors and destructor
-
-        /**
-        * Symbian OS two-phased constructor
-        * @param aInitParams initialization parameters.
-        * @return new instance of CConnectionMonitorPlugin.
-        */
-        static CConnectionMonitorPlugin* NewL( TAny* aInitParams );
-
-        /**
-        * Destructor.
-        */
-        ~CConnectionMonitorPlugin();
-
-    public: // From CAknView
-
-        /**
-        * From CAknView.
-        * This view's Id.
-        * @return This plugin's UID.
-        */
-        TUid Id() const;
-
-    public: // From CGSPluginInterface
-
-        /**
-        * From CGSPluginInterface.
-        * @param aCaption this plugin's caption.
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /**
-        * From CGSPluginInterface.
-        * @return this plugin's provider category.
-        */
-        TInt PluginProviderCategory() const;
-
-        /**
-        * From CGSPluginInterface.
-        * @return this plugin's item type.
-        */
-        TGSListboxItemTypes ItemType();
-
-        /**
-        * From CGSPluginInterface.
-        * @param aKey key name.
-        * @param aValue key value.
-        */
-        void GetValue( const TGSPluginValueKeys aKey,
-                       TDes& aValue );
-
-        /**
-        * From CGSPluginInterface.
-        * @param aSelectionType selection type.
-        */
-        void HandleSelection( const TGSSelectionTypes aSelectionType );
-        
-        /**
-        * From CEikonEnv.
-        * @return this plugin's pointer to the created icon.
-        */
-        CGulIcon* CreateIconL( const TUid aIconType );
-
-    protected: // New
-
-        /**
-        * C++ default constructor.
-        */
-        CConnectionMonitorPlugin();
-
-        /**
-        * Symbian OS default constructor.
-        */
-        void ConstructL();
-
-    protected: // From CAknView
-
-        /**
-        * From CAknView.
-        * This implementation is empty because this class, being just
-        * a dialog, does not implement the CAknView finctionality.
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * From CAknView.
-        * This implementation is empty because this class, being just 
-        * a dialog, does not implement the CAknView finctionality.
-        */
-        void DoDeactivate();
-
-    private: // New
-
-        /**
-        * Opens localized resource file.
-        */
-        void OpenLocalizedResourceFileL(
-                            const TDesC& aResourceFileName,
-                            RConeResourceLoader& aResourceLoader );
-
-        /**
-        * Launches ConnectionMonitor application as embedded.
-        */
-        void LaunchConnectionMonitorAppL();
-        
-        /**
-        * Shows an error note in case of error. 
-        * @param aErrorCode The error code.
-        */
-        void ShowErrorNote(TInt aErrorCode);
-
-        /**
-        * Shows the error note and resolves the error.
-        * @param aErrorCode The error code.
-        */
-        TBool ShowErrorNoteL(TInt aErrorCode);
-    
-        /**
-        * Shows a general error note
-        */
-        void ShowGeneralErrorNoteL();
-        
-    protected: // Data
-
-        /**
-        * Resource loader for this plugin's resources.
-        */
-        RConeResourceLoader iResources;
-
-        /**
-        * AVKON NULL Service.
-        * Own.
-        */
-        CAknNullService* iNullService;
-    };
-
-#endif // CONNECTIONMONITORPLUGIN_H
-// End of File
--- a/connectionmonitoring/connectionmonitorplugin/loc/connectionmonitorplugin.loc	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Localization strings for Plugin.
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-
-//d:Connection Monitor Plugin caption
-//d:ConnectionMonitorPlugin
-//l:list_double_large_graphic_pane_t1
-//w:
-//r:5.0 
-//
-#define qtn_cp_folder_connection_management "Connection management"
-
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:5.0
-//
-#define qtn_err_os_general "System error"
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorplugin/rom/connectionmonitorplugin.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 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:  ConnectionMonitorPlugin ROM resources.
-*
-*/
-
-#ifndef CONNECTIONMONITORPUGIN_IBY
-#define CONNECTIONMONITORPUGIN_IBY
-
-    #ifdef RD_CONTROL_PANEL
-
-        ECOM_PLUGIN( connectionmonitorplugin.dll, 10281BC1.rsc )
-        data=DATAZ_\BITMAP_DIR\connectionmonitorplugin.mif BITMAP_DIR\connectionmonitorplugin.mif
-
-    #endif // RD_CONTROL_PANEL
-
-#endif // CONNECTIONMONITORPUGIN_IBY
-//  End of File
--- a/connectionmonitoring/connectionmonitorplugin/rom/connectionmonitorpluginresources.iby	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2007 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:  ConnectionMonitorPlugin ROM resources.
-*
-*/
-
-#ifndef CONNECTIONMONITORPUGINRESOURCES_IBY
-#define CONNECTIONMONITORPUGINRESOURCES_IBY
-
-    #ifdef RD_CONTROL_PANEL
-
-        data=DATAZ_\RESOURCE_FILES_DIR\connectionmonitorpluginrsc.rsc RESOURCE_FILES_DIR\connectionmonitorpluginrsc.rsc
-
-    #endif // RD_CONTROL_PANEL
-
-#endif // CONNECTIONMONITORPUGINRESOURCES_IBY
-//  End of File
--- a/connectionmonitoring/connectionmonitorplugin/src/connectionmonitorplugin.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-/*
-* Copyright (c) 2007 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:  ConnectionMonitorPlugin implementation.
-*
-*/
-
-
-// User includes
-#include    "connectionmonitorplugin.h"
-#include    <gsparentplugin.h>
-#include    <gscommon.hrh>
-#include    <connectionmonitorpluginrsc.rsg> // GUI Resource
-#include    <connectionmonitorplugin.mbg>
-#include    <gsprivatepluginproviderids.h>
-#include    <gsfwviewuids.h>
-
-// System includes
-#include    <AknNullService.h>
-#include    <bautils.h>
-#include    <StringLoader.h>
-#include    <AknGlobalNote.h>
-#include    <ErrorUI.h>
-
-// Constants
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorPlugin::CConnectionMonitorPlugin()
-// Constructor
-// ---------------------------------------------------------------------------
-//
-CConnectionMonitorPlugin::CConnectionMonitorPlugin()
-    : iResources( *iCoeEnv ),
-      iNullService(NULL)
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorPlugin::~CConnectionMonitorPlugin()
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CConnectionMonitorPlugin::~CConnectionMonitorPlugin()
-    {
-    iResources.Close();
-
-    if ( iNullService )
-        {
-        delete iNullService;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorPlugin::ConstructL()
-// Symbian OS two-phased constructor
-// ---------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::ConstructL()
-    {
-    BaseConstructL();
-    
-    OpenLocalizedResourceFileL( KConnectionMonitorPluginResourceFileName,
-                                iResources );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorPlugin::NewL()
-// Static constructor
-// ---------------------------------------------------------------------------
-//
-CConnectionMonitorPlugin* CConnectionMonitorPlugin::NewL( 
-                                                    TAny* /*aInitParams*/ )
-    {
-    CConnectionMonitorPlugin* self = 
-                                new( ELeave ) CConnectionMonitorPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::Id
-// -----------------------------------------------------------------------------
-//
-TUid CConnectionMonitorPlugin::Id() const
-    {
-    return KConnectionMonitorPluginUID;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::DoActivateL
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::DoActivateL( 
-                                  const TVwsViewId& /*aPrevViewId*/,
-                                  TUid /*aCustomMessageId*/,
-                                  const TDesC8& /*aCustomMessage*/ )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::DoDeactivate
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::DoDeactivate()
-    {
-    }
-
-
-// ========================= From CGSPluginInterface ==================
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::GetCaptionL
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    HBufC* result = StringLoader::LoadL( 
-                                    R_QTN_CP_FOLDER_CONNECTION_MANAGEMENT );
-    aCaption.Copy( *result );
-    delete result;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::PluginProviderCategory
-// -----------------------------------------------------------------------------
-//
-TInt CConnectionMonitorPlugin::PluginProviderCategory() const
-    {
-    return KGSPluginProviderInternal;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::ItemType()
-// -----------------------------------------------------------------------------
-//
-TGSListboxItemTypes CConnectionMonitorPlugin::ItemType()
-    {
-    return EGSItemTypeSettingDialog;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::GetValue()
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::GetValue( const TGSPluginValueKeys /*aKey*/,
-                                      TDes& /*aValue*/ )
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::HandleSelection()
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::HandleSelection(
-    const TGSSelectionTypes /*aSelectionType*/ )
-    {
-    TRAPD( error, LaunchConnectionMonitorAppL() );
-    if( error != KErrNone )
-        {
-        ShowErrorNote( error );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorPlugin::CreateIconL
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CConnectionMonitorPlugin::CreateIconL( const TUid aIconType )
-    {
-    //EMbm<Mbm_file_name><Bitmap_name>
-    CGulIcon* icon;
-    TParse* fp = new( ELeave ) TParse();
-    CleanupStack::PushL( fp );
-    fp->Set( KConnectionMonitorPluginIconDirAndName, &KDC_BITMAP_DIR, NULL );
-
-    if ( aIconType == KGSIconTypeLbxItem )
-        {
-        icon = AknsUtils::CreateGulIconL(
-        AknsUtils::SkinInstance(),
-        KAknsIIDQgnPropCpConnMan,
-        fp->FullName(),
-        EMbmConnectionmonitorpluginQgn_prop_cp_conn_man,
-        EMbmConnectionmonitorpluginQgn_prop_cp_conn_man_mask );
-        }    
-    else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-
-    CleanupStack::PopAndDestroy( fp );
-
-    return icon;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::OpenLocalizedResourceFileL()
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::OpenLocalizedResourceFileL(
-    const TDesC& aResourceFileName,
-    RConeResourceLoader& aResourceLoader )
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect() );
-
-    // Find the resource file:
-    TParse parse;
-    parse.Set( aResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-
-    // Get language of resource file:
-    BaflUtils::NearestLanguageFile( fsSession, fileName );
-
-    // Open resource file:
-    aResourceLoader.OpenL( fileName );
-
-    // If leave occurs before this, close is called automatically when the
-    // thread exits.
-    fsSession.Close();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorPlugin::LaunchConnectionMonitorAppL()
-// -----------------------------------------------------------------------------
-//
-void CConnectionMonitorPlugin::LaunchConnectionMonitorAppL()
-    {
-    // Launch app
-    if ( iNullService )
-        {
-        delete iNullService;
-        iNullService = NULL;
-        }
-    iNullService = CAknNullService::NewL( KConnectionMonitorAppUid, this );
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNote
-// ---------------------------------------------------------
-//
-void CConnectionMonitorPlugin::ShowErrorNote(TInt aErrorCode)
-    {
-    TBool errorNoteShowed = EFalse;
-        
-    TRAPD(error, errorNoteShowed = ShowErrorNoteL(aErrorCode));
-            
-    if(error || !errorNoteShowed) 
-        {
-        TRAP_IGNORE( ShowGeneralErrorNoteL() );
-        }    
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNoteL
-// ---------------------------------------------------------
-//
-TBool CConnectionMonitorPlugin::ShowErrorNoteL(TInt aErrorCode)
-    {
-    CErrorUI* errorUi = CErrorUI::NewLC();
-    
-    TBool errorNoteShowed = errorUi->ShowGlobalErrorNoteL( aErrorCode );
-    
-    CleanupStack::PopAndDestroy( errorUi );
-        
-    return errorNoteShowed;
-    }    
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowGeneralErrorNoteL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorPlugin::ShowGeneralErrorNoteL()
-    {
-    HBufC *msg = HBufC::NewL( R_QTN_ERR_OS_GENERAL );
-    
-	msg->Des().Copy( _L( "" ) );
-    CAknGlobalNote *note = CAknGlobalNote::NewLC();
-    
-    
-    note->ShowNoteL( EAknGlobalErrorNote, *msg );
-
-
-    CleanupStack::PopAndDestroy( note );
-    CleanupStack::PopAndDestroy( msg );
-    }
-   
-// End of file
--- a/connectionmonitoring/connectionmonitorplugin/src/connectionmonitorpluginimplementationtable.cpp	Mon May 03 12:53:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007 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:  ECOM proxy table for ConnectionMonitorPlugin.
-*
-*/
-
-
-// User includes
-#include "connectionmonitorplugin.h"
-
-// System includes
-#include <e32std.h>
-#include <implementationproxy.h>
-
-
-// Constants
-const TImplementationProxy KConnectionMonitorPluginImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 0x10281BC2, CConnectionMonitorPlugin::NewL )
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-    TInt& aTableCount )
-    {
-    aTableCount = sizeof( KConnectionMonitorPluginImplementationTable )
-        / sizeof( TImplementationProxy );
-    return KConnectionMonitorPluginImplementationTable;
-    }
-
-
-// End of File
--- a/connectionmonitoring/connmon/connectionmonitor/src/ConnMonBearerGPRS.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/connectionmonitoring/connmon/connectionmonitor/src/ConnMonBearerGPRS.cpp	Fri May 14 16:15:46 2010 +0300
@@ -60,13 +60,14 @@
             {
             switch ( mode )
                 {
-                case RMobilePhone::ENetworkModeGsm:
-                case RMobilePhone::ENetworkModeUnknown: // Emulator default
+                case RMobilePhone::ENetworkModeGsm:                
                     err = iConnMonIAP->GetBearerSupportInfo( EBearerIdGPRS, byCell, byPhone );
                     break;
                 case RMobilePhone::ENetworkModeWcdma:
                     err = iConnMonIAP->GetBearerSupportInfo( EBearerIdWCDMA, byCell, byPhone );
                     break;
+                case RMobilePhone::ENetworkModeUnknown: // Emulator default
+                    break;
                 default:
                     LOGEXITFN1("TConnMonBearerGPRS::GetAvailability()", err)
                     return err; // Return silently, report not available
--- a/connectionmonitoring/group/bld.inf	Mon May 03 12:53:07 2010 +0300
+++ b/connectionmonitoring/group/bld.inf	Fri May 14 16:15:46 2010 +0300
@@ -22,7 +22,6 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
-#include "../connectionmonitorplugin/group/bld.inf"
 #include "../connectionmonitorui/group/bld.inf"
 #include "../connmon/connectionmonitor/group/bld.inf"
 #include "../connmon/dataconnectionlogger/group/bld.inf"
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/cellulardataconfirmation.h	Mon May 03 12:53:07 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/cellulardataconfirmation.h	Fri May 14 16:15:46 2010 +0300
@@ -20,7 +20,7 @@
 
 #include <e32base.h>
 #include <ConnectionUiUtilities.h>
-#include <hb/hbcore/hbsymbiandevicedialog.h>
+#include <hb/hbcore/hbdevicedialogsymbian.h>
 #include "ConnectionDialogsNotifBase.h"
 #include "ConnectionUiUtilitiesCommon.h"
 
@@ -90,7 +90,7 @@
     
     private:
         /** Pointer to the device dialog interface for handling the dialog */
-        CHbDeviceDialog* iDialog;
+        CHbDeviceDialogSymbian* iDialog;
         /** The observer to handle the data received from the orbit dialog */
         CDeviceDialogObserver* iObserver;
         /* The choice selected by the user from the dialog */
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/devicedialogobserver.h	Mon May 03 12:53:07 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/devicedialogobserver.h	Fri May 14 16:15:46 2010 +0300
@@ -18,7 +18,7 @@
 #ifndef __DEVICEDIALOGOBSERVER_H__
 #define __DEVICEDIALOGOBSERVER_H__
 
-#include "CellularDataConfirmation.h"
+#include "cellulardataconfirmation.h"
 
 NONSHARABLE_CLASS ( CDeviceDialogObserver ) : public CBase, public MHbDeviceDialogObserver
     {
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp	Fri May 14 16:15:46 2010 +0300
@@ -95,7 +95,7 @@
     
     // Observer is needed in order to get the user inputs
     iObserver = CDeviceDialogObserver::NewL( this );
-    iDialog = CHbDeviceDialog::NewL();
+    iDialog = CHbDeviceDialogSymbian::NewL();
     
     // The variant map is needed to construct the dialog correctly,
     // information whether we are in home network is needed
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/connectionstatuspopup.h	Mon May 03 12:53:07 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/connectionstatuspopup.h	Fri May 14 16:15:46 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDES
 #include <e32base.h>
-#include "HbDeviceNotificationDialogSymbian.h"
+#include "hbdevicenotificationdialogsymbian.h"
 
 /**
  * CConnectionStatusPopup
--- a/connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp	Mon May 03 12:53:07 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp	Fri May 14 16:15:46 2010 +0300
@@ -22,7 +22,6 @@
 
 #include <ecom/implementationproxy.h>
 #include <AknNotifierWrapper.h> // link against aknnotifierwrapper.lib
-#include <wifiprotuiddefs.h>
 
 
 // CONSTANTS
@@ -102,19 +101,6 @@
                                             KUidCConnDlgSelectConn,
                                             KMyPriority ) );
 
-_LIT( KWiFiProtSetupPluginName , "wifiprotplugin.dll" );
-   master = 
-        CAknCommonNotifierWrapper::NewL( KUidWiFiProtSetup,
-                                         KUidWiFiProtSetup,
-                                         KMyPriority,
-                                         KWiFiProtSetupPluginName,
-                                         1 ); // we don't use synch reply
-
-    CleanupStack::PushL( master );   
-    subjects->AppendL( master );
-    CleanupStack::Pop( master );
-
-
     // Disconnect dialog
     subjects->AppendL( CAknCommonNotifierWrapper::NewL( KUidDisconnectDlg,
                                                         KUidDisconnectDlg,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionutilities/confirmqueries/res/prompt_abroad.docml	Fri May 14 16:15:46 2010 +0300
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <string name="plainText" value="=== Heading ==="/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="label" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint type="PREFERRED" width="40un"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Lorem ipsum dolot sit amet, consecterur adispicing elit, sed do eiusmod temopr incidictunt."/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="topButton" type="HbPushButton">
+                <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="PREFERRED"/>
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <string name="text" value="Push Button"/>
+                <bool name="visible" value="TRUE"/>
+            </widget>
+            <widget name="cancelButton" type="HbPushButton">
+                <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="PREFERRED"/>
+                <string name="text" value="Push Button"/>
+                <bool name="visible" value="TRUE"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout orientation="Vertical" spacing="expr(var(hb-param-margin-gene-bottom)+var(hb-param-margin-gene-top))" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="label" spacing="expr(var(hb-param-margin-gene-middle-vertical)+var(hb-param-margin-gene-top))"/>
+                <linearitem itemname="topButton"/>
+                <linearitem itemname="cancelButton"/>
+            </layout>
+        </widget>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/connectionutilities/confirmqueries/res/prompt_home.docml	Fri May 14 16:15:46 2010 +0300
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <string name="plainText" value="=== Heading ==="/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="label" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint type="PREFERRED" width="40un"/>
+                <bool name="visible" value="TRUE"/>
+                <string name="plainText" value="Lorem ipsum dolot sit amet, consecterur adispicing elit, sed do eiusmod temopr incidictunt."/>
+                <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+            </widget>
+            <widget name="topButton" type="HbPushButton">
+                <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="PREFERRED"/>
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <string name="text" value="Push Button"/>
+                <bool name="visible" value="TRUE"/>
+            </widget>
+            <widget name="middleButton" type="HbPushButton">
+                <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="PREFERRED"/>
+                <string name="text" value="Push Button"/>
+                <bool name="visible" value="TRUE"/>
+            </widget>
+            <widget name="cancelButton" type="HbPushButton">
+                <sizepolicy horizontalPolicy="Minimum" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-touch-area-gene-primary-medium)" type="PREFERRED"/>
+                <string name="text" value="Push Button"/>
+                <bool name="visible" value="TRUE"/>
+            </widget>
+            <real name="z" value="0"/>
+            <layout orientation="Vertical" spacing="expr(var(hb-param-margin-gene-bottom)+var(hb-param-margin-gene-top))" type="linear">
+                <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+                <linearitem itemname="label" spacing="expr(var(hb-param-margin-gene-middle-vertical)+var(hb-param-margin-gene-top))"/>
+                <linearitem itemname="topButton"/>
+                <linearitem itemname="middleButton"/>
+                <linearitem itemname="cancelButton"/>
+            </layout>
+        </widget>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- a/ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h	Fri May 14 16:15:46 2010 +0300
@@ -40,18 +40,35 @@
  */
 namespace CMManagerShim
 {
+    /*!
+     *  Constants for bearer types.
+     */
     //! Wlan bearer type
     const uint BearerTypeWlan           = KUidWlanBearerType;
     //! Packet data bearer type
     const uint BearerTypePacketData     = KUidPacketDataBearerType;
 
     /*!
+     *  Constants for IPv4 and IPv6 addresses.
+     */
+    //! Unspecified IPv4 address
+    const QString UnspecifiedIpv4Address("0.0.0.0");
+    //! Known IPv6 name server 1
+    const QString KnownIpv6NameServer1("fec0:000:0000:ffff::1");
+    //! Known IPv6 name server 2
+    const QString KnownIpv6NameServer2("fec0:000:0000:ffff::2");
+    //! Dynamic IPv6 address
+    const QString DynamicIpv6Address("0:0:0:0:0:0:0:0");
+
+    /*!
      *  Constants for maximum string lengths.
      */
     //! Connection name length
     const uint CmNameLength                 = 30;
     //! Homepage address length
     const uint CmStartPageLength            = 1024;
+    //! IPv4 IP address length
+    const uint CmIP4AddressLength           = 15;
     //! IPv6 DNS address length
     const uint CmIP6NameServerLength        = 50;
     //! Proxy server address length
@@ -85,6 +102,8 @@
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmNetworkId                     = CMManager::ECmNetworkId,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmConnected                     = CMManager::ECmConnected,
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmId                            = CMManager::ECmId,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmStartPage                     = CMManager::ECmStartPage,
@@ -95,6 +114,12 @@
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmIPAddress                     = CMManager::ECmIPAddress,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmIPAddrFromServer              = CMManager::ECmIPAddFromServer,
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmIPNetmask                     = CMManager::ECmIPNetmask,
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmIPGateway                     = CMManager::ECmIPGateway,
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmIPNameServer1                 = CMManager::ECmIPNameServer1,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmIPNameServer2                 = CMManager::ECmIPNameServer2,
@@ -123,6 +148,11 @@
          * From TConnectionMethodPacketDataSpecificAttributes in
          * cmpluginpacketdatadef.h
          */
+        PacketDataPDPType               = CMManager::EPacketDataPDPType,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
         PacketDataIFPromptForAuth       = CMManager::EPacketDataIFPromptForAuth,
         /*!
          * From TConnectionMethodPacketDataSpecificAttributes in
@@ -133,6 +163,46 @@
          * From TConnectionMethodPacketDataSpecificAttributes in
          * cmpluginpacketdatadef.h
          */
+        PacketDataIPAddrFromServer      = CMManager::EPacketDataIPAddrFromServer,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPAddr                = CMManager::EPacketDataIPAddr,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPDNSAddrFromServer   = CMManager::EPacketDataIPDNSAddrFromServer,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPNameServer1         = CMManager::EPacketDataIPNameServer1,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPNameServer2         = CMManager::EPacketDataIPNameServer2,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPIP6DNSAddrFromServer = CMManager::EPacketDataIPIP6DNSAddrFromServer,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPIP6NameServer1      = CMManager::EPacketDataIPIP6NameServer1,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
+        PacketDataIPIP6NameServer2      = CMManager::EPacketDataIPIP6NameServer2,
+        /*!
+         * From TConnectionMethodPacketDataSpecificAttributes in
+         * cmpluginpacketdatadef.h
+         */
         PacketDataIFAuthPass            = CMManager::EPacketDataIFAuthPass,
         /*!
          * From TConnectionMethodPacketDataSpecificAttributes in
@@ -168,9 +238,15 @@
         //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
         WlanWepKeyIndex                 = CMManager::EWlanWepKeyIndex,
         //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
+        Wlan802_1xAllowUnencrypted      = CMManager::EWlan802_1xAllowUnencrypted,
+        //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
         WlanEnableWpaPsk                = CMManager::EWlanEnableWpaPsk,
         //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
-        WlanWpaPreSharedKey             = CMManager::EWlanWpaPreSharedKey
+        WlanWpaPreSharedKey             = CMManager::EWlanWpaPreSharedKey,
+        //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
+        WlanWapiPsk                     = CMManager::EWlanWapiPsk,
+        //!  From TConnectionMethodWlanSpecificAttributes in cmpluginwlandef.h
+        WlanWapiPskFormat               = CMManager::EWlanWapiPskFormat
     };
     
     /*!
--- a/ipcm_plat/extended_connection_settings_api/inc/cmcommonui.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmcommonui.h	Fri May 14 16:15:46 2010 +0300
@@ -18,6 +18,9 @@
 #ifndef CMCOMMONUI_H
 #define CMCOMMONUI_H
 
+// Deprecation warning
+#warning This header file is deprecated and will be removed. See Polonium CR #461 for details.
+
 // INCLUDES
 #include <e32def.h>
 #include <e32cmn.h>
--- a/ipcm_plat/extended_connection_settings_api/inc/cmconnectionmethodext.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmconnectionmethodext.h	Fri May 14 16:15:46 2010 +0300
@@ -16,10 +16,12 @@
 *
 */
 
-
 #ifndef CMCONNECTIONMETHODEXT_H
 #define CMCONNECTIONMETHODEXT_H
 
+// Deprecation warning
+#warning This header file is deprecated and shall not be used anymore. Please use cmconnectionmethod.h instead. See Polonium CR #461 for details.
+
 #include <e32base.h>
 #include <cmconnectionmethoddef.h>
 
--- a/ipcm_plat/extended_connection_settings_api/inc/cmdestinationext.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmdestinationext.h	Fri May 14 16:15:46 2010 +0300
@@ -20,6 +20,9 @@
 #ifndef CMDESTINATIONEXT_H
 #define CMDESTINATIONEXT_H
 
+// Deprecation warning
+#warning This header file is deprecated and shall not be used anymore. Please use cmdestination.h instead. See Polonium CR #461 for details.
+
 #include <e32base.h>
 #include <metadatabase.h>
 #include <cmmanagerdef.h>
--- a/ipcm_plat/extended_connection_settings_api/inc/cmmanagerext.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmmanagerext.h	Fri May 14 16:15:46 2010 +0300
@@ -20,6 +20,9 @@
 #ifndef CMMANAGEREXT_H
 #define CMMANAGEREXT_H
 
+// Deprecation warning
+#warning This header file is deprecated and shall not be used anymore. Please use cmmanager.h instead. See Polonium CR #461 for details.
+
 #include <e32base.h>
 #include <metadatabase.h>
 #include <cmmanagerdef.h>
--- a/ipcm_plat/extended_connection_settings_api/inc/cmpsettingsconsts.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmpsettingsconsts.h	Fri May 14 16:15:46 2010 +0300
@@ -19,6 +19,9 @@
 #ifndef CMPSETTINGS_CONSTS_H
 #define CMPSETTINGS_CONSTS_H
 
+// Deprecation warning
+#warning This header file is deprecated and shall not be used anymore. See Polonium CR #461 for details.
+
 // CONSTANTS
 
 #define KMaxConnNameLength            30
--- a/ipcm_plat/extended_connection_settings_api/inc/cmsettingsui.h	Mon May 03 12:53:07 2010 +0300
+++ b/ipcm_plat/extended_connection_settings_api/inc/cmsettingsui.h	Fri May 14 16:15:46 2010 +0300
@@ -18,6 +18,9 @@
 #ifndef C_CMSETTINGSUI_H
 #define C_CMSETTINGSUI_H
 
+// Deprecation warning
+#warning This header file is deprecated and will be removed. See Polonium CR #461 for details.
+
 #include <e32def.h>
 #include <e32base.h>