Revision: 201025
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 14:42:41 +0300
changeset 47 cb7afde124a3
parent 46 95d45f234cf3
child 49 faa5ef4f80da
child 53 4af712113915
Revision: 201025 Kit: 2010127
alwayson_net_plugin/pdpcontextmanager2/conf/CI_pdpcontextmanager2.confml
alwayson_net_plugin/pdpcontextmanager2/group/bld.inf
alwayson_net_plugin/pdpcontextmanager2/src/alwaysonlinepdpplugin.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoconnection.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmanager.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitor.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitorimpl.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoraumanager.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caoserver.cpp
alwayson_net_plugin/pdpcontextmanager2/src/caotimer.cpp
alwayson_net_plugin/pdpcontextmanager2/src/cenrepobserver.cpp
alwayson_net_plugin/pdpcontextmanager2/src/linger.cpp
apengine/apeng/src/APAccessPointItem.cpp
apengine/apeng/src/VpnApItem.cpp
apengine/apsettingshandlerui/inc/ApSettingsLookups.h
apengine/apsettingshandlerui/src/ApNetSelPopupList.cpp
apengine/apsettingshandlerui/src/ApSelPopupList.cpp
apengine/apsettingshandlerui/src/ApSelQueryDialog.cpp
apengine/apsettingshandlerui/src/ApSelectorDialog.cpp
apengine/apsettingshandlerui/src/ApSelectorListBox.cpp
apengine/apsettingshandlerui/src/ApSettingsCommons.cpp
apengine/apsettingshandlerui/src/ApSettingsDlg.cpp
apengine/apsettingshandlerui/src/ApSettingsModel.cpp
apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp
apengine/apsettingshandlerui/src/apsettingshandleruiImpl.cpp
bearermanagement/S60MCPR/inc/s60extendedtmselector.h
bearermanagement/S60MCPR/inc/s60mcpr.h
bearermanagement/S60MCPR/inc/s60mpmpolicyinterfaces.h
bearermanagement/S60MCPR/inc/s60tiermanagerselector.h
bearermanagement/S60MCPR/src/s60extendedtmselector.cpp
bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp
bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp
bearermanagement/S60MCPR/src/s60mcprstates.cpp
bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp
bearermanagement/mpm/conf/mpmvpntoggleapi.confml
bearermanagement/mpm/conf/mpmvpntoggleapi_20016a88.crml
bearermanagement/mpm/group/bld.inf
bearermanagement/mpm/group/mpmserver.mmp
bearermanagement/mpm/inc/mpmcommsdataccess.h
bearermanagement/mpm/inc/mpmofflinewatcher.h
bearermanagement/mpm/inc/mpmserver.h
bearermanagement/mpm/inc/mpmserver.inl
bearermanagement/mpm/inc/mpmserversession.h
bearermanagement/mpm/inc/mpmserversession.inl
bearermanagement/mpm/inc/mpmvpntogglewatcher.h
bearermanagement/mpm/inc/rmpm.h
bearermanagement/mpm/inc/rmpm.inl
bearermanagement/mpm/src/mpmcommsdataccess.cpp
bearermanagement/mpm/src/mpmconfirmdlgroaming.cpp
bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp
bearermanagement/mpm/src/mpmconnmonreqs.cpp
bearermanagement/mpm/src/mpmofflinewatcher.cpp
bearermanagement/mpm/src/mpmserver.cpp
bearermanagement/mpm/src/mpmserversession.cpp
bearermanagement/mpm/src/mpmvpntogglewatcher.cpp
cmmanager/cmmgr/cmmplugins/cmpluginembdestination/src/cmpluginembdestination.cpp
cmmanager/cpdestinationplugin/cpdestinationplugin.pro
cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h
cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp
cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp
cmmanager/cpipsettingsplugin/cpipsettingsplugin.pro
cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp
cmmanager/cppacketdataapplugin/inc/cppacketdataapview.h
cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp
cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.cpp
cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.h
connectionmonitoring/cellularindicatorplugin/inc/cellularindicatorplugin.h
connectionmonitoring/cellularindicatorplugin/src/cellularindicatorplugin.cpp
connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_reg.rss
connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsContainer.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiView.cpp
connectionmonitoring/connectionmonitorui/src/CsdConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/EasyWLANConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/GprsConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/WlanConnectionInfo.cpp
connectionmonitoring/connectionview/res/connectionview.css
connectionmonitoring/connectionview/src/connectionview.cpp
connectionmonitoring/indicatorobserver/inc/indicatorobserver.h
connectionmonitoring/indicatorobserver/src/indicatorobserver.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/NetworkInfoArray.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveOfflineWlanDisabledNote.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveWLANNetworkUnavailableNote.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWepDlgNotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWpaDlgNotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoBase.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteNotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WlanNetworkDataProvider.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/easywapidlgnotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetestnotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveCChangeConnectionDlg.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveWrapper.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ChangeConnectionDlg.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/connectionstatuspopup.cpp
connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionInfo.cpp
connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp
connectionutilities/ConnectionDialogs/DisconnectDlg/src/DisconnectDlgUi.cpp
connectionutilities/ConnectionDialogs/cconndlg/inc/ConnDlgPlugin.h
connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp
connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp
connectionutilities/ConnectionDialogs/group/bld.inf
connectionutilities/ConnectionDialogs/inc/ConnectionInfo.h
connectionutilities/ConnectionDialogs/inc/ConnectionInfo.inl
connectionutilities/ConnectionDialogs/src/ActiveIAPListing.cpp
connectionutilities/ConnectionDialogs/src/ConnectionDialogsNotifBase.cpp
connectionutilities/ConnectionDialogs/src/ConnectionInfoKey.cpp
connectionutilities/confirmqueries/src/cellularpromptdialog.cpp
dbcreator/conf/CI_commsdatcreator.confml
dbcreator/group/bld.inf
ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h
ipcm_plat/group/bld.inf
ipcm_plat/mpm_vpn_toggle_api/group/bld.inf
ipcm_plat/mpm_vpn_toggle_api/inc/mpmvpntoggleapi.h
ipcm_plat/mpm_vpn_toggle_api/mpm_vpn_toggle_api.metaxml
ipconnmgmt.pro
keepalive/flextimer/test/testflextimer/group/testflextimer_doxyfile.txt
layers.sysdef.xml
Binary file alwayson_net_plugin/pdpcontextmanager2/conf/CI_pdpcontextmanager2.confml has changed
--- a/alwayson_net_plugin/pdpcontextmanager2/group/bld.inf	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -26,7 +26,6 @@
 ../rom/pdpcontextmanager2.iby CORE_MW_LAYER_IBY_EXPORT_PATH(pdpcontextmanager2.iby)
 
 
-../conf/CI_pdpcontextmanager2.confml		APP_LAYER_CONFML(CI_pdpcontextmanager2.confml)
 ../conf/pdpcontextmanager2.confml		APP_LAYER_CONFML(pdpcontextmanager2.confml)
 ../conf/pdpcontextmanager2_102071F5.crml	APP_LAYER_CRML(pdpcontextmanager2_102071F5.crml)
 
--- a/alwayson_net_plugin/pdpcontextmanager2/src/alwaysonlinepdpplugin.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/alwaysonlinepdpplugin.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -67,7 +67,8 @@
 // ---------------------------------------------------------------------------
 //
 CAlwaysOnlinePDPPlugin::CAlwaysOnlinePDPPlugin():
-    CAlwaysOnlineEComInterface()
+    CAlwaysOnlineEComInterface(),
+    iAlwaysOnServer( NULL )
     {
     }
 
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoconnection.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoconnection.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -114,7 +114,8 @@
 // Constructor
 // ---------------------------------------------------------------------------
 //
-CAOConnection::CAOConnection()
+CAOConnection::CAOConnection():
+    iConnectionImpl( NULL )
     {
     LOG_1( _L("CAOConnection::CAOConnection") );
     }
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmanager.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmanager.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -208,7 +208,9 @@
                                         MAOConnectionManagerObserver& aObserver,
                                         MAOSettings& aSettings ):
     iObserver( aObserver ),
-    iSettings( aSettings )
+    iSettings( aSettings ),
+    iConnection( NULL ),
+    iConnectionMonitor( NULL ) 
     {
     LOG_1( _L("CAOConnectionManager::CAOConnectionManager") );
     }
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitor.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitor.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -79,9 +79,11 @@
 // Constructor
 // ---------------------------------------------------------------------------
 //
-CAOConnectionMonitor::CAOConnectionMonitor()
+CAOConnectionMonitor::CAOConnectionMonitor():
+    iConnectionMonitorImpl( NULL )
     {
     LOG_1( _L("CAOConnectionMonitor::CAOConnectionMonitor") );
+
     }
 
 // ---------------------------------------------------------------------------
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitorimpl.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoconnectionmonitorimpl.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -127,10 +127,16 @@
     MAOConnectionMonitorObserver& aObserver, MAOSettings& aSettings ):
     iObserver( aObserver ),
     iSettings( aSettings ),
+    iTelephony( NULL ),
     iWNRegPckg( iWNReg ),
     iWNRegChangePckg( iWNChangeReg ),
+    iNWRegistrationStatus( NULL ),
+    iNWRegistrationStatusChange( NULL ),
+    iBearer( NULL ), 
+    iMyConnectionId( 0 ),
     iConnectionAlive( EFalse ),
-    iBearerValue( KBearerNotSearched )
+    iBearerValue( KBearerNotSearched ),
+    iCounter( 0 )
     {
     LOG_1( _L("CAOConnectionMonitorImpl::CAOConnectionMonitorImpl") );
     }
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoraumanager.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoraumanager.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -80,7 +80,8 @@
 // CAORAUManager::CAORAUManager
 // ---------------------------------------------------------------------------
 //
-CAORAUManager::CAORAUManager()
+CAORAUManager::CAORAUManager():
+    iRAUManagerImpl( NULL )
     {
     LOG_1( _L("CAORAUManager::CAORAUManager") );
     }
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caoserver.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caoserver.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -197,7 +197,20 @@
 // CAOServer::CAOServer
 // ---------------------------------------------------------------------------
 //
-CAOServer::CAOServer()
+CAOServer::CAOServer():
+    iConnectionManager( NULL ),
+    iTimer( NULL ),
+    iRAUManager( NULL ),
+    iSettings( NULL ),
+    iGpds( NULL ),
+    iPointerStatePool( NULL ),
+    iAsyncReactivation( NULL ),
+    iFailure( MAOConnectionManager::EDisconnected ),
+    iActivationFailure( ETrue),
+    iCurrentState( NULL ),
+    iPDPPropertySubscriber( NULL ), 
+    iAsyncSetup( NULL ),
+    iCenRepObserver( NULL )
     {
     LOG_1( _L("CAOServer::CAOServer") );
     }
@@ -950,15 +963,16 @@
         &StateToDesC( CurrentState()->StateName() ) );
     
     if ( aValue != ECmCellularDataUsageDisabled )
-        {
-        TAOState* newState = NULL;
+       {
         	
         if ( CurrentState()->StateName() == TAOState::EStateDisabled )
             {
-            newState = iCurrentState->HandleEnableAlwaysOnL();
+              iCurrentState->HandleEnableAlwaysOnL();
             }
         else
             {
+            TAOState* newState = NULL;
+            
             // Behaviour is the same as if unconnect timer had expired
             iTimer->StopUnconnectTimer();
             newState = iCurrentState->HandleUnconnectTimerExpiredL();
--- a/alwayson_net_plugin/pdpcontextmanager2/src/caotimer.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/caotimer.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -228,7 +228,12 @@
 //
 CAOTimer::CAOTimer( MAOTimerObserver& aObserver, MAOSettings& aSettings ):
     iObserver( aObserver ),
-    iSettings( aSettings )
+    iSettings( aSettings ),
+    iRetryTimer( NULL ),
+    iRetryTimerCount( 0 ),
+    iCurrentRetryTimerInterval( 0 ), 
+    iConnectionTimer( NULL ),
+    iUnconnectTimer( NULL )
     {
     LOG_1( _L("CAOTimer::CAOTimer") );
     }
--- a/alwayson_net_plugin/pdpcontextmanager2/src/cenrepobserver.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/cenrepobserver.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -65,7 +65,10 @@
 CAOCenRepObserver::CAOCenRepObserver( MAOCenRepObserver& aObserver )
         :
         CActive( CActive::EPriorityStandard ),
-        iObserver( aObserver )
+        iObserver( aObserver ),
+        iRepository( NULL ), 
+        iErrorCounter( 0 )
+                
     {
     }
 
--- a/alwayson_net_plugin/pdpcontextmanager2/src/linger.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/alwayson_net_plugin/pdpcontextmanager2/src/linger.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -46,7 +46,11 @@
     iDlData( 0 ),
     iPckgDlData( iDlData ),
     iUlData( 0 ),
-    iPckgUlData( iUlData )
+    iPckgUlData( iUlData ),
+    iTimer( NULL ), 
+    iLingerInterval( 0 ), 
+    iLingerTimerCount( 0 ),
+    iCurrentTimerInterval( 0 ) 
     {
     }
 
--- a/apengine/apeng/src/APAccessPointItem.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apeng/src/APAccessPointItem.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -24,7 +24,7 @@
 #include    <f32file.h>
 #include    <bautils.h>
 #include    <barsc.h>
-#include    <ApEngine.rsg>
+#include    <apengine.rsg>
 #include    "ApAccessPointItem.h"
 #include    "ApEngineConsts.h"
 #include    "ApEngineCommons.h"
--- a/apengine/apeng/src/VpnApItem.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apeng/src/VpnApItem.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -21,7 +21,7 @@
 #include    <f32file.h>
 #include    <bautils.h>
 #include    <barsc.h>
-#include    <ApEngine.rsg>
+#include    <apengine.rsg>
 #include    <txtetext.h>
 #include    <data_caging_path_literals.hrh>
 
--- a/apengine/apsettingshandlerui/inc/ApSettingsLookups.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/inc/ApSettingsLookups.h	Tue Jul 06 14:42:41 2010 +0300
@@ -24,7 +24,7 @@
 
 // INCLUDE FILES
 #include <ApAccessPointItem.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 
 #include <ApSettingsHandlerCommons.h>
 
--- a/apengine/apsettingshandlerui/src/ApNetSelPopupList.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApNetSelPopupList.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -28,7 +28,7 @@
 #include "ApNetSelPopupList.h"
 #include "ApNetSelectorListBoxModel.h"
 #include "ApSettingsModel.h"
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include "ApsettingshandleruiImpl.h"
 
 
--- a/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelPopupList.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -21,7 +21,7 @@
 #include "APSettingsHandlerUIVariant.hrh"
 
 #include <ApListItem.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <featmgr.h>
 
 #include "ApSelectorListBoxModel.h"
--- a/apengine/apsettingshandlerui/src/ApSelQueryDialog.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelQueryDialog.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -23,7 +23,7 @@
 #include <AknIconArray.h>
 #include <AknsUtils.h>
 
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <apsettings.mbg>
 
 #include <featmgr.h>
--- a/apengine/apsettingshandlerui/src/ApSelectorDialog.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelectorDialog.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -25,7 +25,7 @@
 #include <eikmenup.h>
 
 #include <ApListItem.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 
 #include <featmgr.h>
 
--- a/apengine/apsettingshandlerui/src/ApSelectorListBox.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSelectorListBox.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -23,7 +23,7 @@
 //#include <EIKON.mbg>
 #include <avkon.mbg>
 #include <aknkeys.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <featmgr.h>
 
 #include "ApSelectorListbox.h"
--- a/apengine/apsettingshandlerui/src/ApSettingsCommons.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSettingsCommons.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -24,7 +24,7 @@
 #include <eikenv.h>
 #include <ApSettingsHandlerCommons.h>
 #include "ApSettingsHandlerUI.hrh"
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <AknQueryDialog.h>
 #include <aknnotedialog.h>
 #include <StringLoader.h>
--- a/apengine/apsettingshandlerui/src/ApSettingsDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSettingsDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -41,7 +41,7 @@
 #include "ApSettingsLookups.h"
 #include "ApSettingsDlg.h"
 #include "ApSettingsModel.h"
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 
 #include "ApSettingsHandlerUI.hrh"
 #include "ApsettingshandleruiImpl.h"
--- a/apengine/apsettingshandlerui/src/ApSettingsModel.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/ApSettingsModel.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -23,7 +23,7 @@
 #include <ApListItemList.h>
 #include <ApListItem.h>
 #include <ApSelect.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <VpnApEngine.h>
 #include <hlplch.h>
 #include <eikenv.h>
--- a/apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/apsettingsdeleteoperation.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -40,7 +40,7 @@
 #include "ApSelectorListBoxModel.h"
 #include "ApSettingsHandlerLogger.h"
 
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 //  TEST ENDS
 
 
--- a/apengine/apsettingshandlerui/src/apsettingshandleruiImpl.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/apengine/apsettingshandlerui/src/apsettingshandleruiImpl.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -23,7 +23,7 @@
 
 #include <bautils.h>
 #include <StringLoader.h>
-#include <ApSetUI.rsg>
+#include <apsetui.rsg>
 #include <ActiveApDb.h>
 
 #include "ApsettingshandleruiImpl.h"
--- a/bearermanagement/S60MCPR/inc/s60extendedtmselector.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60extendedtmselector.h	Tue Jul 06 14:42:41 2010 +0300
@@ -25,9 +25,6 @@
 
 #include <comms-infras/simpleselectorbase.h>
 
-// Forward declaration
-class ESock::CMetaConnectionProviderBase;
-
 /**
  * TS60ProviderSelectorFactory
  */
--- a/bearermanagement/S60MCPR/inc/s60mcpr.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60mcpr.h	Tue Jul 06 14:42:41 2010 +0300
@@ -253,11 +253,11 @@
      * Used to filter out extra notifications because MPM only needs one 
      * started/stopped event. Implement as simple FlipFlop -flag.
      */
-    TBool                   iDataClientStatusStarted : 1;
+    TBool                   iDataClientStatusStarted;
     /**
      * Synchronisation flags, private by design, can be modified only by CMobilityActivity
      */
-    TBool                   iIsHandshakingNow : 1; 
+    TBool                   iIsHandshakingNow; 
     
     /**
      * Connection preference list
--- a/bearermanagement/S60MCPR/inc/s60mpmpolicyinterfaces.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60mpmpolicyinterfaces.h	Tue Jul 06 14:42:41 2010 +0300
@@ -65,6 +65,7 @@
     {
     enum TPolicyServerOperations
         {
+        EPolicyRequestInvalid,
         EPolicyRequestChooseBestIAP = EMPMChooseBestIAP,
         EPolicyRequestReselectBestIAP = EMPMReselectBestIAP,
         EPolicyRequestProcessError = EMPMProcessError,
@@ -94,12 +95,14 @@
          * c++ constructor 
          */
         PolicyRequest()
-            :   iConnPref(NULL),
+            :   iRequestType( S60MCPRMPMOperations::EPolicyRequestInvalid ),
+                iConnPref(NULL),
                 iIapId(0),
                 iConnId(0),
                 iAppUid(KNullUid),
                 iError(KErrNone),
                 iPolicyPref(NULL),
+                iNeededAction( EIgnoreError ),
                 iStatus(KErrNone),
                 iUser(NULL)
             {}
--- a/bearermanagement/S60MCPR/inc/s60tiermanagerselector.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/inc/s60tiermanagerselector.h	Tue Jul 06 14:42:41 2010 +0300
@@ -25,9 +25,6 @@
 
 #include <comms-infras/simpleselectorbase.h>
 
-// Forward declaration
-class ESock::CMetaConnectionProviderBase;
-
 /**
  * TS60ProviderSelectorFactory
  */
--- a/bearermanagement/S60MCPR/src/s60extendedtmselector.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60extendedtmselector.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -56,10 +56,12 @@
 // -----------------------------------------------------------------------------
 //
 CExtendedS60SelectorBase::CExtendedS60SelectorBase(  TUid aTierId, const ESock::RConnPrefList& aConnPrefList )
-    :    ASimpleSelectorBase( )
+    :    ASimpleSelectorBase( ),
+         iDefaultAp( 0 ),
+         iConnPrefList( aConnPrefList ),
+         iTierId( aTierId ),
+         iSubSessionUniqueId( 0 )
     {
-    iTierId = aTierId;
-    iConnPrefList = aConnPrefList;
     }
 
 // -----------------------------------------------------------------------------
--- a/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprerrorrecoveryactivity.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -174,7 +174,6 @@
     DEFINE_SMELEMENT(TRetryConnectionOrProcessErrorTagBackward, NetStateMachine::MStateFork, TContext)
     TInt TRetryConnectionOrProcessErrorTagBackward::TransitionTag()
         {
-        CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node();
         TCFMcpr::TReConnectComplete* msg = NULL;
         if ( iContext.iMessage.IsMessage<TCFMcpr::TReConnectComplete>() )
             {
@@ -185,9 +184,8 @@
             {
             S60MCPRLOGSTRING1("S60MCPR<%x>::TRetryConnectionOrProcessErrorTagBackward::TransitionTag() KProcessError",(TInt*)&iContext.Node());
             return S60MCprStates::KProcessError | NetStateMachine::EBackward;
-            //return KErrorTag | NetStateMachine::EForward;
             }
-        else// if ( node.ServiceProvider()->ProviderInfo().APId() == node.PolicyPrefs().IapId() )
+        else
             {
             S60MCPRLOGSTRING1("S60MCPR<%x>::TRetryConnectionOrProcessErrorTagBackward::TransitionTag() KRetryConnection",(TInt*)&iContext.Node());
             return S60MCprStates::KRetryConnection | NetStateMachine::EForward;
--- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -325,7 +325,11 @@
     //
     CS60MobilityActivity::CS60MobilityActivity( const MeshMachine::TNodeActivity& aActivitySig, 
                                                 MeshMachine::AMMNodeBase& aNode )
-        :   S60MCprStates::CS60ErrorRecoveryActivity( aActivitySig, aNode )
+        :   S60MCprStates::CS60ErrorRecoveryActivity( aActivitySig, aNode ),
+            iCurrentAssumedAPId( 0 ),
+            iPreferredAPId( 0 ),
+            iIsUpgrade( EFalse ),
+            iIsSeamless( EFalse )
         {}
 
 
--- a/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -368,10 +368,10 @@
 
         // Only EIntSetting is supported 
         // 
-        if ( ( TMCprGetConnectionSetting::TConnectionSettingType)msg->iSettingType == 
-               TMCprGetConnectionSetting::EIntSetting
-               && node.PolicyPrefs().ServiceId() != 0 
-               && field.Compare( KIapProxyServiceSetting ) == 0  )
+        if ( msg
+             && msg->iSettingType == TMCprGetConnectionSetting::EIntSetting
+             && node.PolicyPrefs().ServiceId() != 0 
+             && field.Compare( KIapProxyServiceSetting ) == 0  )
             {
             S60MCPRLOGSTRING1("S60MCPR<%x>::TAwaitingServiceIdRequest::Accept() TMCprGetConnectionSetting EIntSetting", 
                 (TInt*)&iContext.Node())
--- a/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -67,7 +67,9 @@
 // -----------------------------------------------------------------------------
 //
 CSimpleS60SelectorBase::CSimpleS60SelectorBase( const Meta::SMetaData& aSelectionPreferences )
-    :    ASimpleSelectorBase( aSelectionPreferences )
+    :    ASimpleSelectorBase( aSelectionPreferences ),
+         iDefaultAp( 0 ),
+         iSubSessionUniqueId( 0 )
     {
     }
 
Binary file bearermanagement/mpm/conf/mpmvpntoggleapi.confml has changed
Binary file bearermanagement/mpm/conf/mpmvpntoggleapi_20016a88.crml has changed
--- a/bearermanagement/mpm/group/bld.inf	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2004-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"
@@ -21,13 +21,15 @@
 DEFAULT
 
 PRJ_EXPORTS
-../inc/rmpm.h                   |../../../inc/rmpm.h
-../inc/rmpm.inl                 |../../../inc/rmpm.inl
-../rom/mpm.iby                  CORE_MW_LAYER_IBY_EXPORT_PATH(mpm.iby)
-../rom/mpmserver.iby            CORE_MW_LAYER_IBY_EXPORT_PATH(mpmserver.iby)
-../conf/mpm.confml              MW_LAYER_CONFML(mpm.confml)
-../conf/mpm_101f6d12.crml       MW_LAYER_CRML(mpm_101f6d12.crml)
-../conf/mpm_101f6d50.crml       MW_LAYER_CRML(mpm_101f6d50.crml)
+../inc/rmpm.h                           |../../../inc/rmpm.h
+../inc/rmpm.inl                         |../../../inc/rmpm.inl
+../rom/mpm.iby                          CORE_MW_LAYER_IBY_EXPORT_PATH(mpm.iby)
+../rom/mpmserver.iby                    CORE_MW_LAYER_IBY_EXPORT_PATH(mpmserver.iby)
+../conf/mpm.confml                      MW_LAYER_CONFML(mpm.confml)
+../conf/mpm_101f6d12.crml               MW_LAYER_CRML(mpm_101f6d12.crml)
+../conf/mpm_101f6d50.crml               MW_LAYER_CRML(mpm_101f6d50.crml)
+../conf/mpmvpntoggleapi.confml          MW_LAYER_CONFML(mpmvpntoggleapi.confml)
+../conf/mpmvpntoggleapi_20016a88.crml   MW_LAYER_CRML(mpmvpntoggleapi_20016a88.crml)
 
 PRJ_MMPFILES
 mpmclient.mmp
--- a/bearermanagement/mpm/group/mpmserver.mmp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/group/mpmserver.mmp	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2004-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"
@@ -49,7 +49,7 @@
 SOURCE            mpmcsidwatcher.cpp
 SOURCE            mpmdialogbase.cpp
 SOURCE            mpmdatausagewatcher.cpp
-SOURCE            mpmofflinewatcher.cpp
+SOURCE            mpmvpntogglewatcher.cpp
 
 USERINCLUDE       ../inc
 
--- a/bearermanagement/mpm/inc/mpmcommsdataccess.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmcommsdataccess.h	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-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"
@@ -264,7 +264,14 @@
         */
         TBool IsInternetSnapL( TUint32 aIapId, TUint32 aSnapId );
 
-       /**
+        /**
+         * Returns true if destination is intranet.
+         * @param aSnapId Snap id
+         * @return True or false depending on destination type.
+         */
+         TBool IsIntranetSnapL( TUint32 aSnapId );
+
+        /**
         * Used to get bearer type of the iap.
         *
         * @since 5.0
--- a/bearermanagement/mpm/inc/mpmofflinewatcher.h	Wed Jun 23 18:39:24 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2008-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: Listens for offline mode changes in central repository.
-*
-*/
-
-#ifndef MPMOFFLINEWATCHER_H
-#define MPMOFFLINEWATCHER_H
-
-//  INCLUDES
-#include <e32base.h>
-
-class CRepository;
-class CMPMServer;
-
-// Stop after this many consecutive central repository errors.
-const TInt KMpmOfflineWatcherCenRepErrorThreshold = 80;
-
-/**
- *  Class for accessing central repository.
- *  Follows KCoreAppUIsNetworkConnectionAllowed key in central repository.
- *  @since 5.2
- */
-class CMpmOfflineWatcher : public CActive
-    {
-
-public:
-
-    /**
-    * New for calling the two-phased constructor.
-    */
-    static CMpmOfflineWatcher* NewL( CMPMServer* aServer );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CMpmOfflineWatcher();
-
-    /**
-     * Start to listen for events.
-     */
-    void StartL();
-    
-    /**
-    * Active object's RunL.
-    */
-    void RunL();
-
-    /**
-    * Active object's DoCancel.
-    */
-    void DoCancel();
-
-private:
-
-    /**
-    * C++ default constructor.
-    */
-    CMpmOfflineWatcher( CMPMServer* aServer );
-
-    /**
-    * Symbian 2nd phase constructor.
-    */
-    void ConstructL();
-    
-    /**
-    * Request for notifications.
-    */
-    TInt RequestNotifications();
-    
-    /**
-    * Get current offline mode value.
-    */
-    TInt GetCurrentOfflineValue();
-
-
-private: // data
-
-    /**
-     * Is offline feature supported.
-     */
-    TBool iOfflineFeatureSupported;
-
-    /**
-     * Central repository handle.
-     * Own.
-     */
-    CRepository* iRepository;
-
-    /**
-     * Offline mode activity value.
-     */
-    TInt iOfflineMode;     // type: TCoreAppUIsNetworkConnectionAllowed
-
-    /**
-     * Pointer to the MPM Server object.
-     * Not own.
-     */
-    CMPMServer* iServer;
-
-    /**
-     * Error counter.
-     */
-    TUint iErrorCounter;
-
-    };
-
-#endif // MPMOFFLINEWATCHER_H
--- a/bearermanagement/mpm/inc/mpmserver.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserver.h	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2004-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"
@@ -34,12 +34,13 @@
 #include "mpmcommon.h"
 #include "rmpm.h"
 #include "mpmroamingwatcher.h"
+#include "mpmvpntogglewatcher.h"
 
 
 class CMPMCommsDatAccess;
 class CMpmCsIdWatcher;
 class CMpmDataUsageWatcher;
-class CMpmOfflineWatcher;
+class CMpmVpnToggleWatcher;
 
 // CONSTANTS
 _LIT( KMPMPanicCategory, "Mobility Policy Manager Server" );
@@ -265,7 +266,8 @@
 *  @lib MPMServer.exe
 *  @since 3.0
 */
-class CMPMServer : public CPolicyServer
+class CMPMServer : public CPolicyServer,
+                   public MMpmVpnToggleWatcherNotify
     {
     public: // Constructors and destructor
 
@@ -693,6 +695,20 @@
     public: // Functions from base classes
 
         /**
+         * From MMpmVpnToggleWatcherNotify. Sets values for VPN toggle after
+         * VPN toggle key changes in central repository.
+         * @param aVpnPreferred Informs if VPN connection is preferred
+         *                      connection
+         * @param aVpnIapId VPN IAP Id, which is used for VPN connection, when
+         *                  VPN connection is preferred                           
+         * @param aSnapId SNAP Id SNAP Id, which is used for VPN connection,
+         *                when VPN connection is preferred
+         */
+         void SetVpnToggleValuesL( const TBool aVpnPreferred,
+                                   const TUint32 aVpnIapId,
+                                   const TUint32 aSnapId );
+
+        /**
         * From CServer2. Creates a new session for a client.
         * @since 3.0
         * @param aVersion Version information
@@ -704,7 +720,7 @@
 
         // Stops connection of certain IAP, zero for all connections
         void StopConnections( TInt aIapId = 0 );
-
+                
     public:
 
         /**
@@ -746,6 +762,34 @@
          * @return ETrue if user connection is in internet snap
          */
         TBool UserConnectionInInternet() const;
+
+        /**
+         * Mark that there is an active VPN user connection.
+         */
+        void AddVpnUserConnectionSession();
+        
+        /**
+         * Mark that VPN user connection is not active
+         */
+        void RemoveVpnUserConnectionSession();
+        
+        /**
+         * Informs if VPN user connection is used with given MPM preferences
+         * and application.
+         * @param aMpmConnPref MPM connection preferences.
+         * @param aAppUid Application UID
+         * @return Informs if VPN connection is preferred
+         */        
+        TBool UseVpnUserConnection( const TMpmConnPref aMpmConnPref,
+                                    const TUint32 aAppUid ) const;
+        
+        /**
+         * Prepares VPN user connection.
+         * @param aMpmConnPref Connection preferences, which are modified
+         *                     for VPN user connection (returned)
+         * @return Informs if preparation was successful.                                         
+         */
+        TBool PrepareVpnUserConnection( TMpmConnPref& aMpmConnPref );
                 
         /**
          * Handle to central repository watcher
@@ -755,6 +799,12 @@
         inline CMpmCsIdWatcher* CsIdWatcher();
 
         /**
+         * Handle to VPN toggle central repository watcher
+         * @return Pointer to watcher object.
+         */
+        inline CMpmVpnToggleWatcher* VpnToggleWatcher();
+
+        /**
         * Returns server session instance that corresponds to given
         * connection id.
         * @since 5.2
@@ -889,6 +939,10 @@
         // Set when user connection in internet snap
         TBool iUserConnectionInInternet;
         
+        // Count of sessions using VPN user connection
+        //
+        TInt iVpnUserConnectionSessionCount;        
+        
         /**
          * Handle to central repository watcher
          * Own.
@@ -896,14 +950,15 @@
         CMpmCsIdWatcher* iMpmCsIdWatcher;
 
         /**
-         * Handle to central repository watcher
+         * Handle to VPN toggle central repository watcher.
+         * Own.
          */
-        CMpmDataUsageWatcher* iMpmDataUsageWatcher;
+        CMpmVpnToggleWatcher* iMpmVpnToggleWatcher;
 
         /**
          * Handle to central repository watcher
          */
-        CMpmOfflineWatcher* iMpmOfflineWatcher;
+        CMpmDataUsageWatcher* iMpmDataUsageWatcher;
 
         // Dedicated clients
         RArray<TUint32> iDedicatedClients;
--- a/bearermanagement/mpm/inc/mpmserver.inl	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserver.inl	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-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"
@@ -186,6 +186,15 @@
     }
 
 // -----------------------------------------------------------------------------
+// CMPMServer::VpnToggleWatcher
+// -----------------------------------------------------------------------------
+//
+inline CMpmVpnToggleWatcher* CMPMServer::VpnToggleWatcher()
+    {
+    return iMpmVpnToggleWatcher;
+    }
+
+// -----------------------------------------------------------------------------
 // CMPMServer::DedicatedClients
 // -----------------------------------------------------------------------------
 //
--- a/bearermanagement/mpm/inc/mpmserversession.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserversession.h	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2004-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"
@@ -413,6 +413,18 @@
         TBool UseUserConnPref();
         
         /**
+         * Returns VPN user connection usage status.
+         * @return ETrue if VPN user connection is used in this session.
+         */
+        inline TBool VpnUserConnectionUsed() const;
+
+        /**
+         * Sets VPN user connection usage status.
+         * @param aEnabled Informs if VPN user connection is used.
+         */
+        void SetVpnUserConnectionUsed( const TBool aEnabled );
+        
+        /**
         * Returns id of the client.
         *
         * @since 5.0
@@ -926,21 +938,26 @@
         //    
         CMPMIapSelection* iIapSelection;
 
-				// Stored state of migrating to carrier
-				// 
-				TMigrateToCarrierState iMigrateState;
+        // Stored state of migrating to carrier
+        // 
+        TMigrateToCarrierState iMigrateState;
 
-				// Last Iap notified using PreferredIap-notification
-				//
-				TUint32 iLastNotifiedIap;
-		
-		    // Iap to which connection is migrating
+        // Last Iap notified using PreferredIap-notification
+        //
+        TUint32 iLastNotifiedIap;
+    
+        // Iap to which connection is migrating
         //
         TUint32 iMigrateIap;
 
         // Set when this session is user connection
-		    //
+        //
         TBool iUserConnection;
+
+        // Set when this session uses VPN user connection
+        //
+        TBool iVpnUserConnectionUsed;        
+
     };
 
 #include "mpmserversession.inl"
--- a/bearermanagement/mpm/inc/mpmserversession.inl	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserversession.inl	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-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"
@@ -80,6 +80,15 @@
     }
 
 // -----------------------------------------------------------------------------
+// CMPMServerSession::VpnUserConnectionUsed
+// -----------------------------------------------------------------------------
+//
+inline TBool CMPMServerSession::VpnUserConnectionUsed() const
+    {
+    return iVpnUserConnectionUsed;
+    }
+
+// -----------------------------------------------------------------------------
 // CMPMServerSession::AppUid
 // -----------------------------------------------------------------------------
 //
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/inc/mpmvpntogglewatcher.h	Tue Jul 06 14:42:41 2010 +0300
@@ -0,0 +1,166 @@
+/*
+* 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: Listen VPN toggle key changes in central repository.
+*
+*/
+
+#ifndef MPMVPNTOGGLEWATCHER_H
+#define MPMVPNTOGGLEWATCHER_H
+
+//  INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CRepository;
+
+// Stop after this many consecutive central repository errors.
+const TInt KMpmVpnToggleWatcherCenRepErrorThreshold = 80;
+
+/**
+* Class that specifies the functions for handling notify messages about
+* VPN toggle key changes in central repository.
+*/
+class MMpmVpnToggleWatcherNotify
+{
+public:
+    
+    /**
+     * Sets values for VPN toggle after VPN toggle key changes in central
+     * repository.
+     * @param aVpnPreferred Informs if VPN connection is preferred
+     *                      connection
+     * @param aVpnIapId VPN IAP Id, which is used for VPN connection, when
+     *                  VPN connection is preferred                           
+     * @param aSnapId SNAP Id SNAP Id, which is used for VPN connection,
+     *                when VPN connection is preferred
+     */
+     virtual void SetVpnToggleValuesL( const TBool aVpnPreferred,
+                                       const TUint32 aVpnIapId,
+                                       const TUint32 aSnapId ) = 0;
+};
+
+
+/**
+ *  Class for monitoring VPN toggle key changes in central repository.
+ *  Follows KMpmVpnToggleCenRepUid key in central repository.
+ */
+class CMpmVpnToggleWatcher : public CActive
+    {
+public:
+
+    /**
+    * Two-phased constructor.
+    * @param aNotify Handler for notify messages.
+    */    
+    static CMpmVpnToggleWatcher* NewL( MMpmVpnToggleWatcherNotify& aNotify );
+
+    /**
+    * Destructor.
+    */
+    virtual ~CMpmVpnToggleWatcher();
+    
+    /**
+     * Call this when you want to start listen event.
+     */
+    void StartL();    
+        
+    /**
+     * Informs if VPN connection is preferred.
+     * @return True if VPN connection is preferred.
+     */
+    TBool IsVpnConnectionPreferred() const;
+    
+    /**
+     * Returns VPN IAP Id, which is used for VPN connection, when VPN
+     * connection is preferred.
+     * @return VPN IAP Id
+     */
+    TUint32 VpnIapId() const;
+    
+    /**
+     * Returns SNAP Id, which is used for VPN connection, when VPN
+     * connection is preferred.
+     * @return SNAP Id
+     */
+    TUint32 SnapId() const;    
+    
+    /**
+     * Resets VPN toggle values.
+     */    
+    void ResetVpnToggleValues();
+    
+private:
+
+    CMpmVpnToggleWatcher( MMpmVpnToggleWatcherNotify& aNotify );
+
+    void ConstructL();
+    
+    /**
+     * Request for notifications.
+     * @return Error value
+     */
+    TInt RequestNotifications();
+    
+    /**
+     * Gets VPN toggle values.
+     * @return Error value
+     */
+    TInt GetVpnToggleValues();
+
+// from base class CActive
+
+    void RunL();
+
+    void DoCancel();
+    
+private: // data
+    
+    /**
+     * Central repository handle
+     * Own.
+     */
+    CRepository* iRepository;    
+    
+    /**
+     * Informs if VPN connection is preferred connection
+     * Own.
+     */
+    TBool iVpnConnectionPreferred;
+    
+    /**
+     * VPN IAP Id which is used, when VPN connection is preferred
+     * Own.
+     */
+    TUint32 iVpnIapId;
+    
+    /**
+     * SNAP Id which is used, when VPN connection is preferred
+     * Own.
+     */
+    TUint32 iSnapId;
+    
+    /**
+     * Error counter.
+     */
+    TUint iErrorCounter;
+
+    /**
+     * Handler for notify messages.
+     * Not own.
+     */
+    MMpmVpnToggleWatcherNotify& iNotify;
+    
+    };
+
+#endif // MPMVPNTOGGLEWATCHER_H
--- a/bearermanagement/mpm/inc/rmpm.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/rmpm.h	Tue Jul 06 14:42:41 2010 +0300
@@ -117,7 +117,7 @@
     public:
         // Zero values 
         inline void Reset();    
-        inline const TInt Count() const;
+        inline TInt Count() const;
 
     public:
         TUint   iCount;
@@ -275,7 +275,7 @@
     
 public:
     enum { EConnS60PolicyPref = 0x0f }; // TConnPref has defined up to 0x07.
-    inline TPolicyConnPref::TPolicyConnPref()
+    inline TPolicyConnPref()
     : TConnPref( TPolicyConnPref::EConnS60PolicyPref )
         {
         SetIapId( 0 );
@@ -391,7 +391,7 @@
         EConnTypeExplicit
     };
     
-    inline TMpmConnPref::TMpmConnPref()
+    inline TMpmConnPref()
     : TConnPref( TMpmConnPref::EConnPrefMpm )
         {
         SetSnapPurpose( CMManager::ESnapPurposeUnknown );
--- a/bearermanagement/mpm/inc/rmpm.inl	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/inc/rmpm.inl	Tue Jul 06 14:42:41 2010 +0300
@@ -33,7 +33,7 @@
 // TMpmSnapBuffer::Count
 // -----------------------------------------------------------------------------
 //
-inline const TInt TMpmSnapBuffer::Count() const
+inline TInt TMpmSnapBuffer::Count() const
     {
     return iCount;
     }
--- a/bearermanagement/mpm/src/mpmcommsdataccess.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmcommsdataccess.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2007-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"
@@ -2153,6 +2153,31 @@
     }
 
 // -----------------------------------------------------------------------------
+// CMPMCommsDatAccess::IsIntranetSnapL
+// -----------------------------------------------------------------------------
+//
+TBool CMPMCommsDatAccess::IsIntranetSnapL( TUint32 aSnapId )
+    {
+    MPMLOGSTRING( "CMPMCommsDatAccess::IsIntranetSnapL" )
+
+    RCmManager rCmManager;
+    rCmManager.OpenLC();
+
+    RCmDestination dest = rCmManager.DestinationL( aSnapId );
+    CleanupClosePushL(dest);
+    TInt snapMetadata = dest.MetadataL( CMManager::ESnapMetadataPurpose );
+    CleanupStack::PopAndDestroy( &dest );
+    CleanupStack::PopAndDestroy( &rCmManager );
+    
+    if ( snapMetadata == CMManager::ESnapPurposeIntranet )
+        {
+        return ETrue;
+        }
+    
+    return EFalse;            
+    }
+
+// -----------------------------------------------------------------------------
 // CMPMCommsDatAccess::GetBearerTypeL
 // -----------------------------------------------------------------------------
 //
--- a/bearermanagement/mpm/src/mpmconfirmdlgroaming.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconfirmdlgroaming.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -67,6 +67,8 @@
       iIAP( aIAP ),
       iDialogType( aDialogType ),
       iConfirmDlg( NULL ),
+      iMsgQuery( EMsgQueryCancelled ),
+      iError( 0 ),
       iReconnect( aReconnect )
     {
     }
--- a/bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -81,9 +81,11 @@
       iIAP( aIAP ),
       iDialogType( aDialogType ),
       iConfirmDlg( NULL ),
+      iMsgQuery( EMsgQueryCancelled ),
       iPref( aPref ),
       iServer( aServer ),
       iSession ( aSession ),
+      iError( 0 ),
       iIapState( aIapState )
     {
     }
--- a/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -56,7 +56,9 @@
                                  RConnectionMonitor& aConnMon,
                                  TUint aConnId, 
                                  CMPMServerSession* aSession )
-    : CActive(CActive::EPriorityStandard), 
+    : CActive(CActive::EPriorityStandard),
+      iNextState( EGetIapAvailState ),
+      iLastCancelCode( 0 ),
       iParent(aParent), 
       iConnMon(aConnMon), 
       iConnId(aConnId), 
--- a/bearermanagement/mpm/src/mpmofflinewatcher.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 2008-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: Listens central repository for offline mode changes.
- *
- */
-
-#include <e32base.h>
-#include <centralrepository.h>
-#include <CoreApplicationUIsSDKCRKeys.h>
-#include <featmgr.h>
-
-#include "mpmlogger.h"
-#include "mpmserver.h"
-#include "mpmofflinewatcher.h"
-
-// ---------------------------------------------------------------------------
-// Default C++ constructor.
-// ---------------------------------------------------------------------------
-//
-CMpmOfflineWatcher::CMpmOfflineWatcher( CMPMServer* aServer ) :
-    CActive( EPriorityStandard ), iServer( aServer )
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::CMpmOfflineWatcher" )
-
-    CActiveScheduler::Add( this );
-    }
-
-// ---------------------------------------------------------------------------
-// Symbian 2nd phase constructor. Creates a central repository object.
-// ---------------------------------------------------------------------------
-//
-void CMpmOfflineWatcher::ConstructL()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::ConstructL" )
-
-    FeatureManager::InitializeLibL();
-    // If feature isn't supported, then no watching, but return in StartL().
-    iOfflineFeatureSupported = FeatureManager::FeatureSupported( 
-                               KFeatureIdOfflineMode );
-    FeatureManager::UnInitializeLib();
-
-        
-    iRepository = CRepository::NewL( KCRUidCoreApplicationUIs );
-    }
-
-// ---------------------------------------------------------------------------
-// Creates a new object by calling the two-phased constructor.
-// ---------------------------------------------------------------------------
-//
-CMpmOfflineWatcher* CMpmOfflineWatcher::NewL( CMPMServer* aServer )
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::NewL" )
-
-    CMpmOfflineWatcher* self = new( ELeave ) CMpmOfflineWatcher( aServer );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-CMpmOfflineWatcher::~CMpmOfflineWatcher()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::~CMpmOfflineWatcher" )
-
-    Cancel();
-    delete iRepository;
-    }
-
-// ---------------------------------------------------------------------------
-// Order notification from changes.
-// ---------------------------------------------------------------------------
-//
-void CMpmOfflineWatcher::StartL()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::StartL" )
-            
-    if ( !iOfflineFeatureSupported )
-        {
-        return;
-        }
-
-    // Get the initial data usage value from repository.
-    User::LeaveIfError( GetCurrentOfflineValue() );
-    iServer->UpdateOfflineMode( iOfflineMode );
-    
-    // Request notifications.
-    User::LeaveIfError( RequestNotifications() );
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// Event is received when there is a change in central repository key.
-// ---------------------------------------------------------------------------
-//
-void CMpmOfflineWatcher::RunL()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::RunL" )
-
-    if ( iStatus.Int() < KErrNone )
-        {
-        MPMLOGSTRING2("Status: 0x%08X", iStatus.Int())
-        iErrorCounter++;
-        if ( iErrorCounter > KMpmOfflineWatcherCenRepErrorThreshold )
-            {
-            MPMLOGSTRING2("Over %d consecutive errors, stopping notifications permanently.",
-                    KMpmOfflineWatcherCenRepErrorThreshold)
-            return;
-            }
-        // Else: Error occured but counter not expired. Proceed.
-        }
-    else
-        {
-        // Notification is received ok => Reset the counter.
-        iErrorCounter = 0;
-
-        // Check if mode has changed (it should).
-        TInt oldMode = iOfflineMode;
-        
-        TInt err = GetCurrentOfflineValue();
-        if ( err == KErrNone && oldMode != iOfflineMode )
-            {
-            iServer->UpdateOfflineMode( iOfflineMode );
-            }
-        }
-    
-    RequestNotifications();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CActive.
-// Cancel the outstanding request.
-// ---------------------------------------------------------------------------
-//
-void CMpmOfflineWatcher::DoCancel()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::DoCancel" )
-
-    iRepository->NotifyCancel( KCoreAppUIsNetworkConnectionAllowed );
-    }
-
-// ---------------------------------------------------------------------------
-// Request for notifications.
-// ---------------------------------------------------------------------------
-//
-TInt CMpmOfflineWatcher::RequestNotifications()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::RequestNotifications" )
-
-    TInt err = iRepository->NotifyRequest( KCoreAppUIsNetworkConnectionAllowed, iStatus );
-        
-    if ( err == KErrNone )
-        {
-        SetActive();
-        }
-    else
-        {
-        // MPM's offline mode watching wouldn't recover... 
-        MPMLOGSTRING2( "CMpmOfflineWatcher::RequestNotifications, ERROR: %d", err )
-        }
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Get the current repository key value.
-// ---------------------------------------------------------------------------
-//
-TInt CMpmOfflineWatcher::GetCurrentOfflineValue()
-    {
-    MPMLOGSTRING( "CMpmOfflineWatcher::GetCurrentOfflineValue" )
-
-    TInt err = iRepository->Get( KCoreAppUIsNetworkConnectionAllowed, iOfflineMode );
-        
-    if ( err != KErrNone )
-        {
-        MPMLOGSTRING2( "CMpmOfflineWatcher::GetCurrentOfflineValue, ERROR: %d", err )
-        }
-    return err;
-    }
--- a/bearermanagement/mpm/src/mpmserver.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -39,10 +39,12 @@
 #include "mpmcommsdataccess.h"
 #include "mpmprivatecrkeys.h"
 #include "mpmcsidwatcher.h"
+#include "mpmvpntogglewatcher.h"
 #include "mpmdatausagewatcher.h"
 #include "mpmpropertydef.h"
-#include "mpmofflinewatcher.h"
 
+static const TUint32 KUidKmdServer = 0x1000088A;
+    
 // ============================= LOCAL FUNCTIONS ===============================
 
 // -----------------------------------------------------------------------------
@@ -82,11 +84,22 @@
       iTSYLoaded( EFalse ),
       iPacketServLoaded( EFalse ), 
       iDtmWatcher( NULL ), 
+      iRoamingWatcher( NULL ),
       iWLANScanRequired( EFalse ), 
       iRoamingQueue( NULL ), 
       iStartingQueue( NULL ),
       iConnectionCounter( 0 ),
-      iOfflineMode( ECoreAppUIsNetworkConnectionAllowed )
+      iUserConnection( EFalse ),
+      iUserConnectionInInternet( EFalse ),
+      iVpnUserConnectionSessionCount( 0 ),
+      iMpmCsIdWatcher( NULL ),
+      iMpmVpnToggleWatcher( NULL ),
+      iMpmDataUsageWatcher( NULL ),
+      iCommsDatAccess( NULL ),
+      iConnUiUtils( NULL ),
+      iOfflineMode( ECoreAppUIsNetworkConnectionAllowed ),
+      iOfflineWlanQueryResponse( EOfflineResponseUndefined ),      
+      iRoamingToWlanPeriodic( NULL )
     {
     }
 
@@ -157,6 +170,9 @@
     // Create central repository watcher and start it
     iMpmCsIdWatcher = CMpmCsIdWatcher::NewL();
     iMpmCsIdWatcher->StartL();
+    
+    // Create VPN toggle central repository watcher and start it
+    iMpmVpnToggleWatcher = CMpmVpnToggleWatcher::NewL( *this );
 
     // Create another central repository watcher and start it
     TRAPD( duwErr, iMpmDataUsageWatcher = CMpmDataUsageWatcher::NewL( this ) );
@@ -170,18 +186,6 @@
         MPMLOGSTRING( "CMPMServer::ConstructL: CMpmDataUsageWatcher::NewL() failed!" )
         }
 
-    // Create another central repository watcher and start it
-    TRAPD( owErr, iMpmOfflineWatcher = CMpmOfflineWatcher::NewL( this ) );
-    if (owErr == KErrNone)
-        {
-        iMpmOfflineWatcher->StartL();
-        }
-    else
-        {
-        iMpmOfflineWatcher = NULL;
-        MPMLOGSTRING( "CMPMServer::ConstructL: CMpmOfflineWatcher::NewL() failed!" )
-        }
-
     // Read dedicated clients from the central repository
     CRepository* repository = CRepository::NewL( KCRUidMPM );
     
@@ -256,11 +260,11 @@
     iTelServer.Close();
     
     delete iMpmCsIdWatcher;    
-    
+       
+    delete iMpmVpnToggleWatcher;
+ 
     delete iMpmDataUsageWatcher;    
 
-    delete iMpmOfflineWatcher;    
-
     iDedicatedClients.Close();
 
     delete iCommsDatAccess;
@@ -268,6 +272,57 @@
     delete iConnUiUtils;
     }
 
+// -----------------------------------------------------------------------------
+// CMPMServer::SetVpnToggleValuesL
+// -----------------------------------------------------------------------------
+//
+void CMPMServer::SetVpnToggleValuesL( const TBool aVpnPreferred,
+                                      const TUint32 /*aVpnIapId*/,
+                                      const TUint32 /*aSnapId*/ )
+    {
+    MPMLOGSTRING2("CMPMServer::SetVpnToggleValues, VPN connection preferred: %d",
+            aVpnPreferred)
+    if ( aVpnPreferred )
+        {
+        // Stop Internet connections, except if VPN user connection
+        // would not be made with current preferences when reconnecting.
+        for (TInt index = 0; index < iSessions.Count(); index++)
+            {
+            CMPMServerSession* session = iSessions[index];
+            TUint32 iapId = GetBMIap( session->ConnectionId() );
+            TUint32 snapId = GetBMSnap( session->ConnectionId() );
+            
+            if ( (session->ChooseBestIapCalled()) &&
+                 (!session->IapSelectionL()->MpmConnPref().MandateIap()) &&
+                 (session->AppUid() != KUidKmdServer) &&                 
+                 (!session->UserConnection()) &&                 
+                 iCommsDatAccess->IsInternetSnapL(iapId, snapId) )
+                {
+                // Stop connection.
+                MPMLOGSTRING2( "CMPMServer::SetVpnToggleValuesL: \
+ Disconnected Connection Id = 0x%x", session->ConnectionId() )            
+                session->ClientErrorNotificationL(KErrForceDisconnected);
+                }
+            }        
+        }
+    else
+        {
+        // Stop connections, which use VPN user connection.
+        for (TInt index = 0; index < iSessions.Count(); index++)
+            {
+            CMPMServerSession* session = iSessions[index];
+            if ( session->VpnUserConnectionUsed() )
+                {
+                session->SetVpnUserConnectionUsed( EFalse );                    
+                // Stop connection.
+                MPMLOGSTRING2( "CMPMServer::SetVpnToggleValuesL: \
+ Disconnected Connection Id = 0x%x", session->ConnectionId() )            
+                session->ClientErrorNotificationL(KErrForceDisconnected);
+                }
+            }
+        ASSERT( iVpnUserConnectionSessionCount == 0 );
+        }    
+    }
 
 // -----------------------------------------------------------------------------
 // CMPMServer::NewSessionL
@@ -1774,6 +1829,126 @@
     stoppedIaps.Close();
     }
 
+// -----------------------------------------------------------------------------
+// CMPMServer::AddVpnUserConnectionSession
+// -----------------------------------------------------------------------------
+//
+void CMPMServer::AddVpnUserConnectionSession()
+    {
+    iVpnUserConnectionSessionCount++;
+    }
+
+// -----------------------------------------------------------------------------
+// CMPMServer::RemoveVpnUserConnectionSession
+// -----------------------------------------------------------------------------
+//
+void CMPMServer::RemoveVpnUserConnectionSession()
+    {    
+    ASSERT( iVpnUserConnectionSessionCount > 0 );
+    iVpnUserConnectionSessionCount--;
+    }
+
+// ---------------------------------------------------------------------------
+// CMPMServer::UseVpnUserConnection
+// Informs if VPN user connection is used with given MPM preferences and
+// application.
+// ---------------------------------------------------------------------------
+//
+TBool CMPMServer::UseVpnUserConnection( const TMpmConnPref aMpmConnPref,
+                                        const TUint32 aAppUid ) const
+    {    
+    if ( iMpmVpnToggleWatcher->IsVpnConnectionPreferred() &&
+         !aMpmConnPref.MandateIap() &&
+         aAppUid != KUidKmdServer &&
+         aAppUid != iMpmCsIdWatcher->ConnectScreenId() )
+        {
+        // VPN connection is preferred connection, connection preferences are
+        // not mandatet and client is not KMD server or Connect Screen.            
+        if ( aMpmConnPref.ConnType() == TMpmConnPref::EConnTypeDefault ||
+             aMpmConnPref.ConnType() == TMpmConnPref::EConnTypeImplicit )
+            {
+            // Default or implicit connection is requested.
+            // VPN user connection is used.
+            return ETrue;
+            }
+        else
+            {
+            // Explicit connection is requested.
+            TBool internetSnap(EFalse);    
+            TRAPD( err, internetSnap = iCommsDatAccess->IsInternetSnapL( aMpmConnPref.IapId(),
+                                                                         aMpmConnPref.SnapId() ) );
+            if ( err == KErrNone &&
+                 internetSnap )
+                {
+                // Connection belongs to Internet SNAP.
+                // VPN user connection is used.
+                return ETrue;
+                }
+            }
+        }
+    
+    // VPN user connection is not used.
+    return EFalse;    
+    }
+
+// -----------------------------------------------------------------------------
+// CMPMServer::PrepareVpnUserConnection
+// -----------------------------------------------------------------------------
+//
+TBool CMPMServer::PrepareVpnUserConnection( TMpmConnPref& aMpmConnPref )
+    {
+    // Get VPN IAP Id or SNAP Id, which is used for VPN user connection. 
+    TUint32 vpnIapId = iMpmVpnToggleWatcher->VpnIapId();
+    TUint32 snapId = iMpmVpnToggleWatcher->SnapId();
+
+    // Check first if SNAP Id is set, in which case VPN IAP Id is ignored.
+    if ( snapId != 0 )
+        {
+        TBool intranetSnap( EFalse );   
+        TRAPD( err , intranetSnap = 
+            iCommsDatAccess->IsIntranetSnapL( snapId ) );
+        if ( (err != KErrNone) ||
+             (!intranetSnap) )
+            {
+            // SNAP is not intranet SNAP.
+            // Reset VPN toggle values and continue without using VPN user
+            // connection.
+            MPMLOGSTRING3( "CMPMServer::PrepareVpnUserConnection failed, \
+SNAP Id=%d, err=%d", snapId, err );
+        
+            iMpmVpnToggleWatcher->ResetVpnToggleValues();        
+            return EFalse;
+            }        
+        aMpmConnPref.SetIapId( 0 );
+        aMpmConnPref.SetSnapId( snapId );               
+        }
+    else
+        {
+        // Validate that IAP is VPN IAP. 
+        TMPMBearerType bearerType = EMPMBearerTypeNone;
+        TRAPD( err, bearerType = iCommsDatAccess->GetBearerTypeL( vpnIapId ) );        
+        if ( (err != KErrNone) ||
+             (bearerType != EMPMBearerTypeVpn) )
+            {        
+            // IAP is not valid VPN IAP.
+            // Reset VPN toggle values and continue without using VPN user
+            // connection.
+            MPMLOGSTRING4( "CMPMServer::PrepareVpnUserConnection failed, \
+IAP Id=%d, err=%d, bearerType=%d", vpnIapId, err, bearerType );
+        
+            iMpmVpnToggleWatcher->ResetVpnToggleValues();
+            return EFalse;
+            }
+        aMpmConnPref.SetIapId( vpnIapId );
+        aMpmConnPref.SetSnapId( 0 );            
+        }
+   
+    aMpmConnPref.SetConnType( TMpmConnPref::EConnTypeExplicit );
+    
+    // VPN user connection will be activated.
+    return ETrue;        
+    }
+
 // ---------------------------------------------------------------------------
 // CMPMServer::UpdateOfflineMode
 // Offline watcher listens the offline mode and calls this when it's changed.
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -69,9 +69,19 @@
     : CSession2(), 
       iMyServer( aServer ),
       iConfirmDlgRoaming( NULL ),
+      iConnId( 0 ),
+      iNotifRequested( EFalse ),
+      iPreferredIAPRequested( EFalse ),
+      iOfflineFeatureSupported( EFalse ),
+      iEasyWlanIap( 0 ),
+      iAppUid( 0 ),
       iStoredIapInfo(),
       iIapSelection( NULL ),
-      iMigrateState( EMigrateNone )
+      iMigrateState( EMigrateNone ),
+      iLastNotifiedIap( 0 ),
+      iMigrateIap( 0 ),
+      iUserConnection( 0 ),
+      iVpnUserConnectionUsed( EFalse )
     {
     }
 
@@ -108,12 +118,19 @@
     // 
     iMyServer.RemoveSession( this );
 
-    if (UserConnection())
+    if (VpnUserConnectionUsed())
+        {
+        SetVpnUserConnectionUsed( EFalse );
+    
+    MPMLOGSTRING( "CMPMServerSession::~CMPMServerSession -\
+ VPN user connection usage ended" )    
+        }
+    else if (UserConnection())
         {
         iMyServer.ClearUserConnection();
         ClearUserConnection();
         
-        MPMLOGSTRING( "CMPMServerSession::HandleServerApplicationConnectionEnds -\
+        MPMLOGSTRING( "CMPMServerSession::~CMPMServerSession -\
 User connection deactivated" )
         }   
 
@@ -429,7 +446,21 @@
     
     MPMLOGSTRING3( "CMPMServerSession::HandleServerChooseIapL - iap %d \
 connType %d", mpmConnPref.IapId(), mpmConnPref.ConnType() )
-    
+
+
+    if ( iMyServer.UseVpnUserConnection(mpmConnPref,
+                                        AppUid()) )
+        {
+        // VPN user connection needs to be used.
+        TBool prepareOk = iMyServer.PrepareVpnUserConnection( mpmConnPref );
+        if ( prepareOk )
+            {
+            SetVpnUserConnectionUsed( ETrue );
+            MPMLOGSTRING( "CMPMServerSession::HandleServerChooseIapL -\
+ VPN user connection used" )                    
+            }
+        }
+            
     iIapSelection->ChooseIapL( mpmConnPref );
 
     if ( iAppUid == iMyServer.CsIdWatcher()->ConnectScreenId() )
@@ -708,7 +739,14 @@
     //
     TConnectionId endId = aMessage.Int0();
 
-    if (UserConnection())
+    if (VpnUserConnectionUsed())
+        {
+        SetVpnUserConnectionUsed( EFalse );
+
+        MPMLOGSTRING( "CMPMServerSession::HandleServerApplicationConnectionEnds -\
+ VPN user connection usage ended" )    
+        }
+    else if (UserConnection())
         {
         iMyServer.ClearUserConnection();
         ClearUserConnection();
@@ -1510,8 +1548,10 @@
         case EStarted:
             // Process error according to the fact that the connection 
             // has already been started.
+            // KErrConnectionTerminated is received when user disconnects
+            // connection from Settings/Connection mgr.
             //         
-            if ( ( error == KErrCancel ) || ( error == KErrTimedOut ) )
+            if ( ( error == KErrCancel ) || ( error == KErrTimedOut ) || ( error == KErrConnectionTerminated ) )
                 {
                 neededAction = EPropagateError;
 
@@ -3425,6 +3465,24 @@
     }
 
 // -----------------------------------------------------------------------------
+// CMPMServerSession::SetVpnUserConnectionUsed
+// -----------------------------------------------------------------------------
+//
+void CMPMServerSession::SetVpnUserConnectionUsed( const TBool aUseVpnUserConnection )
+    {
+    if ( aUseVpnUserConnection )
+        {
+        iVpnUserConnectionUsed = ETrue;
+        iMyServer.AddVpnUserConnectionSession();        
+        }
+    else 
+        {
+        iVpnUserConnectionUsed = EFalse;
+        iMyServer.RemoveVpnUserConnectionSession();        
+        }
+    }
+
+// -----------------------------------------------------------------------------
 // CMPMServerSession::IsWlanOnlyL
 // -----------------------------------------------------------------------------
 //
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/src/mpmvpntogglewatcher.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -0,0 +1,242 @@
+/*
+* 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: Listen VPN toggle key changes in central repository.
+*
+*/
+
+#include <centralrepository.h>
+#include <mpmvpntoggleapi.h>
+#include "mpmlogger.h"
+#include "mpmvpntogglewatcher.h"
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CMpmVpnToggleWatcher::CMpmVpnToggleWatcher( MMpmVpnToggleWatcherNotify& aNotify )
+    : CActive( EPriorityStandard ),
+      iNotify( aNotify )
+    {
+    CActiveScheduler::Add( this );    
+    }
+
+
+// ---------------------------------------------------------------------------
+// Creates central repositor object
+// ---------------------------------------------------------------------------
+//
+void CMpmVpnToggleWatcher::ConstructL()
+    {
+    TRAPD(err, iRepository = CRepository::NewL( KMpmVpnToggleCenRepUid ));
+    if ( err == KErrNone )
+        {
+        StartL();
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Creates new object
+// ---------------------------------------------------------------------------
+//
+CMpmVpnToggleWatcher* CMpmVpnToggleWatcher::NewL( MMpmVpnToggleWatcherNotify& aNotify )
+    {
+    CMpmVpnToggleWatcher* self = new( ELeave ) CMpmVpnToggleWatcher(aNotify);
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------------------------
+//
+CMpmVpnToggleWatcher::~CMpmVpnToggleWatcher()
+    {    
+    Cancel();
+    delete iRepository;
+    }
+
+// ---------------------------------------------------------------------------
+// Order notification from changes
+// ---------------------------------------------------------------------------
+//
+void CMpmVpnToggleWatcher::StartL()
+    {
+    MPMLOGSTRING( "CMpmVpnToggleWatcher::StartL" )
+            
+    // Get the initial Connect screen ID from repository.
+    User::LeaveIfError( GetVpnToggleValues() );
+
+    // Request for notifications.
+    User::LeaveIfError( RequestNotifications() );
+    }
+
+// ---------------------------------------------------------------------------
+// Request notifications.
+// ---------------------------------------------------------------------------
+//
+TInt CMpmVpnToggleWatcher::RequestNotifications()
+    {
+    MPMLOGSTRING( "CMpmVpnToggleWatcher::RequestNotifications" )
+
+    TInt err = iRepository->NotifyRequest( KMpmVpnTogglePreferVpn, iStatus );
+        
+    if ( err == KErrNone )
+        {
+        SetActive();
+        }
+    else
+        {
+        MPMLOGSTRING2( "CMpmVpnToggleWatcher::RequestNotifications, ERROR: %d", err )
+        }
+    return err;
+    }
+
+// ---------------------------------------------------------------------------
+// Get VPN toggle values.
+// ---------------------------------------------------------------------------
+//
+TInt CMpmVpnToggleWatcher::GetVpnToggleValues()
+    {
+    MPMLOGSTRING( "CMpmVpnToggleWatcher::GetVpnToggleValues" )
+            
+    // Get values from central repository    
+    TInt err = iRepository->Get( KMpmVpnTogglePreferVpn, iVpnConnectionPreferred );
+    if ( err != KErrNone )
+        {
+        MPMLOGSTRING2( "CMpmVpnToggleWatcher::GetVpnToggleValues, preferred value, ERROR: %d", err )    
+        return err;
+        }    
+    TInt value(0);    
+    err = iRepository->Get( KMpmVpnToggleIapId, value );
+    if ( err != KErrNone )
+        {
+        MPMLOGSTRING2( "CMpmVpnToggleWatcher::GetVpnToggleValues, IAP Id value, ERROR: %d", err )
+        return err;
+        }    
+    iVpnIapId = value;   
+    err = iRepository->Get( KMpmVpnToggleSnapId, value );
+    if ( err != KErrNone )
+        {
+        MPMLOGSTRING2( "CMpmVpnToggleWatcher::GetVpnToggleValues, SNAP Id value, ERROR: %d", err )
+        return err;
+        }
+    iSnapId = value;        
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
+// Return VPN toggle value.
+// ---------------------------------------------------------------------------
+//
+TBool CMpmVpnToggleWatcher::IsVpnConnectionPreferred() const
+    {
+    return iVpnConnectionPreferred;
+    }
+
+// ---------------------------------------------------------------------------
+// Return VPN IAP Id.
+// ---------------------------------------------------------------------------
+//
+TUint32 CMpmVpnToggleWatcher::VpnIapId() const
+    {
+    return iVpnIapId;
+    }
+
+// ---------------------------------------------------------------------------
+// Return SNAP Id.
+// ---------------------------------------------------------------------------
+//
+TUint32 CMpmVpnToggleWatcher::SnapId() const
+    {
+    return iSnapId;
+    }
+
+// ---------------------------------------------------------------------------
+// Resets VPN toggle values.
+// ---------------------------------------------------------------------------
+//
+void CMpmVpnToggleWatcher::ResetVpnToggleValues()
+    {
+    // Cancel listening VPN toggle value change
+    Cancel();
+
+    // Reset values.
+    iVpnConnectionPreferred = EFalse;
+    iVpnIapId = 0;
+    iSnapId = 0;
+    
+    TInt err = iRepository->Set( KMpmVpnTogglePreferVpn, 0 );
+    if ( err == KErrNone ) 
+        {
+        err = iRepository->Set( KMpmVpnToggleIapId, 0 );
+        }
+    if ( err == KErrNone )
+        {
+        err = iRepository->Set( KMpmVpnToggleSnapId, 0 );
+        }
+    
+    MPMLOGSTRING2( "CMpmVpnToggleWatcher::ResetVpnToggleValues, ERROR: %d", err )
+    
+    // Restart listening VPN toggle value change
+    RequestNotifications();
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// When there is a change in VPN toggle key value, event is received in here
+// ---------------------------------------------------------------------------
+//
+void CMpmVpnToggleWatcher::RunL()
+    {            
+    if ( iStatus.Int() < KErrNone )
+        {
+        MPMLOGSTRING2("CMpmVpnToggleWatcher::RunL, status: 0x%08X", iStatus.Int())
+        iErrorCounter++;
+        if ( iErrorCounter > KMpmVpnToggleWatcherCenRepErrorThreshold )
+            {
+            MPMLOGSTRING2("Over %d consecutive errors, stopping notifications permanently.",
+                    KMpmVpnToggleWatcherCenRepErrorThreshold)
+            return;
+            }
+        // Else: Error occured but counter not expired. Proceed.
+        RequestNotifications();
+        }
+    else
+        {
+        // Notification is received ok => Reset the counter.
+        iErrorCounter = 0;
+    
+        RequestNotifications();
+        
+        // Get values from central repository
+        GetVpnToggleValues();
+        
+        // Notify values.
+        TRAP_IGNORE( iNotify.SetVpnToggleValuesL( iVpnConnectionPreferred,
+                                                  iVpnIapId,
+                                                  iSnapId ) );        
+        }    
+    }
+
+// ---------------------------------------------------------------------------
+// From class CActive.
+// Cancel outstanding request
+// ---------------------------------------------------------------------------
+//
+void CMpmVpnToggleWatcher::DoCancel()
+    {
+    iRepository->NotifyCancel( KMpmVpnTogglePreferVpn );
+    }
--- a/cmmanager/cmmgr/cmmplugins/cmpluginembdestination/src/cmpluginembdestination.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cmmgr/cmmplugins/cmpluginembdestination/src/cmpluginembdestination.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -1,10 +1,10 @@
 /*
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* 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 the License "Symbian Foundation License v1.0"
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
--- a/cmmanager/cpdestinationplugin/cpdestinationplugin.pro	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpdestinationplugin/cpdestinationplugin.pro	Tue Jul 06 14:42:41 2010 +0300
@@ -40,6 +40,14 @@
 
 TRANSLATIONS = cpdestinationplugin.ts
 
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+
+    MMP_RULES += "USERINCLUDE traces"
+
+}
+
 symbian:
 { 
     TARGET.EPOCALLOWDLLDATA = 1
--- a/cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h	Tue Jul 06 14:42:41 2010 +0300
@@ -61,7 +61,8 @@
     void createUncategorisedDestination();
     void fetchDestinations(QList<QSharedPointer<CmDestinationShim> > &destinationList);
     void loadBearerPlugins();
-	QString getDestinationAdditionalText(int iapCount);
+	QString getDestinationAdditionalText(QSharedPointer<CmDestinationShim> destination);
+	QString getDestinationAdditionalText(int destinationId);
 	QString resolveDestinationIcon(QSharedPointer<CmDestinationShim> destination) const; 
 	
 private slots:
--- a/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -534,7 +534,11 @@
             for (int i = 0; i < apIds.count(); i++) {
                 CmConnectionMethodShim *cm;
                 cm = cmm->connectionMethod(apIds.at(i));
-                apList.append(QSharedPointer<CmConnectionMethodShim>(cm));
+                if (!cm->getBoolAttribute(CMManagerShim::CmHidden)) {
+                    apList.append(QSharedPointer<CmConnectionMethodShim>(cm));
+                } else {
+                    delete cm;
+                }
             }
         } else {
             destination = cmm->destination(mDestinationId);
@@ -542,7 +546,12 @@
             for (int i = 0; i < apCount; i++) {
                 CmConnectionMethodShim *cm = NULL;
                 cm = destination->connectionMethod(i);
-                apList.append(QSharedPointer<CmConnectionMethodShim>(cm));
+                if (!cm->getBoolAttribute(CMManagerShim::CmDestination)
+                     && !cm->getBoolAttribute(CMManagerShim::CmHidden)) {
+                    apList.append(QSharedPointer<CmConnectionMethodShim>(cm));
+                } else {
+                    delete cm;
+                }
             }
             delete destination;
         }
--- a/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -79,7 +79,7 @@
     // Create Destination list
     for (int i = 0; i < destinationList.count(); i++) {
         QString iapCount = 
-			getDestinationAdditionalText(destinationList.at(i)->connectionMethodCount());
+			getDestinationAdditionalText(destinationList.at(i));
         
         // Create new destination entry
         CpDestinationEntryItemData *destDataItem;
@@ -126,13 +126,14 @@
 void CpDestinationGroup::addDestination(const QString &dest, int destId)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_ADDDESTINATION_ENTRY);
-    QString iapCount = getDestinationAdditionalText(0);
     
     // Create UI item for new destination
     CpDestinationEntryItemData *destDataItem;
     destDataItem = new CpDestinationEntryItemData(*mItemDataHelper);
     destDataItem->setContentWidgetData(QString("text"), dest);
-    destDataItem->setContentWidgetData(QString("additionalText"), iapCount);
+    destDataItem->setContentWidgetData(
+        QString("additionalText"), 
+        hbTrId("txt_occ_dblist_internet_val_no_access_points"));
     destDataItem->setDestinationId(destId);
     destDataItem->setDestinationName(dest);
     connect(destDataItem, SIGNAL(destChanged()), this, SLOT(updateDestinationInformation()));
@@ -206,7 +207,6 @@
 void CpDestinationGroup::updateDestinationInformation()
 {
 	OstTraceFunctionEntry0(CPDESTINATIONGROUP_UPDATEDESTINATIONINFORMATION_ENTRY);
-	int apCount = 0;
 	// "Add Destination" child is removed from count (childCount() -1)
     for (int i = 0; i < childCount() - 1; i++) {
         CpDestinationEntryItemData  *destDataItem = 
@@ -222,16 +222,9 @@
                 this->removeChild(index);
                 mUncategorisedShown = false;
                 continue;
-            }
-            apCount = apList.count();  
-        } else {
-            CmDestinationShim *destination;
-            destination = mCmManager->destination(destDataItem->destinationId());
-            apCount = destination->connectionMethodCount();
-            delete destination;
+            } 
         }
-
-        QString iapCount = getDestinationAdditionalText(apCount);
+        QString iapCount = getDestinationAdditionalText(destDataItem->destinationId());
         destDataItem->setContentWidgetData(QString("additionalText"), iapCount);
         destDataItem->setContentWidgetData(QString("text"), destDataItem->destinationName());
     }
@@ -252,7 +245,7 @@
         CpDestinationEntryItemData *destDataItem;
         destDataItem = new CpDestinationEntryItemData(*mItemDataHelper);
         destDataItem->setContentWidgetData(QString("text"), hbTrId("txt_occ_dblist_uncategorized"));
-        QString iapCount = getDestinationAdditionalText(apList.count());
+        QString iapCount = getDestinationAdditionalText(0);
         destDataItem->setContentWidgetData(QString("additionalText"),iapCount);
         destDataItem->setDestinationId(0);
         destDataItem->setDestinationName(hbTrId("txt_occ_dblist_uncategorized"));
@@ -290,6 +283,8 @@
             destination = mCmManager->destination(destArray[i]);
             if (!destination->isHidden()) {
                 destinationList.append(QSharedPointer<CmDestinationShim>(destination));
+            } else {
+                delete destination;
             }
         }
     } catch (const std::exception&) {
@@ -321,14 +316,25 @@
 }
 
 /*!
-    Helper function to be used in localisation.
+    Helper function to be used in localisation. (Overloaded)
     
     \return Returns correct localized QString according to access point count.
  */
-QString CpDestinationGroup::getDestinationAdditionalText(int iapCount)
+QString CpDestinationGroup::getDestinationAdditionalText(QSharedPointer<CmDestinationShim> destination)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT_ENTRY);
     QString result = "";
+    int iapCount = destination->connectionMethodCount();
+    int counter = 0;
+    for (int i = 0; i < iapCount; i++) {
+        CmConnectionMethodShim *cm = destination->connectionMethod(i);
+        if (cm->getBoolAttribute(CMManagerShim::CmDestination)
+            || cm->getBoolAttribute(CMManagerShim::CmHidden)) {
+            counter++;
+        }
+        delete cm; 
+    }
+    iapCount = iapCount - counter;
     if (iapCount > 0) {
         result = hbTrId("txt_occ_dblist_internet_val_ln_access_points", iapCount);
     } else {
@@ -339,6 +345,52 @@
 }
 
 /*!
+    Helper function to be used in localisation. (Overloaded)
+    
+    \return Returns correct localized QString according to access point count.
+ */
+QString CpDestinationGroup::getDestinationAdditionalText(int destinationId)
+{
+    OstTraceFunctionEntry0(CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT2_ENTRY);
+    QString result = "";
+    int iapCount = 0;
+    int counter = 0;
+    if (destinationId == 0) {
+        QList<uint> apList;
+        mCmManager->connectionMethod(apList);
+        iapCount = apList.count();
+        for (int i = 0; i < iapCount; i++) {
+            CmConnectionMethodShim *cm = mCmManager->connectionMethod(apList[i]);
+            if (cm->getBoolAttribute(CMManagerShim::CmDestination)
+                || cm->getBoolAttribute(CMManagerShim::CmHidden)) {
+                counter++;
+            }
+            delete cm; 
+        }
+    } else {
+        CmDestinationShim *destination = mCmManager->destination(destinationId);
+        iapCount = destination->connectionMethodCount();
+        for (int i = 0; i < iapCount; i++) {
+            CmConnectionMethodShim *cm = destination->connectionMethod(i);
+            if (cm->getBoolAttribute(CMManagerShim::CmDestination)
+                || cm->getBoolAttribute(CMManagerShim::CmHidden)) {
+                counter++;
+            }
+            delete cm; 
+        }
+        delete destination;
+    }
+    iapCount = iapCount - counter;
+    if (iapCount > 0) {
+        result = hbTrId("txt_occ_dblist_internet_val_ln_access_points", iapCount);
+    } else {
+        result = hbTrId("txt_occ_dblist_internet_val_no_access_points");
+    }
+    OstTrace0(TRACE_FLOW, CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT2_EXIT, "Exit");
+    return result;
+}
+
+/*!
     Helper function for showing icons.
     
     \return Returns string representing given destination's icon
--- a/cmmanager/cpipsettingsplugin/cpipsettingsplugin.pro	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpipsettingsplugin/cpipsettingsplugin.pro	Tue Jul 06 14:42:41 2010 +0300
@@ -35,6 +35,14 @@
 
 TRANSLATIONS = cpipsettingsplugin.ts
 
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+
+    MMP_RULES += "USERINCLUDE traces"
+
+}
+
 symbian:
 {
 TARGET.EPOCALLOWDLLDATA = 1
--- a/cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cpipsettingsplugin/src/cpipsettingsview.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -56,13 +56,14 @@
 {
     HbDataForm *form = new HbDataForm();
     this->setWidget(form);
+    form->setHeading(hbTrId("txt_occ_subhead_network_settings"));
     CpPluginUtility::addCpItemPrototype(form);
     HbDataFormModel *model = new HbDataFormModel(form);
 
     // 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");
--- a/cmmanager/cppacketdataapplugin/inc/cppacketdataapview.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/inc/cppacketdataapview.h	Tue Jul 06 14:42:41 2010 +0300
@@ -73,7 +73,6 @@
     void connectionNameChanged();
     void accessPointNameChanged();
     void userNameChanged();
-    void promptForAuthChanged(int state);
     void passwordChanged();
     void authenticationChanged(int index);
     void homepageChanged();
@@ -94,8 +93,6 @@
     HbDataFormModelItem *mAccessPointNameItem;
     //! "User name" setting item
     HbDataFormModelItem *mUserNameItem;
-    //! "Prompt" setting item
-    HbDataFormModelItem *mPromptForAuthItem;
     //! "Password" setting item
     HbDataFormModelItem *mPasswordItem;
     //! "Authentication" setting item
@@ -108,8 +105,6 @@
     CmConnectionMethodShim *mCmConnectionMethod;
     //! Message box for info notes
     QSharedPointer<HbMessageBox> mMessageBox;
-    //! Maps checkbox value to CMManagerShim::PacketDataIFPromptForAuth value
-    QMap<Qt::CheckState, bool> mPromptForAuthMap;
     //! Maps authentication combobox index to CMManagerShim::PacketDataDisablePlainTextAuth value
     QMap<int, bool> mAuthenticationMap;
     
--- a/cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/src/cppacketdataapview.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -69,7 +69,6 @@
         mConnectionNameItem(0),
         mAccessPointNameItem(0),
         mUserNameItem(0),
-        mPromptForAuthItem(0),
         mPasswordItem(0),
         mAuthenticationItem(0),
         mHomepageItem(0),
@@ -170,23 +169,6 @@
         SLOT(userNameChanged()));
     mApSettingsGroupItem->appendChild(mUserNameItem);
     
-    // Prompt for password
-    mPromptForAuthItem = new CpSettingFormItemData(
-        HbDataFormModelItem::CheckBoxItem,
-        hbTrId("txt_occ_setlabel_password"));
-    mPromptForAuthItem->setContentWidgetData("text",
-        hbTrId("txt_occ_setlabel_password_val_prompt"));
-    // Construct map to link item values to setting values
-    mPromptForAuthMap.insert(Qt::Unchecked, false); // Do not prompt
-    mPromptForAuthMap.insert(Qt::Checked, true); // Prompt for password
-    // Connect signal and add item to group
-    mForm->addConnection(
-        mPromptForAuthItem,
-        SIGNAL(stateChanged(int)),
-        this,
-        SLOT(promptForAuthChanged(int)));
-    mApSettingsGroupItem->appendChild(mPromptForAuthItem);
-    
     // Password
     mPasswordItem = new CpSettingFormItemData(
         HbDataFormModelItem::TextItem,
@@ -263,17 +245,6 @@
         CMManagerShim::PacketDataIFAuthName);
     mUserNameItem->setContentWidgetData("text", userName);
     
-    // Prompt for password
-    bool promptForAuth = mCmConnectionMethod->getBoolAttribute(
-        CMManagerShim::PacketDataIFPromptForAuth);
-    mPromptForAuthItem->setContentWidgetData("checkState",
-        mPromptForAuthMap.key(promptForAuth));
-    if (promptForAuth) {
-        mPasswordItem->setEnabled(false);
-    } else {
-        mPasswordItem->setEnabled(true);
-    }
-    
     // Password
     QString password = mCmConnectionMethod->getStringAttribute(
         CMManagerShim::PacketDataIFAuthPass);
@@ -449,28 +420,6 @@
 }
 
 /*!
-    Updates prompt for password setting to CommsDat.
-*/
-void CpPacketDataApView::promptForAuthChanged(int state)
-{
-    OstTraceFunctionEntry0(CPPACKETDATAAPVIEW_PROMPTFORAUTHCHANGED_ENTRY);
-    
-    // If prompt for auth is selected, password edit should be disabled.
-    if (state == Qt::Checked) {
-        mPasswordItem->setEnabled(false);
-    } else {
-        mPasswordItem->setEnabled(true);
-    }
-    // Update to CommsDat
-    mCmConnectionMethod->setBoolAttribute(
-        CMManagerShim::PacketDataIFPromptForAuth,
-        mPromptForAuthMap.value(static_cast<Qt::CheckState>(state)));
-    (void)tryUpdate();
-    
-    OstTraceFunctionExit0(CPPACKETDATAAPVIEW_PROMPTFORAUTHCHANGED_EXIT);
-}
-
-/*!
     Updates password to CommsDat.
 */
 void CpPacketDataApView::passwordChanged()
--- a/cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -401,36 +401,6 @@
 }
 
 /**
- * Tests "prompt" password checkbox.
- */
-void TestCpPacketDataApPlugin::tcChangePromptPassword()
-{
-    // Ensure prompt for password is unchecked
-    bool prompt = subGetBool(CMManagerShim::PacketDataIFPromptForAuth);
-    if (prompt) {
-        // Disable prompt for password
-        HbAutoTest::mouseClick(mMainWindow, mPasswordPromptWidget);
-    }
-    
-    // Enable prompt for password and verify
-    HbAutoTest::mouseClick(mMainWindow, mPasswordPromptWidget);
-    subVerifyBool(
-        CMManagerShim::PacketDataIFPromptForAuth,
-        true);
-    
-    // Verify that password lineedit is disabled, following steps will
-    // fail if editing is allowed
-    HbAutoTest::mouseClick(mMainWindow, mPasswordWidget);
-    QTest::qWait(waitTime);
-
-    // Disable prompt for password and verify
-    HbAutoTest::mouseClick(mMainWindow, mPasswordPromptWidget);
-    subVerifyBool(
-        CMManagerShim::PacketDataIFPromptForAuth,
-        false);
-}
-
-/**
  * Tests changing of password.
  */
 void TestCpPacketDataApPlugin::tcChangePassword()
@@ -1208,9 +1178,6 @@
     mUserNameWidget = subGetWidgetByIndex(
         mTestView->mForm,
         iterator.index(2, apGroupIndex));
-    mPasswordPromptWidget = subGetWidgetByIndex(
-        mTestView->mForm,
-        iterator.index(3, apGroupIndex));
     mPasswordWidget = subGetWidgetByIndex(
         mTestView->mForm,
         iterator.index(4, apGroupIndex));
--- a/cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/cmmanager/cppacketdataapplugin/tsrc/ut/testcppacketdataapplugin.h	Tue Jul 06 14:42:41 2010 +0300
@@ -58,7 +58,6 @@
         void tcChangeUserName();
         void tcChangeUserName_data();
         void tcScrollToBottom();
-        void tcChangePromptPassword();
         void tcChangePassword();
         void tcChangePassword_data();
         void tcChangeAuthenticationMode();
@@ -128,7 +127,6 @@
         HbWidget *mConnectionNameWidget;
         HbWidget *mAccessPointNameWidget;
         HbWidget *mUserNameWidget;
-        HbWidget *mPasswordPromptWidget;
         HbWidget *mPasswordWidget;
         HbWidget *mAuthenticationWidget;
         HbWidget *mHomepageWidget;
--- a/connectionmonitoring/cellularindicatorplugin/inc/cellularindicatorplugin.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/cellularindicatorplugin/inc/cellularindicatorplugin.h	Tue Jul 06 14:42:41 2010 +0300
@@ -69,10 +69,6 @@
     // Used to get indicator data (icon or text)
     QVariant indicatorData(int role) const;
 
-private slots:
-    // handler for error codes
-    void processError(QProcess::ProcessError err);
-
 private: // data
 
     // Disable copy constructor
--- a/connectionmonitoring/cellularindicatorplugin/src/cellularindicatorplugin.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/cellularindicatorplugin/src/cellularindicatorplugin.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -16,7 +16,7 @@
  */
 
 #include <QtPlugin>
-#include <QTranslator>
+#include <HbTranslator>
 #include <QLocale>
 #include <QList>
 #include <HbLabel>
@@ -94,12 +94,7 @@
     Q_UNUSED(indicatorType)
     
     // Install localization
-    QTranslator *translator = new QTranslator(this);
-
-    QString lang = QLocale::system().name(); 
-    QString path = "Z:/resource/qt/translations/"; 
-    translator->load("cellularindicatorplugin_" + lang, path);
-    qApp->installTranslator(translator);
+    HbTranslator *translator(new HbTranslator("cellularindicatorplugin"));
     
     OstTraceFunctionExit0( CELLULARINDICATORPLUGIN_CREATEINDICATOR_EXIT );
     return this;
@@ -156,15 +151,13 @@
     
     Q_UNUSED(type)
     bool handled = false;
+    QVariantMap data;
     
     switch(type) {
     case InteractionActivated:
-        //connect error() to slot processError() to get error, 
-        QObject::connect( &process, SIGNAL(error(QProcess::ProcessError)),                       
-                          this, SLOT(processError(QProcess::ProcessError)));
+        // Emit a signal that will inform the client to start the connectionview client
+        emit userActivated(data);
 
-        // Show connection view
-        process.start("connview");
         handled = true;
         break;
     
@@ -228,26 +221,3 @@
     return ret;
 }
 
-/*!
-    The processError is a handler for error codes.
-*/
-void CellularIndicatorPlugin::processError(QProcess::ProcessError err)
-    {
-    OstTraceFunctionEntry1(CELLULARINDICATORPLUGIN_PROCESSERROR_ENTRY, this);
-  
-    switch (err) {   
-        case QProcess::FailedToStart: 
-        case QProcess::Crashed: 
-        case QProcess::Timedout: 
-        case QProcess::ReadError: 
-        case QProcess::WriteError: 
-        case QProcess::UnknownError:
-            OstTrace1( CELLULARINDICATORPLUGIN_ERR,PROCESSERROR_KNOWN,"Process Error %u", err);
-            break;  
-        default:
-        OstTrace1( CELLULARINDICATORPLUGIN_ERR,PROCESSERROR_UNKNOWN,"Unknown Process Error %u", err);
-            break;
-        }
-    OstTraceFunctionExit1(CELLULARINDICATORPLUGIN_PROCESSERROR_EXIT, this);
-    }
-
--- a/connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_reg.rss	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_reg.rss	Tue Jul 06 14:42:41 2010 +0300
@@ -17,7 +17,7 @@
 
 
 #include <appinfo.rh>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <data_caging_paths_strings.hrh>
 
 UID2 KUidAppRegistrationResourceFile
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -21,7 +21,7 @@
 #include <stdlib.h>
 #include <nifvar.h>
 #include <StringLoader.h>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <avkon.rsg>
 #include <AknUtils.h>
 #include <apgcli.h>
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -23,7 +23,7 @@
 #include <AknUtils.h>
 #include <cmmanagerext.h>
 #include <nifvar.h>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include "ConnectionMonitorUi.hrh"
 #include "ConnectionMonitorUiAppUi.h"
 #include "ConnectionMonitorUiView.h"
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -33,7 +33,7 @@
 #include "FeatureManagerWrapper.h"
 #include "ActiveWrapper.h"
 
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <ConnectionMonitorUi.mbg>
 #include <data_caging_path_literals.hrh>
 
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsContainer.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsContainer.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -22,7 +22,7 @@
 #include <aknnavi.h>    //for CNaviPane
 #include <aknnavide.h>  //for CAknNavigationDecorator
 #include <StringLoader.h>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 
 #include "ConnectionArray.h"
 #include "ConnectionMonitorUiLogger.h"
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include  <ConnectionMonitorUi.rsg>
+#include  <connectionmonitorui.rsg>
 #include  "ConnectionMonitorUiDetailsView.h"
 #include  "ConnectionMonitorUiDetailsContainer.h" 
 #include  "ConnectionMonitorUi.hrh"
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiView.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiView.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 #include  <eikmenup.h>
 #include  <akntitle.h>   //for CAknTitlePane
-#include  <ConnectionMonitorUi.rsg>
+#include  <connectionmonitorui.rsg>
 #include  <StringLoader.h>
 
 #include  <hlplch.h>
--- a/connectionmonitoring/connectionmonitorui/src/CsdConnectionInfo.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/CsdConnectionInfo.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 //#include <nifvar.h>
 #include <StringLoader.h>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <ConnectionMonitorUi.mbg>
 #include <AknUtils.h>
 
--- a/connectionmonitoring/connectionmonitorui/src/EasyWLANConnectionInfo.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/EasyWLANConnectionInfo.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <ConnectionMonitorUi.mbg>
 
 #include "EasyWLANConnectionInfo.h"
--- a/connectionmonitoring/connectionmonitorui/src/GprsConnectionInfo.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/GprsConnectionInfo.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -20,7 +20,7 @@
 // INCLUDE FILES
 //#include <nifvar.h>
 #include <StringLoader.h>
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <ConnectionMonitorUi.mbg>
 //#include <Avkon.rsg>
 
--- a/connectionmonitoring/connectionmonitorui/src/WlanConnectionInfo.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionmonitorui/src/WlanConnectionInfo.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -18,7 +18,7 @@
 
 
 // INCLUDE FILES
-#include <ConnectionMonitorUi.rsg>
+#include <connectionmonitorui.rsg>
 #include <ConnectionMonitorUi.mbg>
 
 #include "ConnectionArray.h"
--- a/connectionmonitoring/connectionview/res/connectionview.css	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionview/res/connectionview.css	Tue Jul 06 14:42:41 2010 +0300
@@ -31,4 +31,5 @@
 {
     font-variant: secondary;
     text-height: var(hb-param-text-height-tiny);
+    text-line-count-max: 1;
 }
--- a/connectionmonitoring/connectionview/src/connectionview.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/connectionview/src/connectionview.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-#include <QTranslator>
+#include <HbTranslator>
 #include <QLocale>
 #include <QList>
 #include <HbLabel>
@@ -55,11 +55,7 @@
 {
     OstTraceFunctionEntry0( CONNECTIONVIEW_CONNECTIONVIEW_ENTRY );
     // Install localization
-    QTranslator *translator = new QTranslator(this);
-    QString lang = QLocale::system().name(); 
-    QString path = "Z:/resource/qt/translations/"; 
-    translator->load("connectionview_" + lang, path);
-    qApp->installTranslator(translator);
+    HbTranslator *translator(new HbTranslator("connectionview"));
     
     // Register custom layout location
     bool registerStatus = HbStyleLoader::registerFilePath(":/layout/");
--- a/connectionmonitoring/indicatorobserver/inc/indicatorobserver.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/indicatorobserver/inc/indicatorobserver.h	Tue Jul 06 14:42:41 2010 +0300
@@ -25,6 +25,7 @@
 #include <xqsettingskey.h>
 
 class XQSettingsManager;
+class HbIndicator;
 
 QTM_USE_NAMESPACE
 
@@ -61,12 +62,16 @@
     void activateWlanIndicatorPlugin(QList<QVariant> list);
     
     void deactivateWlanIndicatorPlugin();
-        
+    
 private slots:
     void updateWlanRadioStatus(const XQSettingsKey &key, const QVariant &value);
 
     void handleConfigurationChanged(const QNetworkConfiguration& config);
     
+    void userActivateCellularIndicator(const QString &type, const QVariantMap &data);
+
+    void userActivateWlanIndicator(const QString &type, const QVariantMap &data);
+    
 private:
     /*!
         Pointer to network configuration manager
@@ -107,6 +112,16 @@
         Indicates whether cellular indicator plugin is activated
     */
     bool mCellularIndicatorIsActivated;
+    
+    /*!
+         Pointer to the WLAN indicator
+     */
+    HbIndicator *mWlanIndicator;
+    
+    /*!
+         Pointer to the cellular indicator
+     */
+    HbIndicator *mCellularIndicator;
 
     friend class ObserverTester;
     
--- a/connectionmonitoring/indicatorobserver/src/indicatorobserver.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionmonitoring/indicatorobserver/src/indicatorobserver.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -47,7 +47,9 @@
     mWlanEnabled(0),
     mWlanForceDisabled(0),
     mWlanIndicatorIsActivated(false),
-    mCellularIndicatorIsActivated(false)
+    mCellularIndicatorIsActivated(false),
+    mWlanIndicator(NULL),
+    mCellularIndicator(NULL)
     
 {
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_CONSTRUCTOR_ENTRY, "-->");
@@ -98,6 +100,7 @@
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_CONSTRUCTOR_EXIT, "<--");
 }
 
+
 /*!
     IndicatorObserver::~IndicatorObserver
 */
@@ -124,6 +127,9 @@
         delete mActiveWlanConfigurations;
         }
     
+    delete mCellularIndicator;
+    delete mWlanIndicator;
+    
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_DESTRUCTOR_EXIT, "<--");
 }
 
@@ -135,6 +141,25 @@
 
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_INITIALIZEINDICATORS_ENTRY, "-->");
     
+    // create the indicators and make connections
+    mCellularIndicator = new HbIndicator();  
+    // connect the user activated slot here, so that the indicator know to start the connview in case
+    // the user taps the indicator
+    bool conn = QObject::connect(
+                    mCellularIndicator, 
+                    SIGNAL(userActivated(const QString&, const QVariantMap&)), 
+                    this, 
+                    SLOT(userActivateCellularIndicator(const QString&, const QVariantMap&)));
+    
+    mWlanIndicator = new HbIndicator();  
+    // connect the user activated slot here, so that the indicator know to start the wlan sniffer in case
+    // the user taps the indicator
+    conn = QObject::connect(
+                    mWlanIndicator, 
+                    SIGNAL(userActivated(const QString&, const QVariantMap&)), 
+                    this, 
+                    SLOT(userActivateWlanIndicator(const QString&, const QVariantMap&)));
+    
     findActiveConfigurations();
     updateWlanIndicator();
     updateCellularIndicator();
@@ -285,6 +310,30 @@
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_HANDLECONFIGURATIONCHANGED_EXIT, "<--");
 }
 
+void IndicatorObserver::userActivateCellularIndicator(const QString &type, const QVariantMap &data)
+{
+    OstTrace0(TRACE_FLOW, INDICATOROBSERVER_USERACTIVATECELLULARINDICATOR_ENTRY, "-->");
+    
+    Q_UNUSED(data);
+    Q_UNUSED(type);
+    // Show connection view
+    QProcess::startDetached("connview");
+    
+    OstTrace0(TRACE_FLOW, INDICATOROBSERVER_USERACTIVATECELLULARINDICATOR_EXIT, "<--");
+}
+
+void IndicatorObserver::userActivateWlanIndicator(const QString &type, const QVariantMap &data)
+{
+    OstTrace0(TRACE_FLOW, INDICATOROBSERVER_USERACTIVATEWLANINDICATOR_ENTRY, "-->");
+    
+    Q_UNUSED(data);
+    Q_UNUSED(type);
+    // Show wlan list view
+    QProcess::startDetached("WlanSniffer");
+
+    OstTrace0(TRACE_FLOW, INDICATOROBSERVER_USERACTIVATEWLANINDICATOR_EXIT, "<--");
+}
+
 /*!
     IndicatorObserver::activateCellularIndicatorPlugin
 */
@@ -292,9 +341,8 @@
 {
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_ACTIVATECELLULARINDICATORPLUGIN_ENTRY, "-->");
     
-    HbIndicator indicator;    
-    bool success = indicator.activate("com.nokia.hb.indicator.connectivity.cellularindicatorplugin/1.0", list);
-    
+    bool success = mCellularIndicator->activate("com.nokia.hb.indicator.connectivity.cellularindicatorplugin/1.0", list);
+     
     if (!success) {
         mCellularIndicatorIsActivated = false;
         OstTrace0(TRACE_FLOW, INDICATOROBSERVER_CELLULAR_INDICATOR_ACTIVATION_FAILED, "Cellular indicator activation failed"); 
@@ -312,8 +360,7 @@
 {
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_DEACTIVATECELLULARINDICATORPLUGIN_ENTRY, "-->");
     
-    HbIndicator indicator;
-    indicator.deactivate("com.nokia.hb.indicator.connectivity.cellularindicatorplugin/1.0");
+    mCellularIndicator->deactivate("com.nokia.hb.indicator.connectivity.cellularindicatorplugin/1.0");
     mCellularIndicatorIsActivated = false;
     
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_DEACTIVATECELLULARINDICATORPLUGIN_EXIT, "<--");
@@ -325,10 +372,9 @@
 void IndicatorObserver::activateWlanIndicatorPlugin(QList<QVariant> list)
 {
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_ACTIVATEWLANINDICATORPLUGIN_ENTRY, "-->");
-
-    HbIndicator indicator;
-    bool success = indicator.activate("com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0", list);
     
+    bool success = mWlanIndicator->activate("com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0", list);
+   
     if (!success) {
         mWlanIndicatorIsActivated = false;
         OstTrace0(TRACE_FLOW, INDICATOROBSERVER_WLAN_INDICATOR_ACTIVATION_FAILED, "WLAN indicator activation failed"); 
@@ -346,8 +392,7 @@
 {
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_DEACTIVATEWLANINDICATORPLUGIN_ENTRY, "-->");
 
-    HbIndicator indicator;
-    indicator.deactivate("com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0");
+    mWlanIndicator->deactivate("com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0");
     mWlanIndicatorIsActivated = false;
     
     OstTrace0(TRACE_FLOW, INDICATOROBSERVER_DEACTIVATEWLANINDICATORPLUGIN_EXIT, "<--");   
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/NetworkInfoArray.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/NetworkInfoArray.h	Tue Jul 06 14:42:41 2010 +0300
@@ -83,7 +83,7 @@
         * @return index value of network in the array, or -1 if there
         * is no network the given Id
         */
-        TInt GetArrayIndex( TName aNetworkName ) const;
+        TInt GetArrayIndex( TName& aNetworkName ) const;
 
         /**
         * Add only new network to the array
@@ -125,4 +125,4 @@
         CArrayPtrFlat<CNetworkInfoBase>* iNetworkInfoArray;   ///< Owned.
     };
 
-#endif // NETWORKINFOARRAY_NOTIF_H_INCLUDED
\ No newline at end of file
+#endif // NETWORKINFOARRAY_NOTIF_H_INCLUDED
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/WepWpaQueryDlg.h	Tue Jul 06 14:42:41 2010 +0300
@@ -88,7 +88,7 @@
     * @param aResId resource id
     * @return -
     */
-    void CWepWpaQueryDlg::ShowInfoNoteL( TInt aResId );
+    void ShowInfoNoteL( TInt aResId );
     
     /**
     * PreLayoutDynInitL
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveOfflineWlanDisabledNote.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveOfflineWlanDisabledNote.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -19,7 +19,7 @@
 // INCLUDE FILES
 #include "ActiveOfflineWlanDisabledNote.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <AknGlobalNote.h>
 #include <StringLoader.h>
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -18,7 +18,7 @@
 
 // INCLUDE FILES
 #include <AknWaitDialog.h>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <AknGlobalNote.h>
 #include <StringLoader.h>
 #include <centralrepository.h>
@@ -84,7 +84,11 @@
 CActiveSelectWLanDlgPlugin::CActiveSelectWLanDlgPlugin( 
                                                 CSelectWLanDlgPlugin* aPlugin )
 : CActive( EPriorityStandard ), 
-  iPlugin( aPlugin )
+  iPlugin( aPlugin ),
+  iWlanDataProv( NULL ),
+  iPeriodic( NULL),
+  iResultsListDialog( NULL),
+  iWaitDialog( NULL )
     {
     }
     
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveWLANNetworkUnavailableNote.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveWLANNetworkUnavailableNote.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -19,7 +19,7 @@
 // INCLUDE FILES
 #include "ActiveWLANNetworkUnavailableNote.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <AknGlobalNote.h>
 #include <StringLoader.h>
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -46,8 +46,9 @@
 //
 EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
     {
-    CArrayPtrFlat<MEikSrvNotifierBase2>* array = new (ELeave) 
-                    CArrayPtrFlat<MEikSrvNotifierBase2>( KPluginGranularity );
+    CArrayPtrFlat<MEikSrvNotifierBase2>* array = NULL;
+    TRAP_IGNORE( array = new (ELeave) 
+                    CArrayPtrFlat<MEikSrvNotifierBase2>( KPluginGranularity ); )
 
     if ( array )
         {
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWepDlgNotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWepDlgNotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -21,7 +21,7 @@
 #include "WepWpaQueryDlg.h"
 #include "ConnUiUtilsNotif.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <StringLoader.h>
 #include <featmgr.h>
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWpaDlgNotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/EasyWpaDlgNotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -21,7 +21,7 @@
 #include "WepWpaQueryDlg.h"
 #include "ConnUiUtilsNotif.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <StringLoader.h>
 
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoArray.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -37,6 +37,7 @@
 // ---------------------------------------------------------
 //
 CNetworkInfoArray::CNetworkInfoArray()
+: iNetworkInfoArray( NULL )
     {
     }
 
@@ -121,7 +122,7 @@
 // CNetworkInfoArray::GetArrayIndex
 // ---------------------------------------------------------
 //
-TInt CNetworkInfoArray::GetArrayIndex( TName aNetworkName ) const
+TInt CNetworkInfoArray::GetArrayIndex( TName& aNetworkName ) const
     {
     CLOG_ENTERFN( "CNetworkInfoArray::GetArrayIndex" );
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoBase.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/NetworkInfoBase.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -19,7 +19,7 @@
 
 // INCLUDE FILES
 #include <StringLoader.h>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 
 #include "NetworkInfoBase.h"
 #include "ConnUiUtilsNotif.hrh"
@@ -35,9 +35,12 @@
 // ---------------------------------------------------------
 //
 CNetworkInfoBase::CNetworkInfoBase()
-: iOthersEntry( EFalse ),
-  iProtectedSetupSupported( EFalse )
-  
+: iSignalStrength( ESignalStrengthMin ),
+  iNetworkMode( ENetworkModeInfrastructure ),
+  iSecurityMode( EWlanConnectionSecurityOpen ),
+  iOthersEntry( EFalse ),
+  iProtectedSetupSupported( EFalse ),
+  iExtendedSecurityMode( EWlanConnectionExtentedSecurityModeOpen )
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -37,7 +37,8 @@
 // ---------------------------------------------------------
 //
 COfflineWlanNoteDlg::COfflineWlanNoteDlg( COfflineWlanNoteNotif* aNotif )
-: iNotif( aNotif )    
+: iNotif( aNotif ),
+  iExpiryTimer( NULL )
     {
     }
     
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteNotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/OfflineWlanNoteNotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -25,7 +25,7 @@
 
 #include <e32property.h>         // For RProperty 
 #include <UikonInternalPSKeys.h> // For KPSUidUikon and KUikGlobalNotesAllowed.
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 
 
 // ================= MEMBER FUNCTIONS =======================
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/SelectWLANDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -26,7 +26,7 @@
 #include <aknnotewrappers.h>
 #include <aknnotedialog.h>
 #include <connectionuiutilities.mbg>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <StringLoader.h>
 #include <data_caging_path_literals.hrh>
 #include <uikon/eiksrvui.h>
@@ -65,7 +65,9 @@
 : CAknListQueryDialog( &aIndex ),
   iPlugin( aPlugin ),
   iNetworkArray( aNetworkArray ),
-  iFromOkToExit( EFalse )
+  iFromOkToExit( EFalse ),
+  iWaitDialog( NULL ),
+  iExpiryTimer( NULL )
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WepWpaQueryDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -20,7 +20,7 @@
 #include <aknnotewrappers.h>
 #include <StringLoader.h>
 #include <aknnotedialog.h>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <uikon/eiksrvui.h>
 
 #include "WepWpaQueryDlg.h"
@@ -61,7 +61,8 @@
 : CAknTextQueryDialog( aDataText ),
   iNotif( aNotif ), 
   iDialogType( aDialogType ), 
-  iHex( aHex )
+  iHex( aHex ),
+  iExpiryTimer( NULL)
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WlanNetworkDataProvider.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/WlanNetworkDataProvider.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -64,7 +64,12 @@
 // ---------------------------------------------------------
 //
 CWlanNetworkDataProvider::CWlanNetworkDataProvider() 
-: CBase()
+: CBase(),
+#ifndef __WINS__
+  iWlanMgmt( NULL ),
+  iScanInfo( NULL ),
+#endif // !__WINS__
+  iNetworkInfoArray( NULL )
     {
     }
 
@@ -85,7 +90,7 @@
         }
     delete iWlanMgmt;
     delete iScanInfo;
-#endif
+#endif // !__WINS__
 
     CLOG_LEAVEFN( "CWlanNetworkDataProvider::~CWlanNetworkDataProvider" );
     }
@@ -277,7 +282,7 @@
                                    TWlanConnectionExtentedSecurityMode aExtSecurityMode,
                                    TBool aProtectedSetupSupported )
     {
-    TBuf<KWlanMaxSsidLength> networkName16;
+    TName networkName16;
     networkName16.Copy( aNetworkName );
     TInt index = iNetworkInfoArray->GetArrayIndex( networkName16 );
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/cellulardataconfirmation.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -18,7 +18,7 @@
 
 // INCLUDE FILES
 #include <StringLoader.h>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <hb/hbcore/hbsymbianvariant.h>
 #include "ConnectionDialogsLogger.h"
 #include "cellulardataconfirmation.h"
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/easywapidlgnotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/easywapidlgnotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -20,7 +20,7 @@
 #include "WepWpaQueryDlg.h"
 #include "ConnUiUtilsNotif.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <StringLoader.h>
 
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/nowlansdiscreetpopup.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -22,7 +22,7 @@
 #include <StringLoader.h>
 #include <avkon.hrh>
 #include <connectionuiutilities.mbg>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 
 #include "nowlansdiscreetpopup.h"
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -24,7 +24,7 @@
 
 #include <uikon/eiksrvui.h>
 #include <StringLoader.h>
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 
 // ================= MEMBER FUNCTIONS =======================
 //
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetestnotif.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetestnotif.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -24,7 +24,7 @@
 #include "ConnUiUtilsNotif.h"
 #include "ConnectionDialogsLogger.h"
 
-#include <ConnUiUtilsNotif.rsg>
+#include <connuiutilsnotif.rsg>
 #include <StringLoader.h>
 
 #include <ConnectionUiUtilities.h>
@@ -39,7 +39,9 @@
 //
 CWlanPowerSaveQueryNotif::CWlanPowerSaveQueryNotif()
     :
-    iDisable( EFalse )
+    iDialog( NULL ),
+    iDisable( EFalse ),
+    iExitAsync( NULL )
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveCChangeConnectionDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveCChangeConnectionDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -26,7 +26,7 @@
 #include <wlanmgmtclient.h>
 #endif
 
-#include <ConnectionUiUtilities.rsg>
+#include <connectionuiutilities.rsg>
 
 #include "ActiveCChangeConnectionDlg.h"
 #include "ChangeConnectionDlg.h"
@@ -81,7 +81,8 @@
                                             TUint32* aIAPId, 
                                             const TConnectionPrefs& aPrefs,
                                             TDes& aConnectionName  ) 
-: CActiveIAPListing( aPrefs ), 
+: CActiveIAPListing( aPrefs ),
+  iDialog( NULL ),
   isDialogDeleting( EFalse ),
   iIAPId( aIAPId ),
   iConnectionName( aConnectionName ),
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveWrapper.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ActiveWrapper.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -71,7 +71,15 @@
 //
 CActiveWrapper::CActiveWrapper( const TUint aIndexOfNote ) 
 : CActive( CActive::EPriorityStandard ),
-  iIndexOfNote( aIndexOfNote )
+  iSSID( NULL ),
+  iConnectionMode( NULL ),
+  iSecurityMode( NULL ),
+  iExtSecurityMode( NULL ),
+  iProtectedSetupSupported( NULL ),
+  iRS( NULL ),
+  iIndexOfNote( aIndexOfNote ),
+  iKey( NULL ),
+  iHex( NULL )
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ChangeConnectionDlg.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ChangeConnectionDlg.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -27,7 +27,7 @@
 #include <WlanCdbCols.h>
 
 #include <data_caging_path_literals.hrh>
-#include <ConnectionUiUtilities.rsg>
+#include <connectionuiutilities.rsg>
 
 #include "ChangeConnectionDlg.h"
 #include "ActiveCChangeConnectionDlg.h"
@@ -52,7 +52,8 @@
   iIAPId( aIAPId ),
   iConnectionName( aConnectionName ),
   iIsWLANFeatureSupported( EFalse ),
-  iActiveDlg( aActiveDlg )
+  iActiveDlg( aActiveDlg ),
+  iExpiryTimer( NULL )
     {
     }
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -46,7 +46,7 @@
 #include "ActiveCChangeConnectionDlg.h"
 #include "connectionstatuspopup.h"
 
-#include <ConnectionUiUtilities.rsg>
+#include <connectionuiutilities.rsg>
 #include <data_caging_path_literals.hrh>
 
 #include "ConnectionDialogsLogger.h"
@@ -85,7 +85,11 @@
 //
 CConnectionUiUtilitiesImpl::CConnectionUiUtilitiesImpl() 
 : iResOffset( 0 ),
-  iIsWlanSupported( EFalse )
+  iIsWlanSupported( EFalse ),
+  iDummy( EFalse ),
+  iDummySecMode( EWlanConnectionSecurityOpen ),
+  iDummyExtSecMode( EWlanConnectionExtentedSecurityModeOpen ),
+  iConnStatusPopup( NULL )
     {
     for ( TInt i = 0; i < KNumberOfWrappedDialogs; i++ )
         {
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/connectionstatuspopup.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/connectionstatuspopup.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -528,6 +528,7 @@
         case KErrGprsReactivationRequested:
         case KErrGprsOfflineMode:
             icon = EIconCellular;
+            // These were GPRS; fall through
         case KErrWlanOff:
         case KErrWlanForceOff:
             textPtr.Set( Ktxt_occ_dpopinfo_connection_unavailable );
--- a/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionInfo.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionInfo.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -26,7 +26,7 @@
 #include <apgcli.h>
 #include <AknsUtils.h>
 
-#include <DisconnectDlg.rsg>
+#include <disconnectdlg.rsg>
 #include <disconnectdlgui.mbg>
 #include <data_caging_path_literals.hrh>
 
--- a/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/ConnectionModel.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -34,7 +34,7 @@
 #include <commsdat_partner.h>
 #endif
 
-#include <DisconnectDlg.rsg>
+#include <disconnectdlg.rsg>
 
 
 // CONSTANTS
--- a/connectionutilities/ConnectionDialogs/DisconnectDlg/src/DisconnectDlgUi.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/DisconnectDlg/src/DisconnectDlgUi.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -29,7 +29,7 @@
 #include <bautils.h>
 #include <textresolver.h>
 
-#include <DisconnectDlg.rsg>
+#include <disconnectdlg.rsg>
 #include <data_caging_path_literals.hrh>
 
 
--- a/connectionutilities/ConnectionDialogs/cconndlg/inc/ConnDlgPlugin.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/cconndlg/inc/ConnDlgPlugin.h	Tue Jul 06 14:42:41 2010 +0300
@@ -163,7 +163,7 @@
                                             public CConnectionDialogsNotifBase
     {
 public:
-    CConnDlgAuthenticationPlugin::CConnDlgAuthenticationPlugin();
+    CConnDlgAuthenticationPlugin();
 
     /**
     * NewL function
--- a/connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/cconndlg/src/ConnDlgPlugin.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -59,8 +59,9 @@
 
 EXPORT_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
     {
-    CArrayPtrFlat<MEikSrvNotifierBase2>* array = new (ELeave) 
-                    CArrayPtrFlat<MEikSrvNotifierBase2>( KPluginGranularity );
+    CArrayPtrFlat<MEikSrvNotifierBase2>* array = NULL;
+    TRAP_IGNORE( array = new (ELeave) 
+                    CArrayPtrFlat<MEikSrvNotifierBase2>( KPluginGranularity ); )
 
     if ( array )
         {
--- a/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp	Tue Jul 06 14:42:41 2010 +0300
@@ -91,13 +91,10 @@
 
 SYSTEMINCLUDE   /epoc32/include/libc 
 SYSTEMINCLUDE   /epoc32/include/uikon
-SYSTEMINCLUDE   /epoc32/include/mw/hb/hbcore
-SYSTEMINCLUDE   /epoc32/include/mw/hb/hbwidgets
-
 
 LIBRARY     euser.lib eikdlg.lib eiksrv.lib cone.lib eikcore.lib eikcoctl.lib
 LIBRARY     bafl.lib avkon.lib AknSkins.lib Ecom.lib 
-LIBRARY		eiksrvui.lib
+LIBRARY     eiksrvui.lib
 LIBRARY     commonengine.lib
 LIBRARY     AKNNOTIFY.LIB
 LIBRARY     AknIcon.lib
@@ -109,7 +106,7 @@
 LIBRARY     charconv.lib
 
 LIBRARY     commdb.lib
-LIBRARY		  cmmanager.lib
+LIBRARY     cmmanager.lib
 LIBRARY     etel3rdparty.lib 
 LIBRARY     HbCore.lib
 LIBRARY     HbWidgets.lib
--- a/connectionutilities/ConnectionDialogs/group/bld.inf	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* 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"
--- a/connectionutilities/ConnectionDialogs/inc/ConnectionInfo.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/inc/ConnectionInfo.h	Tue Jul 06 14:42:41 2010 +0300
@@ -102,7 +102,7 @@
         * Returns iId member
         * @return iId member
         */
-        inline const TUint32 Id() const;
+        inline TUint32 Id() const;
 
         /**
         * ListItem() function
@@ -123,7 +123,7 @@
         * Returns iVPN_iap_id member
         * @return iVPN_iap_id member
         */
-        inline const TUint32 VPNIapId() const;
+        inline TUint32 VPNIapId() const;
 
 
         /**
@@ -131,7 +131,7 @@
         * Returns iDestinationId member
         * @return iDestinationId member
         */
-        inline const TUint32 DestinationId() const;
+        inline TUint32 DestinationId() const;
 
 
         /**
@@ -139,7 +139,7 @@
         * Tells if connection is VPN
         * @return ETrue if connection is VPN
         */
-        inline const TBool IsVPN() const;
+        inline TBool IsVPN() const;
 
 
     private:    // Data
--- a/connectionutilities/ConnectionDialogs/inc/ConnectionInfo.inl	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/inc/ConnectionInfo.inl	Tue Jul 06 14:42:41 2010 +0300
@@ -28,7 +28,7 @@
 // CConnectionInfo::Id
 // ---------------------------------------------------------
 //
-const TUint32 CConnectionInfo::Id() const
+TUint32 CConnectionInfo::Id() const
     {
     return iId;
     }
@@ -58,7 +58,7 @@
 // CConnectionInfo::VPNIapId()
 // ---------------------------------------------------------
 //
-const TUint32 CConnectionInfo::VPNIapId() const
+TUint32 CConnectionInfo::VPNIapId() const
     {
     return iVPN_iap_id;
     }
@@ -68,7 +68,7 @@
 // CConnectionInfo::DestinationId()
 // ---------------------------------------------------------
 //
-const TUint32 CConnectionInfo::DestinationId() const
+TUint32 CConnectionInfo::DestinationId() const
     {
     return iDestinationId;
     }
@@ -78,7 +78,7 @@
 // CConnectionInfo::VPNIapId()
 // ---------------------------------------------------------
 //
-const TBool CConnectionInfo::IsVPN() const
+TBool CConnectionInfo::IsVPN() const
     {
     return iIsVPN;
     }
--- a/connectionutilities/ConnectionDialogs/src/ActiveIAPListing.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/src/ActiveIAPListing.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -92,10 +92,16 @@
 CActiveIAPListing::CActiveIAPListing( const TConnectionPrefs& aPrefs )
 : CActive( EPriorityUserInput ), 
   iDb( NULL ), 
+  iPeriodic( NULL ),
   iWaitDialog( NULL ), 
 #ifndef __WINS__
   iWlanMgmt( NULL ),
 #endif // !__WINS__
+  iIAPs( NULL ),
+  iWlanIAPs( NULL ),
+  iActIAPs( NULL ),
+  iClientStatus( NULL ),
+  iIsWLANFeatureSupported( EFalse ),
   iPrefs( aPrefs )
     {
     }
--- a/connectionutilities/ConnectionDialogs/src/ConnectionDialogsNotifBase.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/src/ConnectionDialogsNotifBase.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -88,9 +88,13 @@
 // ---------------------------------------------------------
 //
 CConnectionDialogsNotifBase::CConnectionDialogsNotifBase()
-: iCancelled( EFalse ), 
+: iReplySlot( 0 ),
+  iCancelled( EFalse ),
   iResource( 0 )
     {
+    iInfo.iUid = TUid::Null();
+    iInfo.iChannel = TUid::Null();
+    iInfo.iPriority = 0;
     }
 
 
--- a/connectionutilities/ConnectionDialogs/src/ConnectionInfoKey.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/ConnectionDialogs/src/ConnectionInfoKey.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -29,7 +29,9 @@
 //
 CConnectionInfoKey::CConnectionInfoKey( TBool aIsWLANFeatureSupported )
 : TKeyArrayFix( 0, ECmpCollated ),
-  iIsWLANFeatureSupported( aIsWLANFeatureSupported )
+  iPtr( NULL ),
+  iIsWLANFeatureSupported( aIsWLANFeatureSupported ),
+  iNameEasyWLAN( NULL )
     {
     }
 
--- a/connectionutilities/confirmqueries/src/cellularpromptdialog.cpp	Wed Jun 23 18:39:24 2010 +0300
+++ b/connectionutilities/confirmqueries/src/cellularpromptdialog.cpp	Tue Jul 06 14:42:41 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-#include <QTranslator>
+#include <HbTranslator>
 #include <QLocale>
 #include <QList>
 #include <HbLabel>
@@ -45,12 +45,8 @@
     OstTraceFunctionEntry0( CELLULARPROMPTDIALOG_CELLULARPROMPTDIALOG_ENTRY );
 
     // Install localization
-    QTranslator *translator = new QTranslator(this);
-    QString lang = QLocale::system().name(); 
-    QString path = "Z:/resource/qt/translations/"; 
-    translator->load("cellularpromptdialog_" + lang, path);
-    qApp->installTranslator(translator);
-    
+    HbTranslator *translator(new HbTranslator("cellularpromptdialog"));
+
     createDialog(parameters);
     mClose = false;
     
--- a/dbcreator/conf/CI_commsdatcreator.confml	Wed Jun 23 18:39:24 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,831 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration xmlns="http://www.s60.com/xml/confml/2" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="Default CommsDat settings" version="1">
-  <feature ref="Global" name="Global Settings">
-    <desc>Global network related settings not tied to individual connection methods.</desc>
-    <setting ref="Attachmode" name="Packet Data Connection" type="selection">
-      <desc>Defines the packet data connection mode. Select When Available to register the device to the packet data network (GPRS) when users switch it on in a supported network. Select When Needed to establish a packet data connection only when applications or actions require it.</desc>
-      <option name="When Available" value="whenavailable"/>
-      <option name="When Needed" value="whenneeded"/>
-    </setting>
-    <setting ref="DefaultAP" name="Default Packet Data Access Point" type="string">
-      <desc>The default access point to use the device as a packet data modem for a computer.</desc>
-      <xs:maxLength value="100"/>
-    </setting>
-    <setting ref="UsageOfWlan" name="Usage Of Wlan" type="selection">
-      <desc>
-      This setting controls the behavior of the device regarding known (saved) and new WLAN networks.
-      When a known WLAN network is discovered, the device can automatically switch to it.
-      When one or more new unknown WLAN networks are discovered in connection request phase, those can be proposed and taken into use.
-    	</desc>
-      <option name="Known WLANs only" value="Known"/>
-      <option name="Manual" value="Manual"/>
-    </setting>
-    <setting ref="CellularDataUsageHome" name="Data usage in home network" type="selection">
-      <desc>
-      This setting controls the cellular packet data usage in home network.
-      Automatic means that cellular data connection is utilized automatically in case needed.
-      Confirm means that there is a confirmation query to confirm the usage.
-      WLAN Only means that cellular data is not tried to use. Instead, WLAN is utilized whenever possible. 
-    	</desc>
-      <option name="Automatic" value="Automatic"/>
-      <option name="Confirm" value="Confirm"/>
-      <option name="WlanOnly" value="Wlan only"/>
-    </setting>
-    <setting ref="CellularDataUsageVisitor" name="Data usage in foreign network" type="selection">
-      <desc>
-      This setting controls the cellular packet data usage in foreign network.
-      Automatic means that cellular data connection is utilized automatically in case needed.
-      Confirm means that there is a confirmation query to confirm the usage.
-      WLAN Only means that cellular data is not tried to use. Instead, WLAN is utilized whenever possible. 
-    	</desc>
-      <option name="Automatic" value="Automatic"/>
-      <option name="Confirm" value="Confirm"/>
-      <option name="WlanOnly" value="Wlan only"/>
-    </setting>
-    <setting ref="GprsLastSocketActivityTimeout" name="GPRS last socket activity timeout" type="string">
-      <desc>
-    	For GPRS the time (in seconds) to stay online when all socket activity has ceased. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="GprsLastSessionClosedTimeout" name="GPRS last session closed timeout" type="string">
-      <desc>
-    	For GPRS the time (in seconds) to stay online when session has closed. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="GprsLastSocketClosedTimeout" name="GPRS last socket closed timeout" type="string">
-      <desc>
-    	For GPRS the time (in seconds) to stay online when socket has closed. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="WlanLastSocketActivityTimeout" name="WLAN last socket activity timeout" type="string">
-      <desc>
-    	For WLAN the time (in seconds) to stay online when all socket activity has ceased. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="WlanLastSessionClosedTimeout" name="WLAN last session closed timeout" type="string">
-      <desc>
-    	For WLAN the time (in seconds) to stay online when all socket activity has ceased. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="WlanLastSocketClosedTimeout" name="WLAN last socket closed timeout" type="string">
-      <desc>
-    	For WLAN the time (in seconds) to stay online when all socket activity has ceased. -1 for unlimited time.
-    	Leave empty to use the product default value.
-    	</desc>
-    </setting>
-    <setting ref="WlanBGScanInterval" name="WLAN background scan interval" type="selection">
-      <desc>
-      How often WLAN networks are scanned when idle.
-      </desc>
-      <option name="Automatic" value="-1"/>
-      <option name="Never" value="0"/>
-      <option name="Every minute" value="60"/>
-      <option name="Every 2 minutes" value="120"/>
-      <option name="Every 5 minutes" value="300"/>
-      <option name="Every 10 minutes" value="600"/>
-    </setting>
-  </feature>
-  <feature ref="APs" name="Packet Data Access Points" relevant="">
-    <desc>Settings for packet data connections (GPRS).</desc>
-    <setting ref="AP" relevant="" mapKey="ConnectionName" mapValue="ConnectionName" name="Packet Data" constraint="" type="sequence" minOccurs="0" maxOccurs="99">
-      <desc>Access point to a packet data network.</desc>
-      <setting ref="ConnectionName" required="true" name="Connection Name" type="string">
-        <desc>The connection name that is visible to the user.</desc>
-        <xs:maxLength value="30"/>
-      </setting>
-      <setting ref="ConnectionId" name="Connection ID">
-        <desc>Specifies the connection ID. Either specify the connection ID manually or leave empty to have it allocated automatically. If you specify the ID manaually, verify that the IDs are globally unique.</desc>
-      </setting>
-      <setting ref="Protected" name="Protected" type="selection">
-        <desc>Defines whether the access point is protected or not. Users cannot edit protected access points.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Hidden" name="Hidden" type="selection">
-        <desc>Defines whether the access point is hidden or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="HiddenAgent" name="Hidden Agent" type="selection">
-        <desc>Defines whether or not to hide the access point for MMS connections.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Highlighted" name="Highlighted" type="selection">
-        <desc>Defines whether the access point is highlighted or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Seamlessness" name="Use access point" type="selection">
-        <desc>Defines whether devices can roam to an access point.</desc>
-        <option name="After confirmation" value="ConfirmFirst"/>
-        <option name="Automatically " value="ShowProgress"/>
-      </setting>
-      <setting ref="NetworkType" name="Network Type" type="selection">
-        <desc>Defines the addressing that the network uses.</desc>
-        <option name="IPv4" value="IPv4"/>
-        <option name="IPv6" value="IPv6"/>
-      </setting>
-      <setting ref="GPRS_AP_Name" required="true" name="Access Point Name" type="string">
-        <desc>The access point name for this packet data connection.</desc>
-        <xs:maxLength value="100"/>
-      </setting>
-      <setting ref="UserName" name="User Name" type="string">
-        <desc>Authenticates the user to the access point.</desc>
-        <xs:maxLength value="50"/>
-      </setting>
-      <setting ref="PromptPassword" name="Prompt Password" type="selection">
-        <desc>Prompts the user to enter a password when a connection is created.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Password" relevant="PromptPassword='Yes'" name="Password" type="string">
-        <desc>Authenticates the user to the access point.</desc>
-        <xs:maxLength value="50"/>
-      </setting>
-      <setting ref="PasswordAuthenticationType" name="Password Authentication Type" type="selection">
-        <desc>The password authentication method. Select Secure to always send the password encrypted and Normal to send it encryped when possible.</desc>
-        <option name="Normal" value="Normal"/>
-        <option name="Secure" value="Secure"/>
-      </setting>
-      <setting ref="WAPGatewayIP" name="WAP Gateway IP" type="string">
-        <desc>Wireless application protocol (WAP) gateway IP address.</desc>
-      </setting>
-      <setting ref="StartingPage" name="Starting Page" type="string">
-        <desc>The Web address (in URL format) of the page to display as the home page when users use this access point.</desc>
-        <xs:pattern value="(http(|s)://([\w-]+\.)+[\w-]+(:[0-9]{1,5})?(/[\w- ./?%&amp;=]*)?|)"/>
-        <xs:maxLength value="100"/>
-      </setting>
-      <setting ref="WTLS_Security" name="WTLS Security" type="selection">
-        <desc>Attempts a secure wireless transport layer security (WTLS) connection to the WAP gateway.</desc>
-        <option name="On" value="On"/>
-        <option name="Off" value="Off"/>
-      </setting>
-      <setting ref="WAP_ConnectionType" name="Connection type" type="selection">
-        <desc>Defines whether to use a continuous or a temporary connection.</desc>
-        <option name="Continuous" value="Continuous"/>
-        <option name="Temporary" value="Temporary"/>
-      </setting>
-      <setting ref="PhoneIP" relevant="NetworkType='IPv4'" name="IPv4 Phone IP Address" type="string">
-        <desc>IP address of the interface. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="PrimaryNameServer" relevant="NetworkType='IPv4'" name="IPv4 Primary Name Server" type="string">
-        <desc>Address of the primary DNS server that resolves host names. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="SecondaryNameServer" relevant="NetworkType='IPv4'" name="IPv4 Secondary Name Server" type="string">
-        <desc>Address of the secondary DNS server to connect if the primary DNS server is not available. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="PrimaryIP6NameServer" relevant="NetworkType='IPv6'" name="IPv6 Primary Name Server" type="string">
-        <desc>Address of the primary DNS server that resolves host names. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="SecondaryIP6NameServer" relevant="NetworkType='IPv6'" name="IPv6 Secondary Name Server" type="string">
-        <desc>Address of the secondary DNS server to connect if the primary DNS server is not available. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="ProxyServerAddress" name="Proxy Server Address" type="string">
-        <desc>Address of the HTTP/HTTPS proxy server.</desc>
-        <xs:maxLength value="1000"/>
-      </setting>
-      <setting ref="ProxyPortNumber" name="Proxy Port Number" type="string">
-        <desc>Port number of the HTTP/HTTPS proxy server.</desc>
-        <xs:maxLength value="5"/>
-      </setting>
-      <setting ref="ProxyProtocolName" name="Proxy Protocol Name" type="string">
-        <desc>Protocol name for the proxy settings. Typically HTTP or HTTPS.</desc>
-      </setting>
-      <setting ref="GprsUseEdge" name="Use EDGE" type="selection">
-        <desc>Defines whether EDGE usage is allowed or not.</desc>
-        <option name="Yes" value="Yes"/>
-        <option name="No" value="No"/>
-      </setting>
-      <setting ref="IspType" name="Service Provider Type" type="selection">
-        <desc>Specifies the service provider type. Used when filtering connection methods for certain purpose.</desc>
-        <option name="Internet" value="0"/>
-        <option name="WAP" value="1"/>
-        <option name="Both" value="2"/>
-      </setting>
-      <setting ref="Linger" name="Always Online / Linger time" type="selection">
-        <desc>Defines the time to stay online after all activity on a network link has stopped. Choose 0 or a negative value for unlimited time. Leave empty to disable.</desc>
-        <option name="Off" value=""/>
-        <option name="30 min" value="1800"/>
-        <option name="1h" value="3600"/>
-        <option name="5h" value="18000"/>
-      </setting>
-    </setting>
-  </feature>
-  <feature ref="WLAN_APs" name="WLAN Access Points" relevant="">
-    <desc>Settings for WLAN connections.</desc>
-    <setting ref="WLAN_AP" relevant="" name="WLAN" constraint="" type="sequence" minOccurs="0" maxOccurs="99">
-      <desc>Specifies the settings for WLAN access point.</desc>
-      <setting ref="ConnectionName" name="Connection Name" constraint="" type="string">
-        <desc>The connection name that is visible to the user.</desc>
-      </setting>
-      <setting ref="ConnectionId" name="Connection ID">
-        <desc>Specifies the connection ID. Either specify the connection ID manually or leave empty to have it allocated automatically. If you specify the ID manaually, verify that the IDs are globally unique.</desc>
-      </setting>
-      <setting ref="Protected" name="Protected" type="selection">
-        <desc>Defines whether the access point is protected or not. Users cannot edit protected access points.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Hidden" name="Hidden" type="selection">
-        <desc>Defines whether the access point is hidden or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="HiddenAgent" name="Hidden Agent" type="selection">
-        <desc>Defines whether or not to hide the access point for MMS connections.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Highlighted" name="Highlighted" type="selection">
-        <desc>Defines whether the access point is highlighted or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Seamlessness" name="Seamlessness" type="selection">
-        <desc>Defines whether devices can roam to an access point.</desc>
-        <option name="Confirm First" value="ConfirmFirst"/>
-        <option name="Show Progress" value="ShowProgress"/>
-      </setting>
-      <setting ref="NetworkName" name="Network Name" type="string">
-        <desc>Service set identifier (SSID) of the primary WLAN network.</desc>
-      </setting>
-      <setting ref="StartingPage" name="Starting Page" type="string">
-        <desc>The Web address (in URL format) of the page to display as the home page when users use this access point.</desc>
-      </setting>
-      <setting ref="NetworkMode" name="Network Mode" type="string">
-        <desc>Determines how devices communicate with each other. Select Infrastructure if there is a WLAN access point in the network. Select Ad Hoc if devices can send and receive data directly with each other.</desc>
-        <option name="Infrastructure" value="Infrastructure"/>
-        <option name="Ad-hoc" value="Ad-hoc"/>
-      </setting>
-      <setting ref="SecurityMode" name="Security Mode" type="selection">
-        <desc>Security mode of the WLAN network.</desc>
-        <option name="Open" value="Open"/>
-        <option name="WEP" value="WEP"/>
-        <option name="802.1x" value="802.1x"/>
-        <option name="WPA" value="WPA"/>
-        <option name="WPA2" value="WPA2"/>
-      </setting>
-      <setting ref="PrimaryNameServer" name="IPv4 Primary Name Server" type="string">
-        <desc>Address of the primary DNS server that resolves host names. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="SecondaryNameServer" name="IPv4 Secondary Name Server" type="string">
-        <desc>Address of the secondary DNS server to connect if the primary DNS server is not available. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="PrimaryIP6NameServer" name="IPv6 Primary Name Server" type="string">
-        <desc>Address of the primary DNS server that resolves host names. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="SecondaryIP6NameServer" name="IPv6 Secondary Name Server" type="string">
-        <desc>Address of the secondary DNS server to connect if the primary DNS server is not available. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="WlanIpGatewayAddress" name="WLAN IP Gateway Address" type="string">
-        <desc>The gateway IP address. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="WlanIpNetMask" name="Wlan IP Net Mask" type="string">
-        <desc>Network mask. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="ProxyServerAddress" name="Proxy Server Address" type="string">
-        <desc>Address of the HTTP/HTTPS proxy server.</desc>
-      </setting>
-      <setting ref="ProxyPortNumber" name="Proxy Port Number" type="string">
-        <desc>Port number of the HTTP/HTTPS proxy server.</desc>
-      </setting>
-      <setting ref="ProxyProtocolName" name="Proxy Protocol Name" type="string">
-        <desc>Protocol name for the proxy settings. Typically HTTP or HTTPS.</desc>
-      </setting>
-      <setting ref="WLANScanSSID" name="WLAN Scan SSID" type="selection">
-        <desc>Defines whether the SSID should be actively scanned. This is needed if the SSID is hidden (not broadcasted by the AP).</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="WlanChannelId" name="WLAN Channel ID" type="string">
-        <desc>802.11 Channel ID (1-14). Used only when connecting/setting up adhoc network.</desc>
-      </setting>
-      <setting ref="PhoneIP" name="IPv4 Phone IP address" type="string">
-        <desc>IP address of the interface. Typically allocated automatically.</desc>
-      </setting>
-      <setting ref="WEPKeyInUse" name="WEP Key In Use" type="selection">
-        <desc>Index of default WEP key. Used only when security mode is WEP.</desc>
-        <option name="key1" value="key1"/>
-        <option name="key2" value="key2"/>
-        <option name="key3" value="key3"/>
-        <option name="key4" value="key4"/>
-      </setting>
-      <setting ref="WEPAuthType" name="WEP Authentication Type" type="selection">
-        <desc>WEP authentication mode. Select Open to allow any device that knows the SSID of the access point to gain access to the network. Select Shared to allow access only to devices that have a static WEP key and pass a challenge based authentication. Only used when security mode is WEP.</desc>
-        <option name="Shared" value="Shared"/>
-        <option name="Open" value="Open"/>
-      </setting>
-      <setting ref="WEPKey1Length" name="WEP Key1 Length" type="selection">
-        <desc>WEP key length in bits.</desc>
-        <option name="64" value="64"/>
-        <option name="128" value="128"/>
-        <option name="256" value="256"/>
-      </setting>
-      <setting ref="WEPKey1Format" name="WEP Key1 Format" type="selection">
-        <desc>WEP key format.</desc>
-        <option name="ASCII" value="ASCII"/>
-        <option name="Hexadecimal" value="Hexadecimal"/>
-      </setting>
-      <setting ref="WEPKey1Data" name="WEP Key1 Data" type="string">
-        <desc>WEP key data in either ASCII or hexadecimal format. Devices use the RC4 algorithm with a key length of 64, 128, or 256 bits to define a set of WEP keys. Access to the WLAN is allowed only to mobile devices that have the required keys. If the key length is 64, enter 5 bytes in ASCII or 10 bytes in hexadecimal format. If the key length is 128, enter 13 bytes in ASCII or 26 bytes in hexadecimal format.</desc>
-      </setting>
-      <setting ref="WEPKey2Length" name="WEP Key2 Length" type="selection">
-        <desc>WEP key length in bits.</desc>
-        <option name="64" value="64"/>
-        <option name="128" value="128"/>
-        <option name="256" value="256"/>
-      </setting>
-      <setting ref="WEPKey2Format" name="WEP Key2 Format" type="selection">
-        <desc>WEP key format.</desc>
-        <option name="ASCII" value="ASCII"/>
-        <option name="Hexadecimal" value="Hexadecimal"/>
-      </setting>
-      <setting ref="WEPKey2Data" name="WEP Key2 Data" type="string">
-        <desc>WEP key data in either ASCII or hexadecimal format. Devices use the RC4 algorithm with a key length of 64, 128, or 256 bits to define a set of WEP keys. Access to the WLAN is allowed only to mobile devices that have the required keys. If the key length is 64, enter 5 bytes in ASCII or 10 bytes in hexadecimal format. If the key length is 128, enter 13 bytes in ASCII or 26 bytes in hexadecimal format.</desc>
-      </setting>
-      <setting ref="WEPKey3Length" name="WEP Key3 Length" type="selection">
-        <desc>WEP key length in bits.</desc>
-        <option name="64" value="64"/>
-        <option name="128" value="128"/>
-        <option name="256" value="256"/>
-      </setting>
-      <setting ref="WEPKey3Format" name="WEP Key3 Format" type="selection">
-        <desc>WEP key format.</desc>
-        <option name="ASCII" value="ASCII"/>
-        <option name="Hexadecimal" value="Hexadecimal"/>
-      </setting>
-      <setting ref="WEPKey3Data" name="WEP Key3 Data" type="string">
-        <desc>WEP key data in either ASCII or hexadecimal format. Devices use the RC4 algorithm with a key length of 64, 128, or 256 bits to define a set of WEP keys. Access to the WLAN is allowed only to mobile devices that have the required keys. If the key length is 64, enter 5 bytes in ASCII or 10 bytes in hexadecimal format. If the key length is 128, enter 13 bytes in ASCII or 26 bytes in hexadecimal format.</desc>
-      </setting>
-      <setting ref="WEPKey4Length" name="WEP Key4 Length" type="selection">
-        <desc>WEP key length in bits.</desc>
-        <option name="64" value="64"/>
-        <option name="128" value="128"/>
-        <option name="256" value="256"/>
-      </setting>
-      <setting ref="WEPKey4Format" name="WEP Key4 Format" type="selection">
-        <desc>WEP key format.</desc>
-        <option name="ASCII" value="ASCII"/>
-        <option name="Hexadecimal" value="Hexadecimal"/>
-      </setting>
-      <setting ref="WEPKey4Data" name="WEP Key4 Data" type="string">
-        <desc>WEP key data in either ASCII or hexadecimal format. Devices use the RC4 algorithm with a key length of 64, 128, or 256 bits to define a set of WEP keys. Access to the WLAN is allowed only to mobile devices that have the required keys. If the key length is 64, enter 5 bytes in ASCII or 10 bytes in hexadecimal format. If the key length is 128, enter 13 bytes in ASCII or 26 bytes in hexadecimal format.</desc>
-      </setting>
-      <setting ref="WPAPresharedKey" name="WPA Pre-shared Key" type="string">
-        <desc>WPA/WPA2 pre-shared key in plain text. ASCII character set values between 32-126 must be used. Minimum length is 8 characters and maximum 63. Define the WPA pre-shared key length field accordingly.</desc>
-      </setting>
-      <setting ref="WPAUseOfPresharedKey" name="WPA Use Of Pre-shared Key" type="selection">
-        <desc>Enables the Pre-shared key mode when the security mode is WPA or WPA2. If the setting is off, EAP mode is used and the list of EAPs needs to be defined.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="WPAKeyLength" name="WPA Pre-shared Key Length">
-        <desc>The length of the specified pre-shared key in WPA Pre-shared Key.</desc>
-      </setting>
-      <setting ref="WPAEapMethod" name="WPA EAP method" type="selection">
-        <desc>
-      	Extensible Authentication Protocol (EAP) method in use for this connection in case security mode is WPA or 802.1x with EAP. Please fill also the relevant EAP method specific settings.
-      	</desc>
-        <option name="EAP-SIM" value="18"/>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-AKA" value="23"/>
-        <option name="EAP-TLS" value="13"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-LEAP" value="17"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapGtcUsername" name="EAP-GTC User Name" type="string">
-        <desc>The username used with EAP-GTC.</desc>
-      </setting>
-      <setting ref="EapGtcSessionValidityTime" name="EAP-GTC Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapGtcEncapsulation" name="EAP-GTC Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with EAP-GTC.</desc>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapTlsUsername" name="EAP-TLS User Name" type="string">
-        <desc>The username used with EAP-TLS.</desc>
-      </setting>
-      <setting ref="EapTlsRealm" name="EAP-TLS Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapTlsVerifyServerRealm" name="EAP-TLS Verify Server Realm" type="selection">
-        <desc>Compares the server realm with the device realm. This provides extra security but it depends on the network infrastructure and set-up whether this will work.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapTlsRequireClientAuth" name="EAP-TLS Requires Client Authentication" type="selection">
-        <desc>Specifies whether TLS requires that the server authenticates the client.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapTlsSessionValidityTime" name="EAP-TLS Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapTlsCipherSuites" name="EAP-TLS Cipher Suites" type="string">
-        <desc>The list of allowed cipher suites. In the format +xxx,+xxx,+xxx... where xxx is the cipher suite identifier. 004: TLS_RSA_WITH_RC4_128_MD5, 005: TLS_RSA_WITH_RC4_128_SHA, 010: TLS_RSA_WITH_3DES_EDE_CBC_SHA, 019: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 022: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 047: TLS_RSA_WITH_AES_128_CBC_SHA, 050: TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 051: TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 052: TLS_DH_anon_WITH_AES_128_CBC_SHA. For example, +004 enables only RSA with RC4 and MD5.</desc>
-      </setting>
-      <setting ref="EapTlsUserCertSubjectKeyId" name="EAP-TLS User Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the user certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapTlsUserCertIssuerName" name="EAP-TLS User Certificate Issuer" type="string">
-        <desc>The issuer of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTlsUserCertSerialNumber" name="EAP-TLS User Certificate Serial Number" type="string">
-        <desc>The serial number of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTlsCaCertSubjectKeyId" name="EAP-TLS CA Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the CA certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapTlsCaCertIssuerName" name="EAP-TLS CA Certificate Issuer" type="string">
-        <desc>The issuer of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTlsCaCertSerialNumber" name="EAP-TLS CA Certificate Serial Number" type="string">
-        <desc>The serial number of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTlsEncapsulation" name="EAP-TLS Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with EAP-TLS.</desc>
-        <option name="None" value=""/>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapLeapUsername" name="EAP-LEAP User Name" type="string">
-        <desc>The username used with EAP-LEAP.</desc>
-      </setting>
-      <setting ref="EapLeapPassword" name="EAP-LEAP Password" type="string">
-        <desc>The password used with EAP-LEAP.</desc>
-      </setting>
-      <setting ref="EapLeapSessionValidityTime" name="EAP-LEAP Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, o new password queries).</desc>
-      </setting>
-      <setting ref="EapSimUsername" name="EAP-SIM User Name" type="string">
-        <desc>The username used with EAP-SIM.</desc>
-      </setting>
-      <setting ref="EapSimRealm" name="EAP-SIM Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapSimUsePseudonyms" name="EAP-SIM Pseudonyms Allowed" type="selection">
-        <desc>Specifies whether IMSI is always sent when authenticating or is pseudonym usage allowed.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapSimSessionValidityTime" name="EAP-SIM Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapSimEncapsulation" name="EAP-SIM Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with EAP-SIM.</desc>
-        <option name="None" value=""/>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapTtlsUsername" name="EAP-TTLS User Name" type="string">
-        <desc>The username used with EAP-TTLS.</desc>
-      </setting>
-      <setting ref="EapTtlsRealm" name="EAP-TTLS Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapTtlsVerifyServerRealm" name="EAP-TTLS Verify Server Realm" type="selection">
-        <desc>Compares the server realm with the device realm. This provides extra security but it depends on the network infrastructure and set-up whether this will work.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapTtlsRequireClientAuth" name="EAP-TTLS Require Client Authentication" type="selection">
-        <desc>Specifies whether TTLS requires that the server authenticates the client.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapTtlsSessionValidityTime" name="EAP-TTLS Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapTtlsCipherSuites" name="EAP-TTLS Cipher Suites" type="string">
-        <desc>The list of allowed cipher suites. In the format +xxx,+xxx,+xxx... where xxx is the cipher suite identifier. 004: TLS_RSA_WITH_RC4_128_MD5, 005: TLS_RSA_WITH_RC4_128_SHA, 010: TLS_RSA_WITH_3DES_EDE_CBC_SHA, 019: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 022: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 047: TLS_RSA_WITH_AES_128_CBC_SHA, 050: TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 051: TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 052: TLS_DH_anon_WITH_AES_128_CBC_SHA. For example, +004 enables only RSA with RC4 and MD5.</desc>
-      </setting>
-      <setting ref="EapTtlsEncapsulatedTypes" name="EAP-TTLS Tunneled Methods" type="string">
-        <desc>A list of Extensible Authentication Protocols (EAPs) in tunneled by EAP-TTLS. The format is +xxx,+xxx,+xxx where xxx indicates the enabled EAP method ID as specified in the IANA registry: http://www.iana.org/assignments/eap-numbers. For example, to enable EAP-SIM encapsulation the string needs to be &quot;+018&quot;. The list is in priority order, highest priority first. Note that the encapsulate type's encapsulation parameter needs to be configured accordingly.</desc>
-      </setting>
-      <setting ref="EapTtlsUserCertSubjectKeyId" name="EAP-TTLS User Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the user certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapTtlsUserCertIssuerName" name="EAP-TTLS User Certificate Issuer" type="string">
-        <desc>The issuer of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTtlsUserCertSerialNumber" name="EAP-TTLS User Certificate Serial Number" type="string">
-        <desc>The serial number of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTtlsCaCertSubjectKeyId" name="EAP-TTLS CA Certificate Subject Key ID" type="string">
-        <desc>The subject key id value of the CA certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapTtlsCaCertIssuerName" name="EAP-TTLS CA Certificate Issuer" type="string">
-        <desc>The issuer of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapTtlsCaCertSerialNumber" name="EAP-TTLS CA Certificate Serial Number" type="string">
-        <desc>The serial number of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapAkaUsername" name="EAP-AKA User Name" type="string">
-        <desc>The username used with EAP-AKA.</desc>
-      </setting>
-      <setting ref="EapAkaRealm" name="EAP-AKA Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapAkaUsePseudonyms" name="EAP-AKA Pseudonyms Allowed" type="selection">
-        <desc>Specifies whether IMSI is always sent when authenticating or is pseudonym usage allowed.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapAkaSessionValidityTime" name="EAP-AKA Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapAkaEncapsulation" name="EAP-AKA Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with EAP-AKA.</desc>
-        <option name="None" value=""/>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapPeapUsername" name="EAP-PEAP User Name" type="string">
-        <desc>The username used with EAP-PEAP.</desc>
-      </setting>
-      <setting ref="EapPeapRealm" name="EAP-PEAP Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapPeapVerifyServerRealm" name="EAP-PEAP Verify Server Realm" type="selection">
-        <desc>Compares the server realm with the device realm. This provides extra security but it depends on the network infrastructure and set-up whether this will work.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapPeapRequireClientAuth" name="EAP-PEAP Require Client Authentication" type="selection">
-        <desc>Specifies whether PEAP requires that the server authenticates the client.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapPeapSessionValidityTime" name="EAP-PEAP Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapPeapCipherSuites" name="EAP-PEAP Cipher Suites" type="string">
-        <desc>The list of allowed cipher suites. In the format +xxx,+xxx,+xxx... where xxx is the cipher suite identifier. 004: TLS_RSA_WITH_RC4_128_MD5, 005: TLS_RSA_WITH_RC4_128_SHA, 010: TLS_RSA_WITH_3DES_EDE_CBC_SHA, 019: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 022: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 047: TLS_RSA_WITH_AES_128_CBC_SHA, 050: TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 051: TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 052: TLS_DH_anon_WITH_AES_128_CBC_SHA. For example, +004 enables only RSA with RC4 and MD5.</desc>
-      </setting>
-      <setting ref="EapPeapV0Allowed" name="Allow EAP-PEAP Version 0" type="selection">
-        <desc>Defines whether PEAP version 0 is allowed. If in doubt enable only this one.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapPeapV1Allowed" name="Allow EAP-PEAP Version 1" type="selection">
-        <desc>Defines whether PEAP version 1 is allowed.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapPeapV2Allowed" name="Allow EAP-PEAP Version 2" type="selection">
-        <desc>Defines whether PEAP version 2 is allowed.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapPeapEncapsulatedTypes" name="EAP-PEAP Tunneled Methods" type="string">
-        <desc>A list of Extensible Authentication Protocols (EAPs) in tunneled by EAP-PEAP. The format is +xxx,+xxx,+xxx where xxx indicates the enabled EAP method ID as specified in the IANA registry: http://www.iana.org/assignments/eap-numbers. For example to enable EAP-SIM encapsulation the string needs to be &quot;+018&quot;. The list is in priority order, highest priority first. Note that the encapsulate type's encapsulation parameter needs to be configured accordingly.</desc>
-      </setting>
-      <setting ref="EapPeapUserCertSubjectKeyId" name="EAP-PEAP User Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the user certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapPeapUserCertIssuerName" name="EAP-PEAP User Certificate Issuer" type="string">
-        <desc>The issuer of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapPeapUserCertSerialNumber" name="EAP-PEAP User Certificate Serial Number" type="string">
-        <desc>The serial number of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapPeapCaCertSubjectKeyId" name="EAP-PEAP CA Certificate Subject Key ID" type="string">
-        <desc>The subject key id value of the CA certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapPeapCaCertIssuerName" name="EAP-PEAP CA Certificate Issuer" type="string">
-        <desc>The issuer of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapPeapCaCertSerialNumber" name="EAP-PEAP CA Certificate Serial Number" type="string">
-        <desc>The serial number of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapMschapv2Username" name="EAP-MSCHAPv2 User Name" type="string">
-        <desc>The username used with EAP-MSCHAPv2.</desc>
-      </setting>
-      <setting ref="EapMschapv2Password" name="EAP-MSCHAPv2 Password" type="string">
-        <desc>The password used with EAP-MSCHAPv2.</desc>
-      </setting>
-      <setting ref="EapMschapv2SessionValidityTime" name="EAP-MSCHAPv2 Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapMschapv2Encapsulation" name="EAP-MSCHAPv2 Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with EAP-MSCHAPv2.</desc>
-        <option name="EAP-PEAP" value="25"/>
-        <option name="EAP-TTLS" value="21"/>
-        <option name="EAP-FAST" value="43"/>
-      </setting>
-      <setting ref="EapFastUsername" name="EAP-FAST User Name" type="string">
-        <desc>The username used with EAP-FAST.</desc>
-      </setting>
-      <setting ref="EapFastRealm" name="EAP-FAST Realm" type="string">
-        <desc>The realm used for device identification to the server.</desc>
-      </setting>
-      <setting ref="EapFastVerifyServerRealm" name="EAP-FAST Verify Server Realm" type="selection">
-        <desc>Specifies whether the server's realm is compared with own realm. This provides extra security but it depends on the network infrastructure and set-up whether this will work.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastRequireClientAuth" name="EAP-FAST Require Client Authentication" type="selection">
-        <desc>Specifies whether TTLS requires that the server authenticates the client.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastSessionValidityTime" name="EAP-FAST Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="EapFastCipherSuites" name="EAP-FAST Cipher Suites" type="string">
-        <desc>The list of allowed cipher suites. In the format +xxx,+xxx,+xxx... where xxx is the cipher suite identifier. 004: TLS_RSA_WITH_RC4_128_MD5, 005: TLS_RSA_WITH_RC4_128_SHA, 010: TLS_RSA_WITH_3DES_EDE_CBC_SHA, 019: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 022: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 047: TLS_RSA_WITH_AES_128_CBC_SHA, 050: TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 051: TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 052: TLS_DH_anon_WITH_AES_128_CBC_SHA. For example, +004 enables only RSA with RC4 and MD5.</desc>
-      </setting>
-      <setting ref="EapFastEncapsulatedTypes" name="EAP-FAST Tunneled Methods" type="string">
-        <desc>A list of Extensible Authentication Protocols (EAPs) in tunneled by EAP-FAST. The format is +xxx,+xxx,+xxx where xxx indicates the enabled EAP method ID as specified in the IANA registry: http://www.iana.org/assignments/eap-numbers. For example to enable EAP-SIM encapsulation the string needs to be &quot;+018&quot;. The list is in priority order, highest priority first. Note that the encapsulate type's encapsulation parameter needs to be configured accordingly.</desc>
-      </setting>
-      <setting ref="EapFastAuthProvModeAllowed" name="Allow EAP-FAST Authenticated Provisioning Mode" type="selection">
-        <desc>Allows the dynamic provisioning of a PAC key in signed mode, where the server is authenticated during a signed Diffie-Hellman (DH) exchange. The device must have the server public key.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastUnauthProvModeAllowed" name="Allow EAP-FAST Unauthenticated Provisioning Mode" type="selection">
-        <desc>Allows the dynamic provisioning of a PAC key in anonymous mode, without authenticating the server.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastWarnADHPNoPAC" name="EAP-FAST Warn ADHP No PAC" type="selection">
-        <desc>Defines whether the server issues a warning if the device does not send a PAC, the server cannot decrypt the PAC, or the PAC has expired.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastWarnADHPNoMatchingPAC" name="EAP-FAST Warn ADHP No Matching PAC" type="selection">
-        <desc>Defines whether the server issues a warning the server and the device cannot match a PAC.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastWarnNotDefaultServer" name="EAP-FAST Warn Not Default Server" type="selection">
-        <desc>Defines whether the server issues a warning if the server is not the default server.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="EapFastUserCertSubjectKeyId" name="EAP-FAST User Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the user certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapFastUserCertIssuerName" name="EAP-FAST User Certificate Issuer" type="string">
-        <desc>The issuer of the user certificate. Ignored by the implementation currently!</desc>
-      </setting>
-      <setting ref="EapFastUserCertSerialNumber" name="EAP-FAST User Certificate Serial Number" type="string">
-        <desc>The serial number of the user certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapFastCaCertSubjectKeyId" name="EAP-FAST CA Certificate Subject Key ID" type="string">
-        <desc>The subject key ID value of the CA certificate. Currently this field is the only one that can be used to identify the certificate.</desc>
-      </setting>
-      <setting ref="EapFastCaCertIssuerName" name="EAP-FAST CA Certificate Issuer" type="string">
-        <desc>The issuer of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="EapFastCaCertSerialNumber" name="EAP-FAST CA Certificate Serial Number" type="string">
-        <desc>The serial number of the CA certificate. Currently not used.</desc>
-      </setting>
-      <setting ref="Mschapv2Username" name="MSCHAPv2 User Name" type="string">
-        <desc>The username used with MSCHAPv2.</desc>
-      </setting>
-      <setting ref="Mschapv2Password" name="MSCHAPv2 Password" type="string">
-        <desc>The password used with MSCHAPv2.</desc>
-      </setting>
-      <setting ref="Mschapv2SessionValidityTime" name="MSCHAPv2 Session Validity Time">
-        <desc>Specifies how long single session is kept in memory (for example, no new password queries).</desc>
-      </setting>
-      <setting ref="Mschapv2Encapsulation" name="MSCHAPv2 Tunneling Method" type="selection">
-        <desc>Defines which EAP tunneling method is used with MSCHAPv2. Needs to be EAP-TTLS.</desc>
-        <option name="EAP-TTLS" value="21"/>
-      </setting>
-    </setting>
-  </feature>
-  <feature ref="DNs" name="Destination Networks">
-    <desc>Settings for Destination Networks (SNAP) that applications can use.</desc>
-    <setting ref="DN" relevant="" mapKey="Name" mapValue="Name" name="Destination Network" constraint="" type="sequence" minOccurs="0" maxOccurs="3">
-      <desc>Settings for Destination Network.</desc>
-      <setting ref="Name" name="Name" type="string">
-        <desc>Destination Network name that is visible to the user.</desc>
-      </setting>
-      <setting ref="DNId" name="Destination Network ID">
-        <desc>Specifies the connection ID. Either specify the connection ID manually or leave empty to have it allocated automatically. If you specify the ID manaually, verify that the IDs are globally unique.</desc>
-      </setting>
-      <setting ref="Metadata" name="Metadata" type="selection">
-        <desc>Metadata that specifies a few default destination networks that applications can use.</desc>
-        <option name="User Defined" value="UserDefined"/>
-        <option name="Internet" value="Internet"/>
-        <option name="Operator" value="Operator"/>
-        <option name="MMS" value="MMS"/>
-        <option name="Intranet" value="Intranet"/>
-      </setting>
-      <setting ref="Protection" name="Protection Level" type="selection">
-        <desc>Defines the protection level. Select Destination And Contents to protect the connection methods inside the destination and their priorities.</desc>
-        <option name="No protection" value="0"/>
-        <option name="Destination And Contents" value="1"/>
-        <option name="Destination" value="2"/>
-      </setting>
-      <setting ref="Hidden" name="Hidden" type="selection">
-        <desc>Defines whether the Destination Network is hidden or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="HiddenAgent" name="Hidden Agent" type="selection">
-        <desc>Defines whether or not to hide the Destination Network for MMS connections.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Highlighted" name="Highlighted" type="selection">
-        <desc>Defines whether the Destination Network is highlighted or not.</desc>
-        <option name="No" value="No"/>
-        <option name="Yes" value="Yes"/>
-      </setting>
-      <setting ref="Icon" name="Icon" type="selection">
-        <desc>Defines the icon to be assigned to Destination Network.</desc>
-        <option name="Internet" value="0"/>
-        <option name="WAP" value="1"/>
-        <option name="MMS" value="2"/>
-        <option name="Intranet" value="3"/>
-        <option name="Operator" value="4"/>
-        <option name="Icon1" value="5"/>
-        <option name="Icon2" value="6"/>
-        <option name="Icon3" value="7"/>
-        <option name="Icon4" value="8"/>
-        <option name="Icon5" value="9"/>
-        <option name="Icon6" value="10"/>
-        <option name="Default" value="11"/>
-      </setting>
-      <setting ref="EmbeddedDN" name="Embedded Destination Network" type="string">
-        <desc>Name of an embedded Destination Network that is bound to the Destination Network.</desc>
-      </setting>
-      <setting ref="IAP" name="1st Access Point" type="selection">
-        <desc>Name of the first connection method that is bound to the Destination Network.</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP2" name="2nd Access Point" type="selection">
-        <desc>Name of the second connection method that is bound to the Destination Network.   	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP3" name="3rd Access Point" type="selection">
-        <desc>Name of the third connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP4" name="4th Access Point" type="selection">
-        <desc>Name of the fourth connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP5" name="5th Access Point" type="selection">
-        <desc>Name of the fifth connection method that is bound to the Destination Network.    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP6" name="6th Access Point" type="selection">
-        <desc>Name of the sixth connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP7" name="7th Access Point" type="selection">
-        <desc>Name of the seventh connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP8" name="8th Access Point" type="selection">
-        <desc>Name of the eight connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP9" name="9th Access Point" type="selection">
-        <desc>Name of the ninth connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-      <setting ref="IAP10" name="10th Access Point" type="selection">
-        <desc>Name of the tenth connection method that is bound to the Destination Network.	    	</desc>
-        <option name=" " value=""/>
-        <option map="APs/AP"/>
-        <option map="CIA_WLAN_APs/WLAN_AP"/>
-      </setting>
-    </setting>
-  </feature>
-</configuration>
\ No newline at end of file
--- a/dbcreator/group/bld.inf	Wed Jun 23 18:39:24 2010 +0300
+++ b/dbcreator/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -22,7 +22,6 @@
 DEFAULT
 
 PRJ_EXPORTS
-../conf/CI_commsdatcreator.confml				MW_LAYER_CONFML(CI_commsdatcreator.confml)
 ../conf/commsdatcreator.confml				MW_LAYER_CONFML(commsdatcreator.confml)
 ../conf/commsdatcreator_01.gcfml			MW_LAYER_GCFML(commsdatcreator_01.gcfml)
 ../conf/commsdatcreator.implml          MW_LAYER_CRML(commsdatcreator.implml)
--- a/ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h	Wed Jun 23 18:39:24 2010 +0300
+++ b/ipcm_plat/connection_settings_shim_api/inc/cmmanagerdefines_shim.h	Tue Jul 06 14:42:41 2010 +0300
@@ -89,7 +89,9 @@
      *  Enumerations for connection method attributes.
      */
     enum ConnectionMethodAttribute {
-        // Common attributes        
+        // Common attributes
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmDestination                   = CMManager::ECmDestination,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmBearerType                    = CMManager::ECmBearerType,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
@@ -138,6 +140,8 @@
         CmProxyServerName               = CMManager::ECmProxyServerName,
         //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
         CmProxyPortNumber               = CMManager::ECmProxyPortNumber,
+        //! From TConnectionMethodCommonAttributes in cmconnectionmethoddef.h
+        CmMetaHotSpot                   = CMManager::ECmMetaHotSpot,
 
         // Packet data specific attributes
         /*!
--- a/ipcm_plat/group/bld.inf	Wed Jun 23 18:39:24 2010 +0300
+++ b/ipcm_plat/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-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"
@@ -27,3 +27,4 @@
 #include "../pdpcontextmanager2_settings_api/group/bld.inf"
 #include "../mpm_connect_screen_api/group/bld.inf"
 #include "../flextimer_api/group/bld.inf"
+#include "../mpm_vpn_toggle_api/group/bld.inf"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ipcm_plat/mpm_vpn_toggle_api/group/bld.inf	Tue Jul 06 14:42:41 2010 +0300
@@ -0,0 +1,25 @@
+/*
+* 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: Used to export api headers.
+*
+*/
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/mpmvpntoggleapi.h     MW_LAYER_PLATFORM_EXPORT_PATH(mpmvpntoggleapi.h)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ipcm_plat/mpm_vpn_toggle_api/inc/mpmvpntoggleapi.h	Tue Jul 06 14:42:41 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* 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: Defines central repository key for VPN toggle
+*
+*/
+
+#ifndef MPMVPNTOGGLEAPI_H
+#define MPMVPNTOGGLEAPI_H
+
+/**
+ * The UID of the repository to be accessed.
+ */
+const TUid KMpmVpnToggleCenRepUid = {0x20016A88}; 
+
+/**
+ * This key contains value, which defines if VPN connection is preferred
+ * connection. Client can set this value if it has WriteDeviceData and
+ * NetworkControl capabilities.
+ */
+const TUint32 KMpmVpnTogglePreferVpn = 0x00000001;
+
+/**
+ * This key contains VPN IAP Id value for VPN IAP which is used to establish
+ * VPN connection, when VPN connection is preferred. Client can set this value
+ * if it has WriteDeviceData and NetworkControl capabilities. TUint32 value
+ * needs to be converted from TInt.
+ */
+const TUint32 KMpmVpnToggleIapId = 0x00000002;
+
+/**
+ * This key contains SNAP Id value SNAP which is used to establish VPN
+ * connection, when VPN connection is preferred. Client can set this value
+ * if it has WriteDeviceData and NetworkControl capabilities. TUint32 value
+ * needs to be converted from TInt.
+ */
+const TUint32 KMpmVpnToggleSnapId = 0x00000003;
+
+#endif // MPMVPNTOGGLEAPI_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ipcm_plat/mpm_vpn_toggle_api/mpm_vpn_toggle_api.metaxml	Tue Jul 06 14:42:41 2010 +0300
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api id="1d6087f5136e401d3622dd9952b7da47" dataversion="2.0">
+  <name>mpm_vpn_toggle_api</name>
+  <description>Provides API to set/get VPN connection preferred value, which defines whether VPN connection is preferred connection. VPN IAP Id or Intranet SNAP Id needs to be also defined, when VPN connection is preferred connection. VPN IAP Id or Intranet SNAP Id needs to be defined, if VPN connection is preferred.</description>
+  <type>c++</type>
+  <collection>mpm_vpn_toggle_api</collection>
+  <libs>
+    <lib name="centralrepository.lib"/>
+  </libs>
+  <release category="platform" sinceversion=""/>
+  <attributes>
+    <htmldocprovided>no</htmldocprovided>
+    <adaptation>no</adaptation>
+  </attributes>
+</api>
--- a/ipconnmgmt.pro	Wed Jun 23 18:39:24 2010 +0300
+++ b/ipconnmgmt.pro	Tue Jul 06 14:42:41 2010 +0300
@@ -12,18 +12,19 @@
 # Contributors:
 #
 # Description:
+# Qt project file for ipconnmgmt package.
 #
 
 TEMPLATE = subdirs
 
+CONFIG += ordered
+
 SUBDIRS  += \
     ipcm_plat \
     connectionutilities \
     cmmanager \
     connectionmonitoring
 
-CONFIG += ordered
-
-symbian*: {
-    SYMBIAN_PLATFORMS = WINSCW ARMV5
-} 
+symbian {
+    BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include \"./group/bld.inf\""
+}
--- a/keepalive/flextimer/test/testflextimer/group/testflextimer_doxyfile.txt	Wed Jun 23 18:39:24 2010 +0300
+++ b/keepalive/flextimer/test/testflextimer/group/testflextimer_doxyfile.txt	Tue Jul 06 14:42:41 2010 +0300
@@ -1,20 +1,19 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+# 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 the License "Symbian Foundation License v1.0"
+# under the terms of "Eclipse Public License v1.0"
 # which accompanies this distribution, and is available
-# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
 #
 # Initial Contributors:
 # Nokia Corporation - initial contribution.
 #
 # Contributors:
-# 
-# Description:
+#
+# Description:  Doxygen configuration for generating FlexTimer test
+#               specication.
 #
 #
-
 # Doxyfile 1.4.1
 
 #---------------------------------------------------------------------------
--- a/layers.sysdef.xml	Wed Jun 23 18:39:24 2010 +0300
+++ b/layers.sysdef.xml	Tue Jul 06 14:42:41 2010 +0300
@@ -7,7 +7,6 @@
   <systemModel>
     <layer name="mw_layer">
       <module name="ipconnmgmt">
-        <unit unitID="netdo.ipconnmgmt" mrp="" bldFile="&layer_real_source_path;/group" name="ipconnmgmt" />
         <unit unitID="netdo.ipconnmgmtqt" mrp="" bldFile="&layer_real_source_path;" name="ipconnmgmtqt" proFile="ipconnmgmt.pro" qmakeArgs="-r"/>
       </module>
     </layer>