Revision: 201007 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:44:18 +0200
branchRCL_3
changeset 12 ea6e024ea6f9
parent 8 2e6c4614c58e
child 13 68f0c7cd80ec
Revision: 201007 Kit: 201008
bearermanagement/S60MCPR/inc/s60mcpractivities.h
bearermanagement/S60MCPR/src/s60mcpr.cpp
bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp
bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp
bearermanagement/S60MCPR/src/s60mcprstates.cpp
bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp
bearermanagement/mpm/group/mpmserver.mmp
bearermanagement/mpm/inc/mpmconnmonevents.h
bearermanagement/mpm/inc/mpmiapselection.h
bearermanagement/mpm/src/mpmconnmonevents.cpp
bearermanagement/mpm/src/mpmdatausagewatcher.cpp
bearermanagement/mpm/src/mpmiapselection.cpp
bearermanagement/mpm/src/mpmserver.cpp
bearermanagement/mpm/src/mpmserversession.cpp
bearermanagement/mpm/src/rmpm.cpp
cmmanager/cmmgr/Framework/Inc/cmwizard.h
cmmanager/cmmgr/Framework/Src/cmconnselectrbpage.cpp
cmmanager/cmmgr/Framework/Src/cmdlg.cpp
cmmanager/cmmgr/Framework/Src/cmwizard.cpp
cmmanager/cmmgr/Framework/Src/uncatdlg.cpp
cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmpluginvpn.h
cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp
cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopup.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc
connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp
dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp
dbcreator/conf/commsdatcreator.confml
--- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Fri Mar 12 15:44:18 2010 +0200
@@ -601,7 +601,7 @@
      * 1. Continue with handshake to select new AP for MCPR.
      * 2. Return back to migration-phase with new preferred IAP.
      * 3. Close down the system in case of mobilityerror.
-     * @return  //TODO Cancel from IPCPR.
+     * @return
      */
     DECLARE_SMELEMENT_HEADER( TNoTagOrInformMigrationAvailableBackwardsOrErrorOrCancel, 
                               MeshMachine::TStateFork<TContext>, 
@@ -820,16 +820,6 @@
 
         private: // Member variables.
             
-            /**
-             * Pointer to IPProtocoMCPR which is currently active 
-             */
-            ESock::RMetaServiceProviderInterface* iCurrent;
-
-            /**
-             * Pointer to IPProtocoMCPR which is about to become the active. 
-             */
-            ESock::RMetaServiceProviderInterface* iPreferred;
-
             TUint iCurrentAssumedAPId;  // Current IAP Id
             TUint iPreferredAPId;       // New IAP Id system should roam to.
             TBool iIsUpgrade;           // If the active iPreferredAPId is upgrade to old one.
--- a/bearermanagement/S60MCPR/src/s60mcpr.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcpr.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -398,11 +398,9 @@
                     notification.iInfo.iIap == 0 )) 
                 {
                 S60MCPRLOGSTRING2("S60MCPR<%x>::PolicyNotification() EMPMStopIAPNotification IAP %d",(TInt*)this,notification.iInfo.iIap);
-
-                //TODO migrate to use MCPR's TStop and vertical msg down. Not supported at the moment.
-                /*PostToClients<TDefaultClientMatchPolicy>( TNodeCtxId( 0, Id() ),
-                                                          TCFServiceProvider::TStop( KErrCancel ).CRef(),
-                                                          TClientType( TCFClientType::EData) );*/
+                PostToClients<TDefaultClientMatchPolicy>( TNodeCtxId( 0, Id() ),
+                                                          TCFServiceProvider::TStop( KErrDisconnected ).CRef(),
+                                                          TClientType( TCFClientType::EServProvider) );
                 }
 #ifdef _DEBUG
             else
@@ -464,14 +462,11 @@
     // Store PolicyNotification
     // This could happen if PolicyServer sends notification too early.
     //
-    S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification()",(TInt*)this);
     if ( iPendingNotification.Length() == 0 )
         {
         S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() iPendingNotification.Length() == 0",(TInt*)this);
         Mem::Copy((TAny*)iPendingNotification.Ptr(), &aNotification, KMpmMessageLength);
-        S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() Mem::Copy",(TInt*)this);
         iPendingNotification.SetLength( KMpmMessageLength );
-        S60MCPRLOGSTRING1("S60MCPR<%x>::StorePolicyNotification() iPendingNotification.SetLength",(TInt*)this);
         }
 #ifdef _DEBUG
     else
--- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -341,16 +341,6 @@
         //in this implementation.
         __ASSERT_DEBUG(activity.iPreferredAPId, User::Panic(KS60MCprPanic, KPanicNoServiceProvider));
 
-        //Compute all this here to keep EvaluatePreference() as fast as possible
-        activity.iCurrent = static_cast<RMetaServiceProviderInterface*>(
-                iContext.Node().GetFirstClient<TDefaultClientMatchPolicy>(
-                        TClientType( TCFClientType::EServProvider, TCFClientType::EStarted )));
-
-        __ASSERT_DEBUG(activity.iCurrent, User::Panic(KS60MCprPanic, KPanicNoServiceProvider));
-/*  Not valid ASSERT
-        __ASSERT_DEBUG(activity.iCurrent->ProviderInfo().APId() == activity.iCurrentAssumedAPId, 
-                       User::Panic(KS60MCprPanic, KPanicInConsistentMCPRState));
-*/
         // Activity received the necessary information from the policy server earlier 
         // and now holds that information which we'll send to IPCPR.
         TCFMobilityControlClient::TMigrationNotification msg( activity.iCurrentAssumedAPId,
@@ -558,7 +548,7 @@
             S60MCPRLOGSTRING2("S60MCPR<%x>::TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification::Accept() TMPMErrorNotificationMsg %d",(TInt*)&iContext.Node(),msg->iValue)
             ASSERT( msg->iValue != KErrNone );
             activity.SetError( msg->iValue );
-            result = ETrue;
+            result = EFalse;
             }
 
         return result;
--- a/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -194,10 +194,6 @@
             newPrefs.SetPrefs( ippprefs );
             TCFSelector::TSimpleSelect msg(newPrefs);
             iContext.iNodeActivity->PostRequestTo(ac.iTierManager, msg);
-
-            //TODO Clarify, if the SelectionChoices is actually needed...
-            //if (ac.SelectionChoices().Count() == 0)
-            //ac.SelectionChoices().Append(node.iIAPList[0]);
             }
         }
     }
@@ -318,10 +314,6 @@
             newPrefs.SetPrefs( ippprefs );
             TCFSelector::TSimpleSelect msg(newPrefs);
             iContext.iNodeActivity->PostRequestTo(ac.iTierManager, msg);
-
-            //TODO Clarify, if the SelectionChoices is actually needed...
-            //if (ac.SelectionChoices().Count() == 0)
-            //ac.SelectionChoices().Append(node.iIAPList[0]);
             }
         }
 
--- a/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprstates.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -54,7 +54,6 @@
               node.RequestPermissionToSendStarted() )
         {
         S60MCPRLOGSTRING2("S60MCPR<%x>::THandleMPMStatusChange::DoL() calling IAPConnectionStartedL IAP %d",(TInt*)&iContext.Node(),iapid)
-        // TODO use progress notification KLinkLayerOpen once Symbian provides them.
         node.Policy()->IAPConnectionStartedL( iapid );  // codescanner::leave
         }
     else if ( msg.iValue == TCFControlProvider::TDataClientStatusChange::EStopped &&
@@ -114,28 +113,46 @@
     RNodeInterface* stoppingSP = NULL;
     RNodeInterface* startingSP = NULL;
 
-    // The one that will be started is the one MPM selected.
-    // Both must be present in the MCPR -plane.
+    // Get the MCPR
+    CS60MetaConnectionProvider& node = (CS60MetaConnectionProvider&)iContext.Node();
+    
+    // At this point MCPR has selected two active IPProtoMCPRs.
+    // The one that will be started is the one MPM selected and
+    // the one which doesn't match the policy preferences is the
+    // old selection and needs to be disconnected.
+    //
+    TUint32 newAP = node.PolicyPrefs().IapId();
+    ASSERT( newAP > 0 );
 
     // Choose Service Providers to work on
     TClientIter<TDefaultClientMatchPolicy> iter = 
         iContext.Node().GetClientIter<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider));
-
-    RNodeInterface* itf = NULL;
-    for ( itf = iter++; ( itf != NULL && ( stoppingSP == NULL || startingSP == NULL ) ); itf = iter++ )
+    
+    RMetaServiceProviderInterface* itf = NULL;
+    //RNodeInterface* itf = NULL;
+    
+    for ( itf = (RMetaServiceProviderInterface*)iter++;
+             ( itf != NULL && ( stoppingSP == NULL || startingSP == NULL ) );
+             itf = (RMetaServiceProviderInterface*)iter++ )
         {
-        // Only one of the selected MCPRs can be EStarted.
-        //
-        if ( itf->Flags() & TCFClientType::EStarted )
+        if ( itf->Flags() & TCFClientType::EActive )
             {
-            stoppingSP = itf; //Our current started Service Provider.
-            itf->ClearFlags( TCFClientType::EActive );
-            }
-        // The other which is not EStarted must be EActive.
-        //
-        else if ( itf->Flags() & TCFClientType::EActive )
-            {
-            startingSP = itf; //And the new one to try next
+            // Select one that shall be stopped.
+            //
+            if ( itf->ProviderInfo().APId() != newAP )
+                {
+                stoppingSP = itf;
+                itf->ClearFlags( TCFClientType::EActive );
+                }
+            // Select one that shall be started
+            //
+            else if ( itf->ProviderInfo().APId() == newAP )
+                {
+                startingSP = itf;
+                itf->ClearFlags( TCFClientType::EActive );
+                }
+            // no else.
+            //
             }
         }
     // One must be started since this is already a reconnection
@@ -147,10 +164,6 @@
         User::Leave( KErrCorrupt );  // codescanner::leave
         }
 
-    //Sanity check.
-    //The new provider must not be started, there can be only one started at a time.
-    ASSERT( startingSP == NULL || ( startingSP->Flags() & TCFClientType::EStarted ) == 0 );
-
     //If there is no other Service Provider to try, return KErrNotFound
     if ( startingSP == NULL )
         {
--- a/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60tiermanagerselector.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -132,8 +132,8 @@
             break;
             }
         }
-    // We do the default behavior. AP is only needed to get proper UIds for TM etc..
-    // TODO: change to use AP.
+    // We use default AP always. If some variation is needed in APs, then
+    // this must be changed to use specific APs instead of the default one.
     aSelectionNotify.SelectComplete( this, FindOrCreateProviderL( iDefaultAp ));
     aSelectionNotify.SelectComplete( this, NULL );
     }
--- a/bearermanagement/mpm/group/mpmserver.mmp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/group/mpmserver.mmp	Fri Mar 12 15:44:18 2010 +0200
@@ -54,7 +54,6 @@
 SOURCE            mpmiapselection.cpp
 SOURCE            mpmcsidwatcher.cpp
 SOURCE            mpmdialogbase.cpp
-SOURCE            mpmwlanavailability.cpp
 SOURCE            mpmdatausagewatcher.cpp
 
 USERINCLUDE       ../inc
--- a/bearermanagement/mpm/inc/mpmconnmonevents.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmconnmonevents.h	Fri Mar 12 15:44:18 2010 +0200
@@ -37,8 +37,6 @@
 
 // FORWARD DECLARATIONS
 class CMPMConnMonReqs;
-class CWlanAvailability;
-class MWlanAvailability;
 
 // CONSTANTS
 
@@ -300,29 +298,7 @@
          * @since 5.1
          */
         void IapAvailabilityChange();
-
-        /**
-         * Asks WLAN bearer availability info from Connection monitor.
-         * @since 5.2
-         * @param aObserver pointer to the caller
-         */
-        void CheckWlanAvailabilityL( MWlanAvailability* aObserver );
-        
-        /**
-         * Cancels WLAN bearer availability check for an observer.
-         * @since 5.2
-         * @param aObserver pointer to the caller
-         */
-        void CancelCheckWlanWlanAvailability( MWlanAvailability* aObserver );
-    
-        /**
-         * Sets iWlanAvailability pointer to NULL because object has
-         * deleted itself.
-         * @since 5.2
-         */
-        void SetWlanAvailabilityPtrNull();
-
-        
+       
     public: // Functions from base classes
     
         /**
@@ -373,7 +349,6 @@
         void FilterAvailableIAPEvents( const TBool aVal ) { iFilterEvents = aVal; }
 #endif //_DEBUG
 
-       CWlanAvailability*               iWlanAvailability;
     };
 
 // -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/inc/mpmiapselection.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmiapselection.h	Fri Mar 12 15:44:18 2010 +0200
@@ -22,12 +22,10 @@
 
 #include "mpmserversession.h"
 #include "mpmcommsdataccess.h"
-#include "mpmwlanavailability.h"
 
 class CMPMDialog;
 class CMPMWlanQueryDialog;
 class CMPMConfirmDlgStarting;
-class MWlanAvailability;
 class TMpmConnPref;
 
 enum TOfflineNoteResponse
@@ -45,8 +43,7 @@
  *  @lib mpmserver.exe
  *  @since S60 v3.2
  */
-class CMPMIapSelection : public CBase,
-                         public MWlanAvailability
+class CMPMIapSelection : public CBase
     {
 
 public:
@@ -240,13 +237,6 @@
      * @since 3.2
      */
     void ConnectionStarted();
-    
-    /**
-     * Triggers an information note. Note disappears automatically. 
-     *
-     * @since 5.2
-     */
-    void TriggerInformationNoteL();
 
     /**
      * Get original MPM connection preferences
@@ -307,18 +297,6 @@
      */
     void ImplicitConnectionWlanNoteL();
     
-private: // from MWlanAvailability
-
-       /**
-       * WLAN availability check response
-       * @since 3.2
-       * @param aError generic Symbian error response code
-       * @param aResult Result of WLAN availability check
-       * @return void
-       */
-       void WlanAvailabilityResponse( const TInt  aError, 
-                                      const TBool aResult );
-
 private:
 
     /**
--- a/bearermanagement/mpm/src/mpmconnmonevents.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmconnmonevents.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -26,7 +26,6 @@
 #include "mpmserver.h"
 #include "mpmserversession.h"
 #include "mpmlogger.h"
-#include "mpmwlanavailability.h"
 
 // ============================= LOCAL FUNCTIONS ===============================
 
@@ -68,8 +67,6 @@
     iConnMon.Close();
     iReqPtrs.ResetAndDestroy();
     iConnInfoArray.Close();
-    delete iWlanAvailability;
-    iWlanAvailability = NULL;
     }
 
 
@@ -697,52 +694,5 @@
     {
     }
 
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::CheckWlanAvailabilityL
-// -----------------------------------------------------------------------------
-// 
-void CMPMConnMonEvents::CheckWlanAvailabilityL( MWlanAvailability* aObserver )
-    {
-    MPMLOGSTRING( "CMPMConnMonEvents::CheckWlanAvailabilityL" )
-    // Sanity check null pointer 
-    ASSERT( aObserver != NULL );
-
-    // Request for WLAN bearer availability info
-    //
-    if ( !iWlanAvailability )
-        {
-        iWlanAvailability = CWlanAvailability::NewL( this, iConnMon );
-        }
-    
-    iWlanAvailability->Start( aObserver );
-    }
-
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::CancelCheckWlanWlanAvailability
-// -----------------------------------------------------------------------------
-//
-void CMPMConnMonEvents::CancelCheckWlanWlanAvailability( MWlanAvailability* aObserver )
-    {
-    MPMLOGSTRING( "CMPMConnMonEvents::CancelCheckWlanWlanAvailability" )
-    // Sanity check null pointer 
-    ASSERT( aObserver != NULL );
-
-    // Cancel WLAN bearer availability check for this observer
-    //
-    if ( iWlanAvailability )
-        {
-        iWlanAvailability->CancelObserver( aObserver );
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMPMConnMonEvents::SetWlanAvailabilityPtrNull
-// -----------------------------------------------------------------------------
-//
-void CMPMConnMonEvents::SetWlanAvailabilityPtrNull()
-    {
-    iWlanAvailability = NULL;
-    }
-
 //  End of File
 
--- a/bearermanagement/mpm/src/mpmdatausagewatcher.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmdatausagewatcher.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -113,13 +113,13 @@
     // Get the new value from central repository
     User::LeaveIfError( iRepository->Get( KCurrentCellularDataUsage,
             iCellularDataUsage ) );
-
+    
     // Stop cellular connections if the setting changes into Disabled
-    if (oldCellularDataUsage != ECmCellularDataUsageDisabled &&
-            iCellularDataUsage == ECmCellularDataUsageDisabled)
+    if ( oldCellularDataUsage != ECmCellularDataUsageDisabled &&
+         iCellularDataUsage == ECmCellularDataUsageDisabled &&
+         iServer->RoamingWatcher()->RoamingStatus() != EMPMRoamingStatusUnknown )
         {
-        // TODO: Uncomment this when trying to get stopping working.
-        // iServer->StopCellularConns();
+        iServer->StopCellularConns();
         }
     }
 
--- a/bearermanagement/mpm/src/mpmiapselection.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -84,13 +84,6 @@
     //
     StopDisplayingStartingDlg();
     
-    // Cancel WLAN availability check in case it is active
-    //
-    if ( iSession )
-        {
-    	  iSession->MyServer().Events()->CancelCheckWlanWlanAvailability( this );	
-        }	
-    
     delete iConfirmDlgStarting;
     delete iDialog;
     delete iWlanDialog;
@@ -419,16 +412,7 @@
         if ( ( iChooseIapPref.BearerSet() & TExtendedConnPref::EExtendedConnBearerWLAN ) ||
              ( iChooseIapPref.BearerSet() == TExtendedConnPref::EExtendedConnBearerUnknown ) )
             {
-            if ( iNewWlansAllowed && 
-            	   ( iChooseIapPref.BearerSet() == 
-            	     TExtendedConnPref::EExtendedConnBearerWLAN ) )
-                {
-                // User allows only WLAN connections, check WLAN availability.
-                // A note will be shown if no WLANs are available.
-                //
-                iSession->MyServer().Events()->CheckWlanAvailabilityL( this );
-                }
-            else if( iCommsDatAccess->SnapContainsWlanL( snap, iapPath, KMPMNrWlansOne ) )
+            if( iCommsDatAccess->SnapContainsWlanL( snap, iapPath, KMPMNrWlansOne ) )
                 {
                 // Scan wlan networks. After that execution continues 
                 // in CompleteExplicitSnapConnectionL()
@@ -854,28 +838,12 @@
         TMpmConnPref userPref;
         iUserSelectionSnapId = iCommsDatAccess->MapNetIdtoSnapAPL( aId );
         userPref.SetSnapId( iUserSelectionSnapId );
+        userPref.SetIapId( 0 );
 
-        
-// Agreed that MPM will be migrated to SNAP TAG ID SNAPS.
-//        if ( iUserSelectionSnapId < 0x1000 )  // TODO: remove when connection dialog return valid SNAP TAG ID.
-//            {
-//            // legacy snaps ok
-//            userPref.SetNetId( aId );
-//            iUserSelectionSnapId = aId;
-//            }
-//        else
-//            {
-//            // 5.2 snaps, MPM uses internally legacy snaps. Convert back. -jl- TODO: use CommsDat mapping in future.
-//            userPref.SetNetId( aId - 3000 );
-//            iUserSelectionSnapId = aId - 3000;
-//            }
-        
         MPMLOGSTRING2(
                 "CMPMIapSelection::HandleUserSelectionL: Snap = %i selected by the User", 
                 iUserSelectionSnapId )
 
-//        userPref.SetNetId( aId );
-        userPref.SetIapId( 0 );
 
         ChooseBestIAPL( userPref, iStoredAvailableIaps );
         iUserSelectionIapId = userPref.IapId();
@@ -1322,62 +1290,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CMPMIapSelection::TriggerInformationNote
-// -----------------------------------------------------------------------------
-//
-void CMPMIapSelection::TriggerInformationNoteL()
-    {
-    // ConnectioUiUtilities client side has a nonblocking active object 
-    // implementation
-    //
-    if ( !( iChooseIapPref.NoteBehaviour() &
-           TExtendedConnPref::ENoteBehaviourConnDisableNotes ) )
-        {           	
-        CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();        
-                            
-        connUiUtils->NoWLANNetworksAvailableNote();
-                            
-        delete connUiUtils;
-        }            
-    }
-
-// -----------------------------------------------------------------------------
-// CMPMIapSelection::WlanAvailabilityResponse
-// -----------------------------------------------------------------------------
-//
-void CMPMIapSelection::WlanAvailabilityResponse( const TInt  aError, 
-                                                 const TBool aResult )
-    {
-    if ( ( aError == KErrNone && aResult == EFalse )
-          || ( aError == KErrNotSupported ) )
-        {
-        // no WLANs are available and user allows only
-        // WLAN connections
-        TRAPD( err, TriggerInformationNoteL() );
-        
-        if ( err )
-            {
-            MPMLOGSTRING2( "TriggerInformationNoteL leaved %d", err )
-            }
-            
-        ChooseIapComplete( KErrNotFound, NULL );
-        }
-    else
-        {
-        // Some WLANs are available,
-        // or an error has occured while requesting available WLANs.
-        //
-        TRAPD( err, CompleteExplicitSnapConnectionL() );
-        
-        if ( err )
-            {
-            MPMLOGSTRING2( "CompleteExplicitSnapConnectionL leaved %d", err )
-            ChooseIapComplete( KErrCancel, NULL );
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
 // CMPMIapSelection::MpmConnPref
 // -----------------------------------------------------------------------------
 //
--- a/bearermanagement/mpm/src/mpmserver.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -25,6 +25,7 @@
 #include <etel3rdparty.h>                // Voice call notification
 #include <mmtsy_names.h>                 // KMmTsyModuleName
 #include <centralrepository.h>
+#include <es_sock_partner.h>
 
 #include "mpmserver.h"
 #include "mpmserversession.h"
@@ -2023,7 +2024,7 @@
     
                         MPMLOGSTRING2( "CMPMServer::NotifyDisconnectL: \
 Disconnected Connection Id = 0x%x", iSessions[sIndex]->ConnectionId() )
-                        iSessions[sIndex]->ClientErrorNotificationL( KErrDisconnected );
+                        iSessions[sIndex]->ClientErrorNotificationL( KErrForceDisconnected );
                         }
                     }
                 }
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -445,6 +445,9 @@
     // 
     iAppUid = aMessage.Int2();
 
+    MPMLOGSTRING2( "CMPMServerSession::HandleServerChooseIapL: \
+Client UID = 0x%x", iAppUid )
+
     if ( !iIapSelection )
         {
         iIapSelection = CMPMIapSelection::NewL( iMyServer.CommsDatAccess(),
--- a/bearermanagement/mpm/src/rmpm.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/bearermanagement/mpm/src/rmpm.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -277,7 +277,7 @@
                                   TRequestStatus&      /*aStatus*/ )
     {
     __ASSERT_ALWAYS( EFalse, Panic( KErrNotSupported ) );
-    //-jl- TODO remove this function from the API.
+    // TODO remove this function from the API.
     }
 
 // -----------------------------------------------------------------------------
@@ -324,7 +324,7 @@
                                           const TConnectionId  /*aConnId*/ )
     {
     __ASSERT_ALWAYS( EFalse, Panic( KErrNotSupported ) );
-    //-jl- TODO remove this function from the API.
+    // TODO remove this function from the API.
     return NULL;
     }
 
--- a/cmmanager/cmmgr/Framework/Inc/cmwizard.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Inc/cmwizard.h	Fri Mar 12 15:44:18 2010 +0200
@@ -123,6 +123,7 @@
         TBool iCheckConnDlgCancelled;
         
         CCmManagerImpl& iCmManager;     ///< Only a reference == not owned.
+        CActiveSchedulerWait    iWait;
     };
 
 #endif // T_TCMWIZARD_H
--- a/cmmanager/cmmgr/Framework/Src/cmconnselectrbpage.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmconnselectrbpage.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -381,8 +381,8 @@
                     		Cba()->DrawNow();
                     		CleanupStack::PopAndDestroy( text );
                     		}
+                		CAknRadioButtonSettingPage::SelectCurrentItemL();
                 		}
-		            CAknRadioButtonSettingPage::HandleListBoxEventL(aListBox, aEventType);
                 	}
                 break;
                 
--- a/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmdlg.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -198,9 +198,10 @@
                                         CEikMenuPane* aMenuPane )
     {
     CAknDialog::DynInitMenuPaneL( aResourceId, aMenuPane );        
+    
     if ( aResourceId == R_CM_MENU )
         {
-    	if (aResourceId == R_CM_MENU && !iCmManager->IsHelpOn())
+    	if ( !iCmManager->IsHelpOn() )
             {
             aMenuPane->DeleteMenuItem( EAknCmdHelp );		    
             }
@@ -243,18 +244,27 @@
                 hidePrioritise = ETrue;
                 }
             }
-     
+ 
+        // All item specific options need to be dimmed if in prioritising view
+        if ( iPrioritising )
+            {
+            hideEdit = ETrue;
+            hideAdd = ETrue;
+            hideRename = ETrue;
+            hideDelete = ETrue;
+            hideCopy = ETrue;
+            hideMove = ETrue;
+            hidePrioritise = ETrue;           
+            }
+
         // Show or hide menu items
-        if ( aResourceId == R_CM_MENU )
-            {            
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit,    hideEdit );
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd,     hideAdd );
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename,  hideRename );            
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete,  hideDelete );    
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise );
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove );
-            aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy ); 
-            }
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmEdit,    hideEdit );
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmAdd,     hideAdd );
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmRename,  hideRename );            
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmDelete,  hideDelete );    
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmPrioritise, hidePrioritise );
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmMoveToOtherDestination, hideMove );
+        aMenuPane->SetItemDimmed( ECmManagerUiCmdCmCopyToOtherDestination, hideCopy ); 
         }   
     }
     
@@ -1229,7 +1239,12 @@
         {
         User::LeaveIfError( err );
         }
-        
+
+    if ( !cm )
+        {
+        return;
+        }
+
     // Must reload here in case another app changed the data (CurrentCML loads
     // only if not already loaded)   
     cm->ReLoadL();
--- a/cmmanager/cmmgr/Framework/Src/cmwizard.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/cmwizard.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -298,6 +298,12 @@
             iCheckConnDlgCancelled = ETrue;
             }
         }
+    
+    if ( iWait.IsStarted() )
+        {
+        iWait.AsyncStop();
+        }
+    iCheckConnDlg = NULL;
     }
 
 // ---------------------------------------------------------------------------
@@ -386,16 +392,21 @@
     if( !iCheckConnDlgCancelled )
         {
         CLOG_WRITE( "CCmWizard::CheckForCms, cancelling wait dlg" );
-        iCheckConnDlg->SetCallback( NULL );
         iCheckConnDlg->ProcessFinishedL();
+        
+        // Wait here in case wait note has not yet been dismissed.
+        // This happens in hw when Themes/effects is enabled.
+        if ( iCheckConnDlg != NULL )
+            {
+            iWait.Start();
+            }
         CLOG_WRITE( "CCmWizard::CheckForCms, wait dialog deleted" );
         }
     else
         {
         CLOG_WRITE( "CCmWizard::CheckForCms, wait dlg was already cancelled" );
         }
-    
-    
+
     // Set the member to NULL every case
     iCheckConnDlg = NULL;
     }
--- a/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Framework/Src/uncatdlg.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -226,6 +226,7 @@
                     {
                     TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY,
                                             TCmCommonUi::ECmInfoNote );
+                    iCmManager->WatcherUnRegister();       
                     TryExitL( KDialogUserBack );                                
                     }
                 }
@@ -295,6 +296,7 @@
                             {
                             TCmCommonUi::ShowNoteL( R_QTN_NETW_CONSET_INFO_UNCAT_EMPTY,
                                                     TCmCommonUi::ECmInfoNote );
+                            iCmManager->WatcherUnRegister();       
                             TryExitL( KDialogUserBack );                                
                             }
                         }
--- a/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmpluginvpn.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginvpn/inc/cmpluginvpn.h	Fri Mar 12 15:44:18 2010 +0200
@@ -283,7 +283,7 @@
         * @since S60 5.2
         * @return an elementid id of the default AP record in tier record. 
         */                    
-        const TMDBElementId DefaultAPRecordL( const TInt aTierIdentifier = KAfInet );
+        TMDBElementId DefaultAPRecordL( const TInt aTierIdentifier = KAfInet );
 
     public:                
         /**
--- a/cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginvpn/src/cmpluginvpn.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -667,7 +667,41 @@
     if( TPtrC(aIapRecord->iServiceType) == TPtrC(KCDTypeNameVPNService) ||
         TPtrC(aIapRecord->iBearerType) == TPtrC(KCDTypeNameVirtualBearer) )
         {
-        retVal = ETrue;
+        // Further comparision is to find exact info that the IAP can handle by this plugin
+        CMDBRecordSet<CCDVirtualBearerRecord>* bearersRS = 
+                new(ELeave) CMDBRecordSet<CCDVirtualBearerRecord>
+                                                   (KCDTIdVirtualBearerRecord);
+        CleanupStack::PushL( bearersRS );
+
+        CCDVirtualBearerRecord* bearerRecord = 
+                static_cast<CCDVirtualBearerRecord *>
+                    (CCDRecordBase::RecordFactoryL(KCDTIdVirtualBearerRecord));
+
+        CleanupStack::PushL( bearerRecord );
+    
+        // Find entries used "vpnconnagt.agt" as agent from Table VirtualBearer
+        bearerRecord->iBearerAgent.SetL( KVpnVirtualBearerAgent );
+    
+        bearersRS->iRecords.AppendL( bearerRecord );
+
+        CleanupStack::Pop( bearerRecord );
+        bearerRecord = NULL;
+        
+        if ( bearersRS->FindL( Session() ) )
+            {
+            TUint32 recordId = (*bearersRS)[0]->RecordId();
+            TPtrC bearerName( (*bearersRS)[0]->iRecordName.GetL() );
+        
+            // Further comparing record ID referred to by this VPN IAP with entry ID in table VirtualBearer
+            // And also comparing bear name with our expected one "vpnbearer"
+            if( recordId == aIapRecord->iBearer && bearerName 
+                == TPtrC( KVpnVirtualBearerName ) )
+                {
+                retVal = ETrue;
+                }
+            }
+        
+        CleanupStack::PopAndDestroy( bearersRS );
         }
 
     return retVal;
@@ -2058,7 +2092,7 @@
 // CCmPluginVpn::DefaultAPRecordL
 // --------------------------------------------------------------------------
 //
-const TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
+TMDBElementId CCmPluginVpn::DefaultAPRecordL( const TInt aTierIdentifier )
     {
     LOGGER_ENTERFN( "CCmPluginVpn::DefaultAPRecordL" );
     // Resolve the Default SNAP AP elementid 
--- a/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/cmmanager/cmmgr/Plugins/cmpluginwlan/src/cmpluginwlan.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -1922,6 +1922,12 @@
             // Pre-shared - go to step 7
             // EAP        - go to step 8
             case EWlanConnectionExtentedSecurityMode802d1x:
+                TCmCommonUi::ShowNoteL( *( StringLoader::LoadLC( 
+                    R_QTN_NETW_CONSET_INFO_EAP_SETTINGS_DEFAULT ) ),
+                    TCmCommonUi::ECmInfoNote );
+                CleanupStack::PopAndDestroy();
+                break;
+                
             case EWlanConnectionExtentedSecurityModeWpa:
             case EWlanConnectionExtentedSecurityModeWpaPsk:
             case EWlanConnectionExtentedSecurityModeWpa2:
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -74,6 +74,7 @@
                            CActiveWrapper* aActiveWrapper ) :
     iConnectionMonitor( aConnectionMonitor ), 
     iStartTime( NULL ),
+    iLastSpeedUpdate( 0 ),
     iDeletedFromCMUI( EFalse ),
     iActiveWrapper( aActiveWrapper )
     {
@@ -81,7 +82,6 @@
     iConnectionStatus = EConnectionUninitialized;
     iConnectionId = aConnectionId;
     iConnectionBearerType = aConnectionBearerType;
-    iLastSpeedUpdate.UniversalTime();
     CMUILOGGER_WRITE( "CConnectionInfoBase constuctor - end " );
     }
 
@@ -422,6 +422,10 @@
 void CConnectionInfoBase::RefreshTransferSpeedsL()
     {
     CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
+    const TInt KUpdatingIntervalInMillisec = 500;
+    const TInt KStandardKilo = 1000;
+    const TInt KDataKilo = 1024;
+    
     TUint up = iUploaded;
     TUint down = iDownloaded;
 
@@ -429,11 +433,10 @@
 
     TTime now;
     now.UniversalTime();
-
-    // 100 * 1/1000sec
-    const TUint KOnesec = 1000;
-    TUint diffTime = I64LOW( now.MicroSecondsFrom( iLastSpeedUpdate ).Int64() /
-                                                        TInt64( 1000 ) );
+    
+    // calculate time difference in milliseconds
+    TInt diffTime = I64INT( now.MicroSecondsFrom( iLastSpeedUpdate ).Int64() / 
+            TInt64( KStandardKilo ) );
 
     if ( iLastSpeedUpdate.Int64() == 0 )
         {
@@ -445,18 +448,23 @@
         iDownSpeed.quot = 0;
         iDownSpeed.rem = 0;
         }
-    else if ( diffTime > 500 )
-        // at least 1/2sec passed
+    else if ( diffTime > KUpdatingIntervalInMillisec )         
         {
-        // bytes/sec
-        div_t upSpeed = div( ( iUploaded - up ) * KOnesec, diffTime );
-        div_t downSpeed = div( ( iDownloaded - down ) * KOnesec, diffTime );
+        // bytes/millisec
+        TInt upSpeed = ( iUploaded - up ) / diffTime;
+        TInt downSpeed = ( iDownloaded - down ) / diffTime;
+        
+        // bytes/sec       
+        upSpeed *= KStandardKilo;
+        downSpeed *= KStandardKilo;
+    
         // kbytes/sec
-        iUpSpeed = div( upSpeed.quot, 1024 );
-        iDownSpeed = div( downSpeed.quot, 1024 );
+        iUpSpeed = div( upSpeed, KDataKilo );
+        iDownSpeed = div( downSpeed, KDataKilo );
 
         iLastSpeedUpdate = now;
         }
+    
     CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
     }
 
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -387,11 +387,14 @@
                     CleanupStack::PushL( connectionInfo );
                     iConnectionArray->AppendL( connectionInfo );
                     CleanupStack::Pop( connectionInfo );
-
-                    // Avkon: This is needed due to events' timing issues:
-                    CConnectionMonitorUiView* view =
-                            ( CConnectionMonitorUiView* )iView;
-                    view->HandleItemAdditionL();
+										
+                    if ( iView->Id() != KDetailsViewId )
+                        {
+                  	  	// Avkon: This is needed due to events' timing issues:
+                    		CConnectionMonitorUiView* view =
+                        	    ( CConnectionMonitorUiView* )iView;
+                    	view->HandleItemAdditionL();
+                    	}
                     }
                 }
             
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/ActiveSelectWLanDlgPlugin.h	Fri Mar 12 15:44:18 2010 +0200
@@ -21,6 +21,7 @@
 #define __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__
 
 // INCLUDES
+#include <e32base.h>
 #include "SelectWLanDlgPlugin.h"
 #include "SelectWLANDlg.h"
 #include "WlanNetworkDataProvider.h"
@@ -57,9 +58,9 @@
     /**
     * Timer callback of iPeridoc.
     */
-    void DoTick();    
-      
-        
+    void DoTick();
+
+
 protected:
     /**
     * ConstructL 
@@ -108,6 +109,18 @@
     */
     void DestroyResultsListDialog();
     
+    /**
+    * Destroy results dialog
+    */
+    void DestroyAsyncWaitTrigger();
+
+
+private:
+    /**
+     * Start wait note
+     */
+    static TInt StartWaitNoteL( TAny* aObject );
+
 
 protected:
     
@@ -125,6 +138,9 @@
     
     CAknWaitDialog* iWaitDialog;
     
+    CAsyncCallBack* iAsyncWaitTrigger;
+    
+    TInt iRefreshInterval;
 };     
 
 #endif // __ACTIVE_SELECT_WLAN_DLG_PLUGIN_H__
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ActiveSelectWLanDlgPlugin.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -107,7 +107,10 @@
         iResultsListDialog = NULL;
         }
     
+    DestroyAsyncWaitTrigger();
+        
     delete iWlanDataProv;
+    iWlanDataProv = NULL;
 
     CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::~CActiveSelectWLanDlgPlugin " );
     }
@@ -134,6 +137,8 @@
     delete iWlanDataProv;
     iWlanDataProv = NULL;
 
+    DestroyAsyncWaitTrigger();
+
     CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::DoCancel " );
     }
     
@@ -228,6 +233,8 @@
     {
     CLOG_ENTERFN( "CActiveSelectWLanDlgPlugin::RunL " );  
     
+    DestroyAsyncWaitTrigger();
+
     if ( iWaitDialog )
         {
         iWaitDialog->ProcessFinishedL();     
@@ -261,12 +268,9 @@
 
                 iResultsListDialog->ExecuteLD( R_SELECT_WLAN_LIST_QUERY );
 
-                TInt interval = GetRefreshInterval();
-                CLOG_WRITEF( _L( "interval : %d" ),  interval );
-
-                if( interval )
+                if( iRefreshInterval )
                     {
-                    StartTimerL( interval );
+                    StartTimerL( iRefreshInterval );
                     }
                 }
             }
@@ -321,13 +325,7 @@
 void CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL()
     {    
     CLOG_ENTERFN( "CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL " );  
-    
-    DestroyWaitDialog();
 
-    iWaitDialog = new( ELeave )CAknWaitDialog
-                    ( REINTERPRET_CAST( CEikDialog**, &iWaitDialog ), ETrue );
-    iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE ); 
-    
     SetActive();    
 
 #ifdef __WINS__
@@ -336,10 +334,24 @@
 #else
     iWlanDataProv->RefreshScanInfo( iStatus );
 #endif
+ 
+    // Start wait dialog asynchronously with low priority.
+    // The reason for this is that sometimes WLAN scan results
+    // are already in the cache and returned fast.
+    // When this happens there is no point in displaying wait note.
+    iRefreshInterval = GetRefreshInterval();
+    CLOG_WRITEF( _L( "interval : %d" ),  iRefreshInterval );
+
+    if ( !iAsyncWaitTrigger )
+        {
+        TCallBack cb( StartWaitNoteL, this );
+        iAsyncWaitTrigger = new( ELeave ) CAsyncCallBack( cb, CActive::EPriorityLow );
+        }
+    iAsyncWaitTrigger->CallBack();
 
     CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::StartSearchWlanNetworkL " );
     }
-    
+
 // ---------------------------------------------------------
 // CActiveSelectWLanDlgPlugin::GetRefreshInterval()
 // ---------------------------------------------------------
@@ -416,5 +428,37 @@
     CLOG_LEAVEFN( "CActiveSelectWLanDlgPlugin::DestroyResultsListDialog " );
     }
 
+// ---------------------------------------------------------
+// CActiveSelectWLanDlgPlugin::DestroyAsyncWaitTrigger()
+// ---------------------------------------------------------
+//
+void CActiveSelectWLanDlgPlugin::DestroyAsyncWaitTrigger()
+    {
+    if ( iAsyncWaitTrigger )
+        {
+        iAsyncWaitTrigger->Cancel();
+        delete  iAsyncWaitTrigger;
+        iAsyncWaitTrigger= NULL;
+        }
+    }
+
+// ---------------------------------------------------------
+// CActiveSelectWLanDlgPlugin::StartWaitNoteL()
+// ---------------------------------------------------------
+//
+TInt CActiveSelectWLanDlgPlugin::StartWaitNoteL( TAny* aObject )
+    {
+    CActiveSelectWLanDlgPlugin* myself = 
+            static_cast<CActiveSelectWLanDlgPlugin*>( aObject );
+    
+    myself->DestroyWaitDialog();
+    
+    myself->iWaitDialog = new( ELeave )CAknWaitDialog
+                        ( REINTERPRET_CAST( CEikDialog**, &(myself->iWaitDialog) ), ETrue );
+    myself->iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE );
+        
+    return 0;   
+    }
+
 // End of File
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopup.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectingviadiscreetpopup.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -185,13 +185,11 @@
         HBufC* stringText2 = NULL;
         if (iConnectionName)
             {
-            stringText2 = StringLoader::LoadLC(
-                    R_QTN_OCC_CONNECTING_DISCREET_POPUP_TEXT2,
-                    *iConnectionName);
+            stringText2 = iConnectionName;
             }
         else
             {
-            stringText2 = _L("''").AllocLC();
+            stringText2 = KNullDesC().AllocLC();
             }
 
         CAknDiscreetPopup::ShowGlobalPopupL(*stringText1, // first text row
@@ -205,7 +203,13 @@
                 NULL, // command observer
                 KDiscreetPopupUid, // application to be launched
                 KDiscreetPopupViewUid); // view to be activated
-        CleanupStack::PopAndDestroy(2);
+        
+        if (!iConnectionName)
+            {
+            CleanupStack::PopAndDestroy( stringText2 );
+            }
+        
+        CleanupStack::PopAndDestroy( stringText1 );
         }
 
     // Cleanup
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/data/ConnUiUtilsNotif.rss	Fri Mar 12 15:44:18 2010 +0200
@@ -353,11 +353,6 @@
     buf = qtn_occ_connecting_discreet_popup_text1;
     }
 
-RESOURCE TBUF r_qtn_occ_connecting_discreet_popup_text2
-    {
-    buf = qtn_occ_connecting_discreet_popup_text2;
-    }
-
 RESOURCE TBUF r_qtn_occ_connection_failed_discreet_popup_text1
     {
     buf = qtn_occ_connection_failed_discreet_popup_text1;
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/loc/connectionuiutilities.loc	Fri Mar 12 15:44:18 2010 +0200
@@ -253,14 +253,6 @@
 //
 #define qtn_occ_connecting_discreet_popup_text1 "Connecting"
 
-//d:Text of discreet popup row 2 informing about the used IAP for the connection
-//l:popup_discreet_window_t2
-//w:
-//r:5.2
-//
-#define qtn_occ_connecting_discreet_popup_text2 "Via '%U'"
-
-
 //d:No WLAN networks are available at the moment - note
 //l:popup_discreet_window_t1/opt4
 //w:
--- a/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/cconndlg/src/SelectConnectionDialog.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -414,7 +414,12 @@
         }
 
     result = CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
-
+    
+    if ( iFromOkToExit )
+        {     
+        return result;
+        }
+    
     CLOG_WRITEF( _L ( "Returned from CAknListQueryDialog::OfferKeyEventL: %d" ), result );
 
     if ( aKeyEvent.iScanCode == EStdKeyDownArrow || 
--- a/dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp	Fri Feb 19 23:12:51 2010 +0200
+++ b/dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp	Fri Mar 12 15:44:18 2010 +0200
@@ -32,8 +32,8 @@
 
 // CONSTANTS
 // WLAN Device Settings table - default settings
-const TUint32 KDefaultBGScanInterval    = 0;   // No background scan
-const TBool   KDefaultUseDefSettings    = ETrue;        
+const TUint32 KDefaultBGScanInterval    = -1;   // Automatic scan
+const TBool   KDefaultUseDefSettings    = EFalse;
 const TUint32 KDefaultLongRetry         = 4;
 const TUint32 KDefaultShortRetry        = 7;
 const TUint32 KDefaultRTS               = 2347;
Binary file dbcreator/conf/commsdatcreator.confml has changed