Revision: 201011 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 31 Mar 2010 22:15:10 +0300
branchRCL_3
changeset 15 4dc3bb0099b0
parent 13 68f0c7cd80ec
child 17 c14618f9de99
Revision: 201011 Kit: 201013
apengine/apeng/src/APAccessPointItem.cpp
apengine/apeng/src/ApProtHandler.cpp
bearermanagement/S60MCPR/inc/s60mcpractivities.h
bearermanagement/S60MCPR/src/s60mcpractivities.cpp
bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp
bearermanagement/mpm/inc/mpmconnmonevents.h
bearermanagement/mpm/inc/mpmserver.h
bearermanagement/mpm/inc/mpmwlanavailability.h
bearermanagement/mpm/src/mpmconnmonevents.cpp
bearermanagement/mpm/src/mpmconnmonreqs.cpp
bearermanagement/mpm/src/mpmiapselection.cpp
bearermanagement/mpm/src/mpmserver.cpp
bearermanagement/mpm/src/mpmserversession.cpp
bearermanagement/mpm/src/mpmwlanavailability.cpp
bearermanagement/mpm/src/mpmwlanquerydialog.cpp
cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiContainer.h
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp
connectionmonitoring/connmon/connectionmonitor/src/CWlanSupport.cpp
connectionmonitoring/connmon/connectionmonitor/src/ConnMonIAP.cpp
connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_ALRU.def
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_PROTU.def
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_ALRU.def
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_PROTU.def
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetest.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetestnotif.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetestnotif.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesClient.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesImpl.h
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilities.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesClient.cpp
connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp
connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp
connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp
connectionutilities/ConnectionDialogs/inc/ConnectionDialogsUidDefs.h
ipcm_plat/connection_ui_utilities_api/inc/ConnectionUiUtilities.h
package_definition.xml
--- a/apengine/apeng/src/APAccessPointItem.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/apengine/apeng/src/APAccessPointItem.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -5058,7 +5058,7 @@
         {
         //TText ch = aInText[i];
         TChar ch = aInText[i];
-        if ( ( ch == 'p' ) || ( ch == 'P' ) || ( ch == 'W' ) || ( ch == 'W' )
+        if ( ( ch == 'p' ) || ( ch == 'P' ) || ( ch == 'w' ) || ( ch == 'W' )
             || ( ch == '+' ) || ( ch == '0' ) || ( ch == '1' ) || ( ch == '2' )
             || ( ch == '3' ) || ( ch == '4' ) || ( ch == '5' ) || ( ch == '6' )
             || ( ch == '7' ) || ( ch == '8' ) || ( ch == '9' ) || ( ch == '*' )
--- a/apengine/apeng/src/ApProtHandler.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/apengine/apeng/src/ApProtHandler.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -23,7 +23,7 @@
 
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <ProtectDB.h>
-#include <ProtectcpDb.h>
+#include <protectcpdb.h>
 #else
 #include <comms-infras/commdb/protection/protectdb.h>
 #include <comms-infras/commdb/protection/protectcpdb.h>
--- a/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/S60MCPR/inc/s60mcpractivities.h	Wed Mar 31 22:15:10 2010 +0300
@@ -560,12 +560,12 @@
     /**
      * FORK/DECISION: Decides if needs cancel or not.
      */
-    DECLARE_SMELEMENT_HEADER( TInformMigrationAvailableOrCancelTag, 
+    DECLARE_SMELEMENT_HEADER( TInformMigrationAvailableOrErrorOrCancelTag, 
                               MeshMachine::TStateFork<TContext>, 
                               NetStateMachine::MStateFork, 
                               TContext )
     virtual TInt TransitionTag();
-    DECLARE_SMELEMENT_FOOTER( TInformMigrationAvailableOrCancelTag )
+    DECLARE_SMELEMENT_FOOTER( TInformMigrationAvailableOrErrorOrCancelTag )
 
     /**
      * FORK/DECISION: Decides what happens after IPCPR application completes the 
--- a/bearermanagement/S60MCPR/src/s60mcpractivities.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcpractivities.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -266,7 +266,7 @@
     NODEACTIVITY_ENTRY( MobilityMCprStates::KStartMobilityHandshake, 
                         CS60MobilityActivity::TClearHandshakingFlag,
                         CS60MobilityActivity::TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification, // Ok. Error is fatal.
-                        S60MCprMobilityActivity::TInformMigrationAvailableOrCancelTag )
+                        S60MCprMobilityActivity::TInformMigrationAvailableOrErrorOrCancelTag )
     // Application rejected active carrier
     THROUGH_NODEACTIVITY_ENTRY( S60MCprStates::KSendInitialApplicationReject, 
                                 S60MCprMobilityActivity::TSendInitialApplicationReject, 
--- a/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/S60MCPR/src/s60mcprmobilityactivity.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -238,23 +238,29 @@
     // S60MCprMobilityActivity::TInformMigrationAvailableOrCancelTag::TransitionTag
     // -----------------------------------------------------------------------------
     //
-    DEFINE_SMELEMENT( TInformMigrationAvailableOrCancelTag, NetStateMachine::MStateFork, TContext )
-    TBool TInformMigrationAvailableOrCancelTag::TransitionTag()
-        {
-        if ( iContext.iMessage.IsMessage<TEBase::TCancel>() )
+    DEFINE_SMELEMENT( TInformMigrationAvailableOrErrorOrCancelTag, NetStateMachine::MStateFork, TContext )
+    TBool TInformMigrationAvailableOrErrorOrCancelTag::TransitionTag()
+        {        
+        if ( iContext.iNodeActivity->Error() )
             {
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrCancelTag::TransitionTag() KCancelTag",(TInt*)&iContext.Node())
+            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrErrorOrCancelTag::TransitionTag() KErrorTag",(TInt*)&iContext.Node())
+            return MeshMachine::KErrorTag | NetStateMachine::EForward;
+            }
+
+        else if ( iContext.iMessage.IsMessage<TEBase::TCancel>() )
+            {
+            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrErrorOrCancelTag::TransitionTag() KCancelTag",(TInt*)&iContext.Node())
             return KCancelTag | NetStateMachine::EForward;
             }
         else if ( iContext.iMessage.IsMessage<TCFMobilityProvider::TMigrationRejected>() )
             {
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrCancelTag::TransitionTag() KSendInitialApplicationReject",
+            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrErrorOrCancelTag::TransitionTag() KSendInitialApplicationReject",
                     (TInt*)&iContext.Node())
             return S60MCprStates::KSendInitialApplicationReject | NetStateMachine::EForward;
             }
         else
             {
-            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrCancelTag::TransitionTag() KInformMigrationAvailable",(TInt*)&iContext.Node())
+            S60MCPRLOGSTRING1("S60MCPR<%x>::TInformMigrationAvailableOrErrorOrCancelTag::TransitionTag() KInformMigrationAvailable",(TInt*)&iContext.Node())
             return S60MCprStates::KInformMigrationAvailable | NetStateMachine::EForward;
             }
         }
@@ -565,7 +571,7 @@
             S60MCPRLOGSTRING2("S60MCPR<%x>::TAwaitingPreferredCarrierOrCancelOrRejectedOrErrorNotification::Accept() TMPMErrorNotificationMsg %d",(TInt*)&iContext.Node(),msg->iValue)
             ASSERT( msg->iValue != KErrNone );
             activity.SetError( msg->iValue );
-            result = EFalse;
+            result = ETrue;
             }
 
         return result;
--- a/bearermanagement/mpm/inc/mpmconnmonevents.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmconnmonevents.h	Wed Mar 31 22:15:10 2010 +0300
@@ -296,8 +296,9 @@
         /**
          * Creates preferred carrier available notification when needed.
          * @since 5.1
+         * @param aCaller Identifies the calling context
          */
-        void IapAvailabilityChange();
+        void IapAvailabilityChange( const TPrefIAPNotifCaller aCaller );
        
     public: // Functions from base classes
     
--- a/bearermanagement/mpm/inc/mpmserver.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/inc/mpmserver.h	Wed Mar 31 22:15:10 2010 +0300
@@ -125,7 +125,8 @@
 // Which component initiated sending preferred IAP notifications
 enum TPrefIAPNotifCaller
     {
-    EConnMon = 0, 
+    EConnMon = 0,
+    EConnMonEvent,
     EBearerMan, 
     EConfirmDlgRoaming, 
     EConfirmDlgStarting
@@ -342,8 +343,10 @@
         * Checks if the connection is started for the Iap Id.
         * @since 3.2
         * @param aIapId IAP Id of the connection
+        * @param aConnId Connection Id
         */
-        TBool CheckIfStarted( const TUint32 aIapId );
+        TBool CheckIfStarted( const TUint32 aIapId, 
+                              const TConnectionId aConnId );
 
         /**
         * Checks if a connection is started with wlan iap.
@@ -437,9 +440,11 @@
         /**
         * Notify each session about IAP availability change.
         * @since 3.1
-        * @param aIapInfo Info about available IAPs 
+        * @param aIapInfo Info about available IAPs
+        * @param aCaller Identifies the calling context 
         */
-        void NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo );
+        void NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo,
+                               const TPrefIAPNotifCaller aCaller );
 
         /**
         * Update Connection dialog of each session
@@ -489,17 +494,6 @@
         /**
         * Handling of unblacklisting all IAPs for certain category.
         * @since 3.2
-        * @param aConnId Connection Id
-        * @param aCategory Either connection lifetime or temporary. 
-        * @return KErrNone if successful, otherwise one of the
-        * system-wide error codes 
-        */
-        TInt HandleServerUnblackListIap( const TConnectionId aConnId, 
-                                         TBlacklistCategory  aCategory );
-
-        /**
-        * Handling of unblacklisting all IAPs for certain category.
-        * @since 3.2
         * @param aCategory Either connection lifetime or temporary. 
         */
         void HandleServerUnblackListIap( TBlacklistCategory  aCategory );
--- a/bearermanagement/mpm/inc/mpmwlanavailability.h	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: WLAN availability check.
-*
-*/
-
-/**
-@file mpmwlanavailability.h
-WLAN availability check definition.
-*/
-
-#ifndef MPMWLANAVAILABILITY_H
-#define MPMWLANAVAILABILITY_H
-
-// INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include "mpmconnmonevents.h"
-
-// FORWARD DECLARATIONS
-class CMPMConnMonEvents;
-
-// CLASS DECLARATION
-/**
-*  WLAN availability check
-*
-*  @lib MPMServer.exe
-*  @since 5.2
-*/
-class MWlanAvailability
-    {
-    public:
-        /**
-        * WLAN availability check response
-        * @since 5.2
-        * @param aError generic Symbian error response code
-        * @param aResult Result of WLAN availability check
-        * @return void
-        */
-        virtual void WlanAvailabilityResponse( const TInt  aError, 
-                                               const TBool aResult ) = 0;
-    };
-
-// CLASS DECLARATION
-/**
-*  WLAN availability check implementation
-*
-*  @lib MPMServer.exe
-*  @since 5.2
-*/
-NONSHARABLE_CLASS( CWlanAvailability ) : public CActive
-    {
-    public:
-
-        /**
-        * Two-phased constructor.
-        */
-        static CWlanAvailability* NewL( CMPMConnMonEvents*  aConnMonEvents,
-                                        RConnectionMonitor& aConnMon );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CWlanAvailability();
-
-        /**
-        * For starting the active object.
-        * @since 5.2
-        */
-        void Start( MWlanAvailability* aObserver );
-        
-        /**
-         * For cancelling the request for an observer.
-         * @since 5.2
-         */
-        void CancelObserver( MWlanAvailability* aObserver );
-        
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CWlanAvailability( CMPMConnMonEvents*  aConnMonEvents,
-                           RConnectionMonitor& aConnMon );
-
-        /**
-        * 2nd phase constructor.
-        */
-        void ConstructL();
-
-    private: // from CActive
-
-        /**
-        * Active Object RunL.
-        */
-        void RunL();
-
-        /**
-        * Active Object DoCancel.
-        */
-        void DoCancel();
-
-    private:
-        
-        CMPMConnMonEvents*                  iConnMonEvents;
-        RConnectionMonitor&                 iConnMon;
-        RPointerArray< MWlanAvailability >  iObserver;
-        TRequestStatus                      iRequestStatus;
-        TBool                               iResult;
-    };
-
-#endif // MPMWLANAVAILABILITY_H
--- a/bearermanagement/mpm/src/mpmconnmonevents.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmconnmonevents.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -461,7 +461,7 @@
 // CMPMConnMonEvents::IapAvailabilityChange
 // -----------------------------------------------------------------------------
 // 
-void CMPMConnMonEvents::IapAvailabilityChange()
+void CMPMConnMonEvents::IapAvailabilityChange( const TPrefIAPNotifCaller aCaller )
     {
     if ( ( iAvailableIAPs.Count() > 0 ) && 
          !DiscardAvailabilityNotification() )
@@ -475,7 +475,7 @@
         // or Connection Monitor CConnMonEventHandler::RunL() 
         // will also leave, which will make mpmserver.exe CRASH.
         // 
-        TRAP_IGNORE( iMyServer.NotifyBMPrefIapL( iAvailableIAPs ) )
+        TRAP_IGNORE( iMyServer.NotifyBMPrefIapL( iAvailableIAPs, aCaller ) )
         }
     else
         {
@@ -534,7 +534,7 @@
 
             iAvailableIAPs = eventIap->IapAvailability();
             UpdateIAPRefreshTime();
-            IapAvailabilityChange();
+            IapAvailabilityChange( EConnMonEvent );
             
             TRAPD( err, iMyServer.UpdateSessionConnectionDlgL() )
             if( err != KErrNone )
--- a/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -342,7 +342,7 @@
                         MPMLOGSTRING( "CMPMConnMonReqs::RunL: iWlanScanCallback EWlanScanCallbackGenerateEvent" )
                         // Generate event only if not 
                         //
-                        iParent.IapAvailabilityChange();
+                        iParent.IapAvailabilityChange( EConnMon );
                         }
                     }
                 // check which callback function to use
--- a/bearermanagement/mpm/src/mpmiapselection.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -724,9 +724,11 @@
            TExtendedConnPref::ENoteBehaviourConnDisableNotes ) )
         {
         TBool connectionAlreadyActive =
-            iSession->MyServer().CheckIfStarted( aPolicyPref->IapId() );
+            iSession->MyServer().CheckIfStarted( aPolicyPref->IapId(), 
+                                                 iSession->ConnectionId() );
         CConnectionUiUtilities* connUiUtils = NULL;
-        if ( !connectionAlreadyActive )
+        if ( !connectionAlreadyActive &&
+        	   ( iSession->IsMMSIap( aPolicyPref->IapId() ) == EFalse ) )
         	{
         	TRAPD( popupError,
           	     connUiUtils = CConnectionUiUtilities::NewL();
@@ -877,7 +879,13 @@
     delete iDialog;
     iDialog = NULL;
     
-    ImplicitConnectionL();
+    // Dialog is deleted. Letting a function leave here would panic the whole MPM.
+    //
+    TRAPD( err, ImplicitConnectionL() );
+    if( err != KErrNone )
+        {
+        ChooseIapComplete( err, &iChooseIapPref );
+        }
     }
     
 // -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/src/mpmserver.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -110,6 +110,7 @@
     // The RTelServer::Connect() might not always work with the first trial,
     // because of a coding error related to using semaphores in the method.
     TInt err( KErrNotReady );
+    err = iTelServer.Connect();
     TInt a = 0;
     while( a < KPhoneRetryCount && err != KErrNone )
         {
@@ -703,9 +704,11 @@
 // CMPMServer::CheckIfStarted
 // -----------------------------------------------------------------------------
 //
-TBool CMPMServer::CheckIfStarted( const TUint32 aIapId )
+TBool CMPMServer::CheckIfStarted( const TUint32 aIapId , 
+                                  const TConnectionId aConnId )
     {
-    MPMLOGSTRING2( "CMPMServer::CheckIfStarted - aIapId = %i", aIapId )
+    MPMLOGSTRING3( "CMPMServer::CheckIfStarted - aIapId = %i, aConnId = 0x%x", 
+                  aIapId, aConnId )
 
     TConnectionState state( EIdle );
     TBool stopLoop( EFalse );
@@ -714,9 +717,10 @@
     // 
     for ( TInt i = 0; ( ( i < iActiveBMConns.Count() ) && !stopLoop ); i++ )
         {
-        // Check if IAP Id matches
+        // Check if IAP Id matches; exclude matching with own connection
         // 
-        if ( iActiveBMConns[i].iConnInfo.iIapId == aIapId )
+        if ( iActiveBMConns[i].iConnInfo.iIapId == aIapId && 
+             iActiveBMConns[i].iConnInfo.iConnId != aConnId)
             {
             state = iActiveBMConns[i].iConnInfo.iState;  
 
@@ -759,8 +763,12 @@
             }
         }
 #endif // _DEBUG
-
-    if ( state == EStarted )
+        
+    //Return true incase the matching connection is in EStarting state also because
+    //sometimes when connections are started simultaneously (for same iapID) 
+    //the first connection may still be in EStarting state. 
+    //
+    if ( state == EStarted || state == EStarting )
         {
         return ETrue;
         }
@@ -974,7 +982,8 @@
 // CMPMServer::NotifyBMPrefIapL
 // -----------------------------------------------------------------------------
 //
-void CMPMServer::NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo )
+void CMPMServer::NotifyBMPrefIapL( const TConnMonIapInfo& aIapInfo, 
+                                   const TPrefIAPNotifCaller aCaller )
     {
     MPMLOGSTRING2( "CMPMServer::NotifyBMPrefIapL - IAPs count: %d", 
         aIapInfo.iCount)
@@ -1003,7 +1012,7 @@
     for ( TInt i = 0; i < iSessions.Count(); i++ )
         {
         iapInfo = iSessions[i]->GetAvailableIAPs( );
-        iSessions[i]->PrefIAPNotificationL( iapInfo, EConnMon );
+        iSessions[i]->PrefIAPNotificationL( iapInfo, aCaller );
         }
 
     // If a session is displaying connection selection dialog 
@@ -1153,57 +1162,6 @@
         }
     }
 
-
-// -----------------------------------------------------------------------------
-// CMPMServer::HandleServerUnblackListIap
-// -----------------------------------------------------------------------------
-//
-TInt CMPMServer::HandleServerUnblackListIap( 
-    const TConnectionId aConnId,
-    TBlacklistCategory  aCategory )
-    {
-    MPMLOGSTRING3( "CMPMServer::HandleServerUnblackListIap -\
- aConnId = 0x%x, aCategory = %i", aConnId, aCategory )
-
-    TInt i;
-    TBool found = EFalse;
-
-    found = FindBlacklistedConnIndex( aConnId, i );
-    if ( found )
-        {
-        // found blacklisted Connection Id
-        TMPMBlackListConnId connIdInfo = iBlackListIdList[i];
-        iBlackListIdList.Remove( i ); // remove from the list 
-
-        found = EFalse;
-        for (TInt j = 0; j < connIdInfo.Count(); j++)
-            {
-            if ( connIdInfo.Category( j ) == aCategory ) 
-                {
-                // found and remove blacklisted iap
-                connIdInfo.Remove( j ); 
-                if ( connIdInfo.Count() == 0 )
-                    {
-                    return KErrNone;
-                    }
-
-                // reinsert connIdInfo at the beginning to reflect activeness
-                iBlackListIdList.Insert( connIdInfo, 0 ); 
-                return KErrNone;
-                }
-            }
-        // nothing found and reinsert at the beginning 
-        // connIdInfo to reflect activeness
-        iBlackListIdList.Insert( connIdInfo, 0 ); 
-        return KErrNotFound;
-        }
-    else
-        {
-        return KErrNotFound;
-        }
-    }
-
-
 // -----------------------------------------------------------------------------
 // CMPMServer::HandleServerUnblackListIap
 // -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -138,6 +138,9 @@
 User connection deactivated" )
         }   
 
+    // Clean up the blacklist table 
+    iMyServer.HandleServerUnblackListIap( iConnId, 0 );
+    
     // Make sure the connection is removed from server's information array.
     iMyServer.RemoveBMConnection( iConnId, *this );
     }
@@ -706,11 +709,6 @@
 
     iMyServer.AppendBMIAPConnectionL( startedIap, startedId, *this );
 
-    // Unblacklist all IAPs related to the connection error 
-    // when connection has started.
-    // 
-    iMyServer.HandleServerUnblackListIap( startedId, ETemporary );
-
     // Complete the message as soon as possible to avoid latency in BM
     // 
     aMessage.Complete( KErrNone );
@@ -718,7 +716,6 @@
     IapSelectionL()->ConnectionStarted();
     }
 
-
 // -----------------------------------------------------------------------------
 // CMPMServerSession::HandleServerIapConnectionStopped
 // -----------------------------------------------------------------------------
@@ -825,7 +822,7 @@
     // check whether a started connection exists which already 
     // uses this IAP. If so, it won't need to be confirmed again
     // 
-    if( iMyServer.CheckIfStarted( aIapId ) )
+    if( iMyServer.CheckIfStarted( aIapId, iConnId ) )
         {
         MPMLOGSTRING(
         "CMPMServerSession::IsConfirmFirstL - IAP already started, \
@@ -2658,8 +2655,8 @@
         // Required notifications must go through whenever MPM decides
         // to initiate them.
         //
-        if( ( iStoredIapInfo.HoldPrefIapNotif() && aCaller == EConnMon )  ||
-                ( state == ERoaming && aCaller == EConnMon ) )
+        if( ( aCaller == EConnMon || aCaller == EConnMonEvent ) && 
+                ( iStoredIapInfo.HoldPrefIapNotif() || state == ERoaming) )
             {
             MPMLOGSTRING( "CMPMServerSession::PrefIAPNotificationL - \
 Mobility ongoing, notification will be handled later" )
@@ -2701,7 +2698,8 @@
         tempMpmConnPref.SetSnapId( snap );
         IapSelectionL()->ChooseBestIAPL( tempMpmConnPref, availableIAPList );
         validateIapId = tempMpmConnPref.IapId();
-        if ( ( validateIapId == 0 ) && ( aCaller == EConnMon ) )
+        if ( ( validateIapId == 0 ) 
+                && ( aCaller == EConnMon || aCaller == EConnMonEvent ) )
             {
             // Since Connection Monitor is the only component which 
             // is unaware of Connection Id and SNAP, it can't send 
@@ -2711,8 +2709,19 @@
             // All the other components take responsibility of 
             // sending the error notification. 
             // 
-            TRAP_IGNORE( ErrorNotificationL( KErrNotFound,
-                                             EMPMMobilityErrorNotification ) )
+            // Do not send the error if this call came from ConnMon Event.
+            // This will prevent unnecessary mobility errors.
+            // For example if there is two WLAN networks in Internet destination
+            // and we get weak indication for the one to which we are connected.
+            // Then connmon signals us with IAPAvailabilityChange which results
+            // to no available IAPs. We should not report error in that case.
+            if ( aCaller == EConnMon )
+                {
+                TRAP_IGNORE( ErrorNotificationL( KErrNotFound,
+                                             EMPMMobilityErrorNotification ) );
+                }
+            CleanupStack::PopAndDestroy( &availableIAPList );
+            return;                                                                   
             }
 
         TUint32 retNetId = 0;
@@ -2826,7 +2835,7 @@
     if ( !( iIapSelection->MpmConnPref().NoteBehaviour() &
             TExtendedConnPref::ENoteBehaviourConnDisableNotes) )
         {
-        TBool connectionAlreadyActive = iMyServer.CheckIfStarted( aIapId );
+        TBool connectionAlreadyActive = iMyServer.CheckIfStarted( aIapId, iConnId );
         CConnectionUiUtilities* connUiUtils = NULL;
         if (!connectionAlreadyActive )
             {
--- a/bearermanagement/mpm/src/mpmwlanavailability.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: WLAN bearer availability check
-*
-*/
-
-/**
-@file mpmwlanavailability.cpp
-WLAN bearer availability check
-*/
-
-// INCLUDE FILES
-#include "mpmwlanavailability.h"
-#include "mpmlogger.h"
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::NewL
-// -----------------------------------------------------------------------------
-//
-CWlanAvailability* CWlanAvailability::NewL( CMPMConnMonEvents*  aConnMonEvents,
-                                            RConnectionMonitor& aConnMon )
-    {
-    CWlanAvailability* self = new ( ELeave ) CWlanAvailability( aConnMonEvents,
-                                                                aConnMon );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::CWlanAvailability
-// -----------------------------------------------------------------------------
-//
-CWlanAvailability::CWlanAvailability( CMPMConnMonEvents*  aConnMonEvents,
-                                      RConnectionMonitor& aConnMon )
-    : CActive( CActive::EPriorityStandard ),
-      iConnMonEvents( aConnMonEvents ),
-      iConnMon( aConnMon )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CWlanAvailability::ConstructL()
-    {
-    iObserver.Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::Start
-// -----------------------------------------------------------------------------
-//
-void CWlanAvailability::Start( MWlanAvailability* aObserver )
-    {
-    MPMLOGSTRING( "CWlanAvailability::Start" )
-
-    iObserver.Append( aObserver );
-
-    if ( !IsActive() )
-        {
-        iConnMon.GetBoolAttribute( EBearerIdWLAN, 
-                                   0, 
-                                   KBearerAvailability,
-                                   iResult,
-                                   iStatus );
-        SetActive();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::CancelObserver
-// -----------------------------------------------------------------------------
-//
-void CWlanAvailability::CancelObserver( MWlanAvailability* aObserver )
-    {
-    MPMLOGSTRING( "CWlanAvailability::CancelObserver" )
-    
-    for ( TInt i=0; i < iObserver.Count(); i++ )
-        {
-        if ( iObserver[ i ] == aObserver )
-            {
-            iObserver.Remove( i );        
-            }
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::~CWlanAvailability
-// -----------------------------------------------------------------------------
-//
-CWlanAvailability::~CWlanAvailability()
-    {
-    MPMLOGSTRING( "CWlanAvailability::~CWlanAvailability" )
-
-    Cancel();
-
-    iObserver.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::RunL
-// -----------------------------------------------------------------------------
-//
-void CWlanAvailability::RunL()
-    {
-    if ( iStatus.Int() != KErrNone )
-        {
-        MPMLOGSTRING2( "CWlanAvailability::RunL status %d", iStatus.Int() )
-        }
-
-    for ( TInt i=0; i < iObserver.Count(); i++ )
-        {
-        iObserver[ i ]->WlanAvailabilityResponse( iStatus.Int(), iResult );
-        }
-
-    iObserver.Reset();
-
-    // we are done
-    iConnMonEvents->SetWlanAvailabilityPtrNull();
-    delete this;
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanAvailability::DoCancel
-// -----------------------------------------------------------------------------
-//
-void CWlanAvailability::DoCancel()
-    {
-    MPMLOGSTRING( "CWlanAvailability::DoCancel" )
-
-    iConnMon.CancelAsyncRequest( KBearerAvailability );
-
-    for ( TInt i=0; i < iObserver.Count(); i++ )
-        {
-        iObserver[ i ]->WlanAvailabilityResponse( KErrCancel, iResult );
-        }
-    }
-
-// End of file
--- a/bearermanagement/mpm/src/mpmwlanquerydialog.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/bearermanagement/mpm/src/mpmwlanquerydialog.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -502,7 +502,7 @@
     // if easy wlan iap and easy wlan is not already started
     // 
     else if( iIapSelection.Session()->MyServer().CommsDatAccess()->CheckEasyWLanL( iWlanIapId )  && 
-             !iIapSelection.Session()->MyServer().CheckIfStarted( iWlanIapId ) &&
+             !iIapSelection.Session()->MyServer().CheckIfStarted( iWlanIapId, iIapSelection.Session()->ConnectionId() ) &&
              iNetworkPrefs().iSsId.Length() == 0 &&
              iOverrideStatus == KErrNone )
         {
--- a/cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/cmmanager/gsconnsettingsplugin/traces/OstTraceDefinitions.h	Wed Mar 31 22:15:10 2010 +0300
@@ -1,4 +1,4 @@
 #ifndef __OSTTRACEDEFINITIONS_H__
 #define __OSTTRACEDEFINITIONS_H__
-#include <OpenSystemTrace.h>
+#include <opensystemtrace.h>
 #endif
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiContainer.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiContainer.h	Wed Mar 31 22:15:10 2010 +0300
@@ -175,7 +175,7 @@
         RConnectionMonitor* iMonitor;   
 
         /**
-        * Contins connections info
+        * Contains connections info
         */
         CConnectionArray* const iConnectionArray;
 
@@ -200,6 +200,11 @@
         * The active object for info. refreshing. NOT Owned.
         */
         CActiveWrapper* iActiveWrapper;
+        
+        /**
+        * Connection count
+        */
+        TInt iOldConnectionCount;
     };
 
 #endif // CONNECTIONMONITORUICONTAINER_H
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -331,9 +331,11 @@
                         {
                         ShowConnectionSummaryInformationNoteL( connectionInfo );
                         }
-                    // Mark the connection as closed. When the timer ticks the next
-                    // time the marked connection is deleted and removed from the main view.
+                    // Mark the connection as closed and update the status text. 
+                    // When the timer ticks the next time the marked connection 
+                    // is deleted and removed from the main view.
                     connectionInfo->RefreshConnectionStatus( KConnectionClosed );
+                    connectionInfo->RefreshConnectionListBoxItemTextL();
                     }                
                 CMUILOGGER_WRITE_F( "Deleted: %d", connectionId );
                 }
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -104,8 +104,8 @@
     iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
     
     TInt actCount = iConnectionArray->MdcaCount() - 1;
-	
-	if ( actCount > KErrNotFound )
+    
+    if ( actCount > KErrNotFound )
 		{
 		iListBox->SetCurrentItemIndex( aSelectedItem > actCount ? actCount : aSelectedItem );	    
 		}
@@ -123,7 +123,8 @@
     SetRect( aRect );    
     ActivateL();
 
-    isWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ); 
+    isWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
+    iOldConnectionCount = iConnectionArray->MdcaCount();
 
     CMUILOGGER_LEAVEFN( "CConnectionMonitorUiContainer::ConstructL" );
     }
@@ -272,6 +273,14 @@
 void CConnectionMonitorUiContainer::OnTimerEventL()
     {
     iListBox->DrawNow();
+    //Update the scrollbar only if connection count has changed
+    //
+    TInt iNewConnectionCount = iConnectionArray->MdcaCount();
+    if ( iOldConnectionCount != iNewConnectionCount )
+        {
+        iListBox->UpdateScrollBarsL();
+        }
+    iOldConnectionCount = iNewConnectionCount;
     PushAndRefreshNaviPaneL();
     }
 
--- a/connectionmonitoring/connmon/connectionmonitor/src/CWlanSupport.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connmon/connectionmonitor/src/CWlanSupport.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -1699,6 +1699,7 @@
             ( aRssClass == EWlanRssClassNormal && previousRssClass == EConnMonWlanRssClassWeak ) )
         {
         LOGIT("Rss class change caused call to HandleAvailabilityChange()")
+        iWlanSupport->EnableWlanScan(); 
         iServer->AvailabilityManager()->HandleAvailabilityChange();
         }
 
--- a/connectionmonitoring/connmon/connectionmonitor/src/ConnMonIAP.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connmon/connectionmonitor/src/ConnMonIAP.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -1181,6 +1181,7 @@
     {
     LOGENTRFN("CConnMonIAP::GetBearerInfo()")
     TInt err( KErrNone );
+    TBool getBearerCalled( EFalse );
 
     // Find connection matching the given Id
     TInt index = Index( aConnectionId );
@@ -1199,6 +1200,7 @@
                     aConnectionId,
                     iConnInfos[index].iBearer,
                     iConnInfos[index].iBearerInfo );
+            getBearerCalled = ETrue;
             }
         if ( KErrNone == err )
             {
@@ -1244,17 +1246,21 @@
                     iConnInfos[index].iBearerInfo.iBearer == EBearerInfoHSUPA ||
                     iConnInfos[index].iBearerInfo.iBearer == EBearerInfoHSxPA ) )
                 {
-                // CSD/HSCSD info could change after the first query also
-                // GPRS/EdgeGPRS/WCDMA info can change.
-                TInt bearer( EBearerUnknown );
-                TBearerInfo bearerInfo;
-
-                LOGIT("GetBearerInfo: GetBearer() 2nd query")
-                err = GetBearer( aConnectionId, bearer, bearerInfo );
-                if ( ( KErrNone == err ) && ( bearerInfo.iBearer != EBearerInfoUnknown ) )
+                // If GetBearer() was just called, no need to do it again.
+                if ( !getBearerCalled )
                     {
-                    iConnInfos[index].iBearer = bearer;
-                    iConnInfos[index].iBearerInfo = bearerInfo;
+                    // CSD/HSCSD info could change after the first query also
+                    // GPRS/EdgeGPRS/WCDMA info can change.
+                    TInt bearer( EBearerUnknown );
+                    TBearerInfo bearerInfo;
+
+                    LOGIT("GetBearerInfo: GetBearer() 2nd query")
+                    err = GetBearer( aConnectionId, bearer, bearerInfo );
+                    if ( ( KErrNone == err ) && ( bearerInfo.iBearer != EBearerInfoUnknown ) )
+                        {
+                        iConnInfos[index].iBearer = bearer;
+                        iConnInfos[index].iBearerInfo = bearerInfo;
+                        }
                     }
                 }
             }
--- a/connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionmonitoring/connmon/connectionmonitor/src/ConnMonNoti.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -616,6 +616,20 @@
                         {
                         LOGIT1("SERVER: FAILED to start bearer(new) notifier <%d>", ret)
                         }
+                        
+                    // Update IAP availability if WLAN connection is fully started.
+                    // When WLAN connection status is KLinkLayerOpen it is the only
+                    // WLAN available.
+                    //
+                    TBearerInfo bearerInfo;
+
+                    ret = iServer->Iap()->GetBearerInfo( iConnectionId, bearerInfo );
+                    
+                    if ( ret == KErrNone && bearerInfo.iBearer == EBearerInfoWLAN )
+                        {
+                        LOGIT("CProgressNotifier::RunL triggered HandleAvailabilityChange()")
+                        iServer->AvailabilityManager()->HandleAvailabilityChange();	
+                        }	    
                     }
 
                 iFilter = KNoFiltering;
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_ALRU.def	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_ALRU.def	Wed Mar 31 22:15:10 2010 +0300
@@ -41,7 +41,7 @@
 	?EasyWpaDlg@CConnectionUiUtilities@@QAEXAAVTRequestStatus@@PAVTDes16@@@Z @ 40 NONAME ; void CConnectionUiUtilities::EasyWpaDlg(class TRequestStatus &, class TDes16 *)
 	?SearchWLANNetwork@CConnectionUiUtilities@@QAEHAAV?$TBuf8@$0CA@@@AAW4TWlanConnectionMode@@AAW4TWlanConnectionExtentedSecurityMode@@@Z @ 41 NONAME ; int CConnectionUiUtilities::SearchWLANNetwork(class TBuf8<32> &, enum TWlanConnectionMode &, enum TWlanConnectionExtentedSecurityMode &)
 	?SearchWLANNetworkAsync@CConnectionUiUtilities@@QAEXAAVTRequestStatus@@AAV?$TBuf8@$0CA@@@AAW4TWlanConnectionMode@@AAW4TWlanConnectionExtentedSecurityMode@@@Z @ 42 NONAME ; void CConnectionUiUtilities::SearchWLANNetworkAsync(class TRequestStatus &, class TBuf8<32> &, enum TWlanConnectionMode &, enum TWlanConnectionExtentedSecurityMode &)
-	?CancelWlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXXZ @ 43 NONAME ; void CConnectionUiUtilities::CancelWlanPowerSaveTestNote(void)
-	?WlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXAAHAAVTRequestStatus@@@Z @ 44 NONAME ; void CConnectionUiUtilities::WlanPowerSaveTestNote(int &, class TRequestStatus &)
+	?CancelWlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXXZ @ 43 NONAME ABSENT ; void CConnectionUiUtilities::CancelWlanPowerSaveTestNote(void)
+	?WlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXAAHAAVTRequestStatus@@@Z @ 44 NONAME ABSENT ; void CConnectionUiUtilities::WlanPowerSaveTestNote(int &, class TRequestStatus &)
 	?EasyWapiDlg@CConnectionUiUtilities@@QAEHPAVTDes16@@@Z @ 45 NONAME ; int CConnectionUiUtilities::EasyWapiDlg(class TDes16 *)
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_PROTU.def	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/BWinsCw/ConnectionUiUtilities_PROTU.def	Wed Mar 31 22:15:10 2010 +0300
@@ -46,8 +46,8 @@
 	?SearchWLANNetworkAsync@CConnectionUiUtilities@@QAEXAAVTRequestStatus@@AAV?$TBuf8@$0CA@@@AAW4TWlanConnectionMode@@AAW4TWlanConnectionExtentedSecurityMode@@@Z @ 45 NONAME ; void CConnectionUiUtilities::SearchWLANNetworkAsync(class TRequestStatus &, class TBuf8<32> &, enum TWlanConnectionMode &, enum TWlanConnectionExtentedSecurityMode &)
 	?SearchWLANNetworkAsync@CConnectionUiUtilities@@QAEXAAVTRequestStatus@@AAV?$TBuf8@$0CA@@@AAW4TWlanConnectionMode@@AAW4TWlanConnectionExtentedSecurityMode@@AAH@Z @ 46 NONAME ; void CConnectionUiUtilities::SearchWLANNetworkAsync(class TRequestStatus &, class TBuf8<32> &, enum TWlanConnectionMode &, enum TWlanConnectionExtentedSecurityMode &, int &)
 	?SearchWLANNetwork@CConnectionUiUtilities@@QAEHAAV?$TBuf8@$0CA@@@AAW4TWlanConnectionMode@@AAW4TWlanConnectionExtentedSecurityMode@@AAH@Z @ 47 NONAME ; int CConnectionUiUtilities::SearchWLANNetwork(class TBuf8<32> &, enum TWlanConnectionMode &, enum TWlanConnectionExtentedSecurityMode &, int &)
-	?CancelWlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXXZ @ 48 NONAME ; void CConnectionUiUtilities::CancelWlanPowerSaveTestNote(void)
-	?WlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXAAHAAVTRequestStatus@@@Z @ 49 NONAME ; void CConnectionUiUtilities::WlanPowerSaveTestNote(int &, class TRequestStatus &)
+	?CancelWlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXXZ @ 48 NONAME ABSENT ; void CConnectionUiUtilities::CancelWlanPowerSaveTestNote(void)
+	?WlanPowerSaveTestNote@CConnectionUiUtilities@@QAEXAAHAAVTRequestStatus@@@Z @ 49 NONAME ABSENT ; void CConnectionUiUtilities::WlanPowerSaveTestNote(int &, class TRequestStatus &)
 	?EasyWapiDlg@CConnectionUiUtilities@@QAEHPAVTDes16@@@Z @ 50 NONAME ; int CConnectionUiUtilities::EasyWapiDlg(class TDes16 *)
 	?NoWLANNetworksAvailableNote@CConnectionUiUtilities@@QAEXXZ @ 51 NONAME ; void CConnectionUiUtilities::NoWLANNetworksAvailableNote(void)
 	?ConfirmMethodUsageQuery@CConnectionUiUtilities@@QAEXAAW4TMsgQueryLinkedResults@@HAAVTRequestStatus@@@Z @ 52 NONAME ; void CConnectionUiUtilities::ConfirmMethodUsageQuery(enum TMsgQueryLinkedResults &, int, class TRequestStatus &)
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_ALRU.def	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_ALRU.def	Wed Mar 31 22:15:10 2010 +0300
@@ -43,7 +43,7 @@
 	_ZN22CConnectionUiUtilities10EasyWpaDlgER14TRequestStatusP6TDes16 @ 42 NONAME
 	_ZN22CConnectionUiUtilities17SearchWLANNetworkER5TBuf8ILi32EER19TWlanConnectionModeR35TWlanConnectionExtentedSecurityMode @ 43 NONAME
 	_ZN22CConnectionUiUtilities22SearchWLANNetworkAsyncER14TRequestStatusR5TBuf8ILi32EER19TWlanConnectionModeR35TWlanConnectionExtentedSecurityMode @ 44 NONAME
-	_ZN22CConnectionUiUtilities21WlanPowerSaveTestNoteERiR14TRequestStatus @ 45 NONAME
-	_ZN22CConnectionUiUtilities27CancelWlanPowerSaveTestNoteEv @ 46 NONAME
+	_ZN22CConnectionUiUtilities21WlanPowerSaveTestNoteERiR14TRequestStatus @ 45 NONAME ABSENT
+	_ZN22CConnectionUiUtilities27CancelWlanPowerSaveTestNoteEv @ 46 NONAME ABSENT
 	_ZN22CConnectionUiUtilities11EasyWapiDlgEP6TDes16 @ 47 NONAME
 
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_PROTU.def	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/EABI/ConnectionUiUtilities_PROTU.def	Wed Mar 31 22:15:10 2010 +0300
@@ -48,8 +48,8 @@
 	_ZN22CConnectionUiUtilities17SearchWLANNetworkER5TBuf8ILi32EER19TWlanConnectionModeR35TWlanConnectionExtentedSecurityModeRi @ 47 NONAME
 	_ZN22CConnectionUiUtilities22SearchWLANNetworkAsyncER14TRequestStatusR5TBuf8ILi32EER19TWlanConnectionModeR35TWlanConnectionExtentedSecurityMode @ 48 NONAME
 	_ZN22CConnectionUiUtilities22SearchWLANNetworkAsyncER14TRequestStatusR5TBuf8ILi32EER19TWlanConnectionModeR35TWlanConnectionExtentedSecurityModeRi @ 49 NONAME
-	_ZN22CConnectionUiUtilities21WlanPowerSaveTestNoteERiR14TRequestStatus @ 50 NONAME
-	_ZN22CConnectionUiUtilities27CancelWlanPowerSaveTestNoteEv @ 51 NONAME
+	_ZN22CConnectionUiUtilities21WlanPowerSaveTestNoteERiR14TRequestStatus @ 50 NONAME ABSENT
+	_ZN22CConnectionUiUtilities27CancelWlanPowerSaveTestNoteEv @ 51 NONAME ABSENT
 	_ZN22CConnectionUiUtilities11EasyWapiDlgEP6TDes16 @ 52 NONAME
 	_ZN22CConnectionUiUtilities23ConfirmMethodUsageQueryER22TMsgQueryLinkedResultsiR14TRequestStatus @ 53 NONAME
 	_ZN22CConnectionUiUtilities26ConnectingViaDiscreetPopupERKm @ 54 NONAME
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetest.h	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dialog that implements WLAN Power Save Testing notification
-*
-*/
-
-
-#ifndef __POWERSAVETEST_QUERY_H__
-#define __POWERSAVETEST_QUERY_H__
-
-// INCLUDES
-#include <aknmessagequerydialog.h>
-
-// FORWARD DECLARATIONS
-class CWlanPowerSaveQueryNotif;
-
-
-// CLASS DECLARATIONS
-
-/**
- * Class implements a query dialog.
- */
-NONSHARABLE_CLASS( CWlanPowerSaveQuery ) : public CAknMessageQueryDialog 
-    {
-    public:
-        /**
-        * Constructor the CWlanPowerSaveQuery class
-        * @param aNotif notifier pointer  
-        * @return -
-        */
-        CWlanPowerSaveQuery( CWlanPowerSaveQueryNotif* aNotif );
-
-        /**
-        * Exit function the CWlanPowerSaveQuery
-        * @param aButtonId 
-        * @return TBool exit or no
-        */
-        virtual TBool OkToExitL( TInt aButtonId );
-    
-        /**
-        * Destructor
-        */
-        virtual ~CWlanPowerSaveQuery();     
-
-        /** 
-        * From @c CCoeControl.
-        *
-        * Handles key events.
-        * 
-        * If a control wishes to process key events, it should implement this
-        * function. The implementation must ensure that the function returns 
-        * @c EKeyWasNotConsumed if it does not do anything in response to a 
-        * key event, otherwise, other controls or dialogs may be prevented 
-        * from receiving the key event. If it is able to process the event it 
-        * should return @c EKeyWasConsumed.
-        * 
-        * @param aKeyEvent The key event. 
-        * @param aType The type of key event: @c EEventKey, @c EEventKeyUp or 
-        *        @c EEventKeyDown. 
-        * @return Indicates whether or not the key event was used
-        *         by this control. 
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, TEventCode );
-
-        /**
-        * Tries to exit the dialog when the specified button is pressed, if this 
-        * button should exit the dialog.
-        *
-        * See @c OkToExitL() to determine which buttons can exit the dialog.
-        * 
-        * This will fail if user exit is prevented by the 
-        * @c EEikDialogFlagNoUserExit flag. If the @c EEikDialogFlagNotifyEsc flag
-        * is not set and the dialog has been cancelled it immediately deletes 
-        * itself.
-        * 
-        * @param aButtonId The id of the pressed button.
-        */
-        void TryExitL( TInt aButtonId );
-
-    private:
-        /**
-        * PreLayoutDynInitL
-        * @param    -
-        */
-        virtual void PreLayoutDynInitL();    
-
-    private:
-        CWlanPowerSaveQueryNotif* iNotif;      // Pointer to the Notifier, not owned
-        TBool iButtonGroupPreviouslyChanged;   // Was ButtonGroup modified?
-    };
-
-
-#endif  // __POWERSAVETEST_QUERY_H__
-
-// End of File
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifInc/wlanpowersavetestnotif.h	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Notifier part for WLAN Power Save Testing notification dialog
-*
-*/
-
-#ifndef __POWERSAVETESTQUERYNOTIF_H__
-#define __POWERSAVETESTQUERYNOTIF_H__
-
-
-// INCLUDES
-#include <e32base.h>
-
-#include "ConnectionDialogsNotifBase.h"
-
-// FORWARD DECLARATIONS
-class CWlanPowerSaveQuery;
-
-/**
- * OfflineWlanNoteNotif class
- */
-NONSHARABLE_CLASS( CWlanPowerSaveQueryNotif ) 
-                                        : public CConnectionDialogsNotifBase
-    {
-    public:
-    
-        /**
-        * NewL function
-        * @param  -
-        * return CWlanPowerSaveQueryNotif*
-        */
-        static CWlanPowerSaveQueryNotif* NewL( 
-                                        const TBool aResourceFileResponsible );
-                                        
-        /**
-        * ~CWlanPowerSaveQueryNotif() destructor
-        * @param  -
-        * return  -
-        */
-        virtual ~CWlanPowerSaveQueryNotif();
-                                
-
-        /**
-        * RegisterL register the client notifier function
-        * @param  -
-        * return TNotifierInfo
-        */
-        TNotifierInfo RegisterL();
-
-        /**
-        * Start the Notifier
-        * @param  aBuffer    Buffer
-        * @param  aReplySlot Identifies which message argument to use for the 
-        *                    reply. This message argument will refer to a 
-        *                    modifiable descriptor, a TDes8 type, into which
-        *                    data can be returned. 
-        * @param  aMessage   Message
-        * return -
-        */
-        void StartL( const TDesC8&       aBuffer, 
-                     TInt                aReplySlot, 
-                     const RMessagePtr2& aMessage );
-
-        /**
-        * Cancel() the notifier
-        * @param  -
-        * return -
-        */
-        void Cancel();
-
-    public:
-
-        /**
-        * CompleteL the notifier is complete
-        * @param  aStatus status
-        * return  -
-        */
-        void CompleteL( TInt aStatus );
-
-         /**
-        * Callback is called when user selects dialog's link
-        * @param  aObject Pointer to notifier object.
-        * return  Error code
-        */  
-        static TInt DisableTestLinkL( TAny* aObject );
-        
-    private:        
-
-        /**
-        * Constructor.
-        */
-        CWlanPowerSaveQueryNotif();
-        
-        /**
-        * Exits the dialog.
-        */
-        void DoDisableTestLinkL();
-        
-    private:
-        CWlanPowerSaveQuery* iDialog;    // Pointer to the dialog
-        TBool                iDisable;   // Disable notification in the future
-        CAsyncCallBack*      iExitAsync; // One shot active object
-    };
-
-
-#endif // __POWERSAVETESTQUERYNOTIF_H__
-
-// End of File
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/ConnUiUtilsNotif.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -28,7 +28,6 @@
 #include "WLANNetworkUnavailableNoteNotif.h"
 #include "ConfirmationQueryNotif.h"
 #include "ConnectViaNoteNotif.h"
-#include "wlanpowersavetestnotif.h"
 #include "easywapidlgnotif.h"
 #include "nowlannetworksavailablenotif.h"
 #include "connectingviadiscreetpopupnotif.h"
@@ -122,11 +121,6 @@
     serNotify = CConnectViaNoteNotif::NewL( resourceFileResponsible );
     CleanupStack::PushL( serNotify );
     aNotifiers->AppendL( serNotify );
-    CleanupStack::Pop( serNotify );     
-  
-    serNotify = CWlanPowerSaveQueryNotif::NewL( resourceFileResponsible );
-    CleanupStack::PushL( serNotify );
-    aNotifiers->AppendL( serNotify );
     CleanupStack::Pop( serNotify );
     
     serNotify = CEasyWapiDlgNotif::NewL( resourceFileResponsible );
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetest.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Dialog that implements WLAN Power Save Testing notification
-*
-*/
-
-
-// INCLUDE FILES
-#include "wlanpowersavetest.h"
-#include "wlanpowersavetestnotif.h"
-#include "ConnectionUiUtilitiesCommon.h"
-#include "ConnectionDialogsLogger.h"
-
-#include <uikon/eiksrvui.h>
-#include <StringLoader.h>
-#include <ConnUiUtilsNotif.rsg>
-
-// ================= MEMBER FUNCTIONS =======================
-//
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::CWlanPowerSaveQuery
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQuery::CWlanPowerSaveQuery( CWlanPowerSaveQueryNotif* aNotif )
-: iNotif( aNotif ),
-  iButtonGroupPreviouslyChanged( EFalse )
-   {
-   }
-    
-    
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::~CWlanPowerSaveQuery
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQuery::~CWlanPowerSaveQuery()
-    {
-    STATIC_CAST( CEikServAppUi*, 
-                 CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( EFalse );
-    }
-
-
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CWlanPowerSaveQuery::OkToExitL( TInt aButtonId )
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQuery::OkToExitL" );
-    TInt status = KErrCancel;
-    if ( aButtonId == EAknSoftkeyYes || aButtonId == EAknSoftkeySelect || 
-         aButtonId == EAknSoftkeyDone || aButtonId == EAknSoftkeyOk )
-        {
-        status = KErrNone;
-        }
-
-    CLOG_WRITEF( _L( "aButtonId = %d" ), aButtonId );
-    
-    if ( iNotif )
-        {
-        iNotif->CompleteL( status );	
-        }
-    
-    CLOG_LEAVEFN( "CWlanPowerSaveQuery::OkToExitL" );
-
-    return ETrue;
-    }
-    
-    
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::PreLayoutDynInitL()
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQuery::PreLayoutDynInitL()
-    {    
-    CAknMessageQueryDialog::PreLayoutDynInitL();
-
-    STATIC_CAST( CEikServAppUi*, 
-                 CCoeEnv::Static()->AppUi() )->SuppressAppSwitching( ETrue );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::OfferKeyEventL()
-// ---------------------------------------------------------
-//
-TKeyResponse CWlanPowerSaveQuery::OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                                 TEventCode aModifiers )
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQuery::OfferKeyEventL" );
-    TInt code = aKeyEvent.iCode;
-        
-    switch ( code )
-        {    
-        case EKeyUpArrow:
-        case EKeyDownArrow:
-            {
-            CAknMessageQueryControl* messageQueryControl = STATIC_CAST( 
-                                        CAknMessageQueryControl*, 
-                                        Control( EAknMessageQueryContentId ) );
-            if ( messageQueryControl )
-                {
-                TKeyResponse answer = messageQueryControl->OfferKeyEventL( 
-                                                    aKeyEvent, aModifiers );
-                if ( answer == EKeyWasConsumed )
-                    {
-                    if ( messageQueryControl->LinkHighLighted() ) 
-                        {
-                        if ( !iButtonGroupPreviouslyChanged )
-                            {
-                            CEikButtonGroupContainer& cba = 
-                                                        ButtonGroupContainer();
-
-                            ButtonGroupContainer().AddCommandSetToStackL( 
-                                                    R_SOFTKEYS_VIEW_EMPTY__VIEW );
-
-                            cba.UpdateCommandObserverL( 
-                              CEikButtonGroupContainer::ELeftSoftkeyPosition,
-                              *this );
-
-                            cba.UpdateCommandObserverL( 
-                              CEikButtonGroupContainer::EMiddleSoftkeyPosition,
-                              *this );
-
-                            cba.DrawDeferred();
- 
-                            iButtonGroupPreviouslyChanged = ETrue;
-                           }
-                        }
-                    else if ( iButtonGroupPreviouslyChanged )
-                        {                            
-                        CEikButtonGroupContainer& cba = ButtonGroupContainer();
-
-                        cba.RemoveCommandObserver( 
-                            CEikButtonGroupContainer::ELeftSoftkeyPosition );
-
-                        cba.RemoveCommandObserver( 
-                            CEikButtonGroupContainer::EMiddleSoftkeyPosition );
-
-                        cba.RemoveCommandFromStack( 
-                            CEikButtonGroupContainer::ELeftSoftkeyPosition,
-                            EAknSoftkeyView );
-
-                        cba.RemoveCommandFromStack( 
-                            CEikButtonGroupContainer::ERightSoftkeyPosition, 
-                            EAknSoftkeyNo );
-
-                        cba.RemoveCommandFromStack( 
-                            CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-                            EAknSoftkeyView );
-
-                        cba.DrawDeferred();
-
-                        iButtonGroupPreviouslyChanged = EFalse;
-                        }
-                    }
-                CLOG_WRITEF( _L( "answer = %d" ), answer );
-                CLOG_LEAVEFN( "CWlanPowerSaveQuery::OfferKeyEventL 1" );
-                return answer;  
-                }
-            }
-            break;
-            
-        default:
-            break;
-        }
-
-    CLOG_LEAVEFN( "CWlanPowerSaveQuery::OfferKeyEventL 2" );
-    return CAknMessageQueryDialog::OfferKeyEventL( aKeyEvent, aModifiers );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQuery::TryExitL()
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQuery::TryExitL( TInt aButtonId )
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQuery::TryExitL" );
-    CAknMessageQueryDialog::TryExitL( aButtonId );
-    CLOG_LEAVEFN( "CWlanPowerSaveQuery::TryExitL" );
-    }
-
-// End of File
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/wlanpowersavetestnotif.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Notier part for WLAN Power Save Testing notification dialog
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "wlanpowersavetestnotif.h"
-#include "wlanpowersavetest.h"
-#include "ConnectionUiUtilitiesCommon.h"
-#include "ConnUiUtilsNotif.h"
-#include "ConnectionDialogsLogger.h"
-
-#include <ConnUiUtilsNotif.rsg>
-#include <StringLoader.h>
-
-#include <ConnectionUiUtilities.h>
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQueryNotif::CWlanPowerSaveQueryNotif()
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQueryNotif::CWlanPowerSaveQueryNotif()
-    :
-    iDisable( EFalse )
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQueryNotif* CWlanPowerSaveQueryNotif::NewL()
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQueryNotif* CWlanPowerSaveQueryNotif::NewL( 
-                                        const TBool aResourceFileResponsible )
-    {
-    CWlanPowerSaveQueryNotif* self = new ( ELeave ) CWlanPowerSaveQueryNotif();
-    CleanupStack::PushL( self );
-    self->ConstructL( KResourceFileName, aResourceFileResponsible );
-    CleanupStack::Pop();
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQueryNotif::~CWlanPowerSaveQueryNotif()
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQueryNotif::~CWlanPowerSaveQueryNotif()
-    {   
-    if ( iExitAsync )
-        {
-    	delete iExitAsync;
-    	iExitAsync = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanPowerSaveQueryNotif::RegisterL()
-// ---------------------------------------------------------
-//
-CWlanPowerSaveQueryNotif::TNotifierInfo CWlanPowerSaveQueryNotif::RegisterL()
-    {
-    iInfo.iUid      = KUidWlanPowerSaveTestNote;
-    iInfo.iPriority = ENotifierPriorityHigh;
-    iInfo.iChannel  = KUidWlanPowerSaveTestNote;
-
-    return iInfo;
-    }
-
-// ---------------------------------------------------------
-// void CWlanPowerSaveQueryNotif::StartL
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQueryNotif::StartL( const TDesC8& /*aBuffer*/, 
-                                       TInt aReplySlot,
-                                       const RMessagePtr2& aMessage )
-    {
-    if ( iDialog )
-        {
-        // Dialog is already on the display
-        aMessage.Complete( KErrServerBusy );
-        return;
-        }
-            
-    iReplySlot = aReplySlot;
-    iMessage   = aMessage;
-    iCancelled = EFalse;    
-
-    iDialog = new ( ELeave ) CWlanPowerSaveQuery( this );
-    iDialog->PrepareLC( R_POWERSAVE_QUERY );
-    
-    HBufC* heading  = NULL;
-    HBufC* message  = NULL;
-    TInt resourceId = 0;
-    
-    resourceId = R_QTN_WLAN_POWER_SAVE_TEST_DLG_TEXT;
-    heading    = StringLoader::LoadLC( 
-                     R_QTN_WLAN_POWER_SAVE_TEST_DLG_TITLE );
-    
-    CDesCArrayFlat* strings = new( ELeave ) CDesCArrayFlat( 2 );
-    CleanupStack::PushL( strings );
-    
-    HBufC* messageBase = StringLoader::LoadL( resourceId, *strings );
-
-    CleanupStack::PopAndDestroy( strings );
-
-    CleanupStack::PushL( messageBase );
-
-    _LIT( KLinkStartTag, "\n<AknMessageQuery Link>" );
-    _LIT( KLinkEndTag, "</AknMessageQuery Link>" );
-
-    HBufC* linkString1 = StringLoader::LoadLC( 
-                            R_QTN_WLAN_POWER_SAVE_TEST_DLG_LINK );
-
-    TInt lenMsg = messageBase->Des().Length()+
-                  linkString1->Des().Length()+
-                  KLinkStartTag().Length()+
-                  KLinkEndTag().Length();
-
-
-    message = HBufC::NewL( lenMsg );
-    TPtr messagePtr = message->Des();
-
-    messagePtr.Append( messageBase->Des() ); 
-
-    messagePtr.Append( KLinkStartTag ); 
-    messagePtr.Append( linkString1->Des() );
-    messagePtr.Append( KLinkEndTag );
-
-    CleanupStack::PopAndDestroy( linkString1 );
-    CleanupStack::PopAndDestroy( messageBase );
-
-    CleanupStack::PushL( message );
-
-    iDialog->SetMessageTextL( *message );
-    CleanupStack::PopAndDestroy( message );
-
-    iDialog->QueryHeading()->SetTextL( *heading );
-    CleanupStack::PopAndDestroy( heading );
-
-    // Set callback for the link
-    TCallBack callBackFirstLink( DisableTestLinkL, this );
-    iDialog->SetLink( callBackFirstLink );
-
-    iDialog->RunLD();
-    }
-
-// ---------------------------------------------------------
-// void CWlanPowerSaveQueryNotif::Cancel()
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQueryNotif::Cancel()
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQueryNotif::Cancel" );
-    if ( !iCancelled )
-        {
-        iCancelled = ETrue;
-        if ( !iMessage.IsNull() )
-            {
-            iMessage.Complete( KErrCancel );
-            }
-        
-        delete iDialog;
-        iDialog = NULL;
-        }
-            
-    CLOG_LEAVEFN( "CWlanPowerSaveQueryNotif::Cancel" );
-    }
-
-
-// ---------------------------------------------------------
-// void CWlanPowerSaveQueryNotif::CompleteL( TInt aStatus )
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQueryNotif::CompleteL( TInt aStatus )
-    {  
-    CLOG_ENTERFN( "CWlanPowerSaveQueryNotif::CompleteL" );
-    if ( !iMessage.IsNull() )
-        {        
-        iMessage.WriteL( iReplySlot, TPckg< TBool >( iDisable ) );
-        iMessage.Complete( aStatus );
-        }
-    
-    iCancelled = ETrue;
-    iDialog    = NULL; //deleted by AVKON when OkToExitL completes
-    
-    CLOG_LEAVEFN( "CWlanPowerSaveQueryNotif::CompleteL" );
-    }
-
-
-// ---------------------------------------------------------
-// TInt CWlanPowerSaveQueryNotif::DisableTestLinkL()
-// ---------------------------------------------------------
-//
-TInt CWlanPowerSaveQueryNotif::DisableTestLinkL( TAny* aObject )
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQueryNotif::DisableTestLinkL" );
-    CWlanPowerSaveQueryNotif* myself =
-                            static_cast<CWlanPowerSaveQueryNotif*>( aObject );
-    
-    if ( !myself->iExitAsync )
-        {
-        // Can't exit now. This call could be triggered by a pointer
-        // event. AVKON would crash if exit is done now.
-        // Trigger a one shot active object to delay exit. 
-        TCallBack cb( myself->DisableTestLinkL, myself );
-	    myself->iExitAsync = new( ELeave ) CAsyncCallBack( cb, CActive::EPriorityHigh );
-	    myself->iExitAsync->CallBack();
-	    
-	    CLOG_LEAVEFN( "CWlanPowerSaveQueryNotif::DisableTestLinkL" );
-	    return 1;
-        }
-    else
-        {
-        // We can exit now. Called by one shot active object.
-        myself->DoDisableTestLinkL();
-        
-        CLOG_LEAVEFN( "CWlanPowerSaveQueryNotif::DisableTestLinkL" );
-        return 0;	
-        }
-    }
-
-
-// ---------------------------------------------------------
-// void CWlanPowerSaveQueryNotif::DoDisableTestLinkL()
-// ---------------------------------------------------------
-//
-void CWlanPowerSaveQueryNotif::DoDisableTestLinkL()
-    {
-    CLOG_ENTERFN( "CWlanPowerSaveQueryNotif::DoDisableTestLinkL" );
-
-    iDisable = ETrue;
-    
-    iDialog->TryExitL( EAknSoftkeySelect );
-    
-    CLOG_LEAVEFN( "CWlanPowerSaveQueryNotif::DoDisableTestLinkL" );
-    }
-
-// End of File
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesClient.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesClient.h	Wed Mar 31 22:15:10 2010 +0300
@@ -195,19 +195,6 @@
         void CancelConnectedViaConnMethodNote();
         
         /**
-        * This note is displayed when power-save feature of the WLAN station 
-        * is incompatible and thus battery consumption of the mobile will increase.
-        * @param aDisable ETrue if user wants to disable this note in the future.
-        * @param aStatus Status object of notifier.
-        */
-        void WlanPowerSaveTestNote( TBool& aDisable, TRequestStatus& aStatus );
-        
-        /**
-        * Cancel WlanPowerSaveTestNote notifier.
-        */
-        void CancelWlanPowerSaveTestNote();
-        
-        /**
         * Notifier. Prompts WAPI-PSK.
         * Shows a data query, "Enter pre-shared key for WLAN" 
         * @param aKey Key entered by user
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesImpl.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/inc/ConnectionUiUtilitiesImpl.h	Wed Mar 31 22:15:10 2010 +0300
@@ -457,19 +457,6 @@
         void CancelConnectedViaConnMethodNote();
         
         /**
-        * This note is displayed when power-save feature of the WLAN station 
-        * is incompatible and thus battery consumption of the mobile will increase.
-        * @param aDisable ETrue if user wants to disable this note in the future.
-        * @param aStatus Status object of notifier.
-        */
-        void WlanPowerSaveTestNote( TBool& aDisable, TRequestStatus& aStatus );
-        
-        /**
-        * Cancel WlanPowerSaveTestNote notifier.
-        */
-        void CancelWlanPowerSaveTestNote();
-        
-        /**
         * Notifier. Query for prompting WAPI-PSK. 
         * Displays a query: "Enter pre-shared key for WLAN" 
         * @param aKey Key entered by user
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilities.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilities.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -490,26 +490,6 @@
     }
     
 // ---------------------------------------------------------
-// CConnectionUiUtilities::WlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-EXPORT_C void CConnectionUiUtilities::WlanPowerSaveTestNote(
-                                               TBool&          aDisable,
-                                               TRequestStatus& aStatus )
-    {
-    iImpl->WlanPowerSaveTestNote( aDisable, aStatus );
-    }
-
-// ---------------------------------------------------------
-// CConnectionUiUtilities::CancelWlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-EXPORT_C void CConnectionUiUtilities::CancelWlanPowerSaveTestNote()
-    {
-    iImpl->CancelWlanPowerSaveTestNote();
-    }
-
-// ---------------------------------------------------------
 // CConnectionUiUtilities::EasyWapiDlg
 // ---------------------------------------------------------
 //
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesClient.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesClient.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -453,45 +453,6 @@
     }
 
 // ---------------------------------------------------------
-// RConnectionUiUtilitiesSession::CWlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-void RConnectionUiUtilitiesSession::WlanPowerSaveTestNote( 
-                                                    TBool&          aDisable,
-                                                    TRequestStatus& aStatus )
-    {
-    CLOG_ENTERFN( "RConnectionUiUtilitiesSession::WlanPowerSaveTestNote" );
-
-    ::new( &iBool ) TPckg< TBool >( aDisable );
-
-    if ( iNotifier )
-        {
-        iNotifier->StartNotifierAndGetResponse( aStatus, 
-                                                KUidWlanPowerSaveTestNote,
-                                                KNullDesC8(),
-                                                iBool );
-        }
-
-    CLOG_LEAVEFN( "RConnectionUiUtilitiesSession::WlanPowerSaveTestNote" );
-    }
-    
-// ---------------------------------------------------------
-// RConnectionUiUtilitiesSession::CancelWlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-void RConnectionUiUtilitiesSession::CancelWlanPowerSaveTestNote()
-    {
-    CLOG_ENTERFN( "RConnectionUiUtilitiesSession::CancelWlanPowerSaveTestNote" );
-
-    if ( iNotifier )
-        {
-        iNotifier->CancelNotifier( KUidWlanPowerSaveTestNote );
-        }
-
-    CLOG_LEAVEFN( "RConnectionUiUtilitiesSession::CancelWlanPowerSaveTestNote" );
-    }
-
-// ---------------------------------------------------------
 // RConnectionUiUtilitiesSession::EasyWapiDlg()
 // ---------------------------------------------------------
 //
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -1044,29 +1044,7 @@
     {
     iNotif.CancelConnectedViaConnMethodNote();
     }
-    
-    
-// ---------------------------------------------------------
-// CConnectionUiUtilitiesImpl::WlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-void CConnectionUiUtilitiesImpl::WlanPowerSaveTestNote( 
-                                                    TBool&          aDisable,
-                                                    TRequestStatus& aStatus )
-    {
-    iNotif.WlanPowerSaveTestNote( aDisable, aStatus );
-    }
 
-        
-// ---------------------------------------------------------
-// CConnectionUiUtilitiesImpl::CancelWlanPowerSaveTestNote
-// ---------------------------------------------------------
-//
-void CConnectionUiUtilitiesImpl::CancelWlanPowerSaveTestNote()
-    {
-    iNotif.CancelWlanPowerSaveTestNote();
-    }
-    
 // ---------------------------------------------------------    
 // CConnectionUiUtilitiesImpl::EasyWapiDlg
 // ---------------------------------------------------------
--- a/connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/ecomsrc/connectiondialogswrapper.cpp	Wed Mar 31 22:15:10 2010 +0300
@@ -172,11 +172,6 @@
                                                         KMyPriority ) );
                                                         
     // WLAN wrappers
-                                                        
-    subjects->AppendL( new( ELeave ) CAknNotifierWrapperLight( *master,
-                                            KUidWlanPowerSaveTestNote,
-                                            KUidWlanPowerSaveTestNote,
-                                            KMyPriority ) );
                                             
     subjects->AppendL( new( ELeave ) CAknNotifierWrapperLight( *master,
                                             KUidEasyWapiDlg,
--- a/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/group/ConnUiUtilsNotif.mmp	Wed Mar 31 22:15:10 2010 +0300
@@ -70,8 +70,6 @@
 SOURCE      ActiveConnectViaNote.cpp
 SOURCE      ConnectViaNoteNotif.cpp
 SOURCE      NoteDlgSuppressingSwitch.cpp
-SOURCE      wlanpowersavetest.cpp
-SOURCE      wlanpowersavetestnotif.cpp
 SOURCE      easywapidlgnotif.cpp
 SOURCE      nowlannetworksavailablenotif.cpp
 SOURCE      connectingviadiscreetpopup.cpp
--- a/connectionutilities/ConnectionDialogs/inc/ConnectionDialogsUidDefs.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/connectionutilities/ConnectionDialogs/inc/ConnectionDialogsUidDefs.h	Wed Mar 31 22:15:10 2010 +0300
@@ -90,9 +90,6 @@
 // ID of two info notes
 const TUid KUidConnectViaNote = { 0x10281BB0 };
 
-// ID of WLAN Power Save Test query
-const TUid KUidWlanPowerSaveTestNote = { 0x101F6D4F };
-
 // ID of Easy Wapi dialog
 const TUid KUidEasyWapiDlg = { 0x101F6D51 };
 
--- a/ipcm_plat/connection_ui_utilities_api/inc/ConnectionUiUtilities.h	Mon Mar 15 12:42:11 2010 +0200
+++ b/ipcm_plat/connection_ui_utilities_api/inc/ConnectionUiUtilities.h	Wed Mar 31 22:15:10 2010 +0300
@@ -495,19 +495,7 @@
         */
         IMPORT_C void OffLineWlanNote( TRequestStatus& aStatus );
         
-        /**
-        * Notifier that displays "Power save test" information note.
-        * @param aDisable On completion, contains ETrue if user wants to disable
-        *                 the note in the future. EFalse otherwise. 
-        * @param aStatus KErrNone if successful, a system-wide error code if not.
-        */
-        IMPORT_C void WlanPowerSaveTestNote( TBool&          aDisable,
-                                             TRequestStatus& aStatus );
-        
-        /**
-        * Cancel WlanPowerSaveTestNote notifier.
-        */
-        IMPORT_C void CancelWlanPowerSaveTestNote();
+
         
         /**
         * Notifier. Shows a data query prompting for WAPI pre-shared key. 
--- a/package_definition.xml	Mon Mar 15 12:42:11 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="ipconnmgmt" name="IP Connectivity Management" levels="plugin framework server generic utils">
-    <collection id="alwayson_net_plugin" name="Always Online Net Plugin" level="server">
-      <component id="pdpcontextmanager2" filter="s60" name="PDP Context Manager 2">
-        <unit bldFile="alwayson_net_plugin/pdpcontextmanager2/group"/>
-      </component>
-    </collection>
-    <collection id="bearermanagement" name="Bearer Management" level="framework">
-      <component id="mpm" filter="s60" name="Mobility Policy Manager">
-        <unit bldFile="bearermanagement/mpm/group"/>
-      </component>
-      <component id="bearermanager" filter="s60" name="Bearer Manager">
-        <unit bldFile="bearermanagement/bearermanager/group"/>
-      </component>
-      <component id="bearermanagement_build" filter="s60" name="Bearer Management Build">
-		<!-- move exports into one of the other components and remove this one -->
-        <unit bldFile="bearermanagement/group"/>
-      </component>
-    </collection>
-    <collection id="connectionmonitoring" name="Connection Monitoring" level="server">
-      <component id="connectionmonitorplugin" filter="s60" name="Connection Monitor Plugin" class="plugin">
-        <unit bldFile="connectionmonitoring/connectionmonitorplugin/group"/>
-      </component>
-      <component id="connectionmonitorui" filter="s60" name="Connection Monitor UI">
-        <unit bldFile="connectionmonitoring/connectionmonitorui/group"/>
-      </component>
-      <component id="connmon" filter="s60" name="Connection Monitor">
-		<!-- either split into two components, or #include from a common bld.inf -->
-        <unit bldFile="connectionmonitoring/connmon/connectionmonitor/group"/>
-        <unit bldFile="connectionmonitoring/connmon/dataconnectionlogger/group"/>
-      </component>
-      <component id="connmonext" filter="s60" name="Connection Monitor Extension API">
-        <unit bldFile="connectionmonitoring/connmonext/group"/>
-      </component>
-    </collection>
-    <collection id="accesspointcontrol" name="Access Point Control" level="plugin">
-      <component id="apcontrollistplugin" filter="s60" name="Access Point Control List Plugin" class="plugin" introduced="^2">
-        <unit bldFile="accesspointcontrol/apcontrollistplugin/group"/>
-      </component>
-    </collection>
-    <collection id="apengine" name="Access Point Engine" level="framework">
-      <component id="apeng" filter="s60" name="Access Point Engine">
-        <unit bldFile="apengine/apeng/group"/>
-      </component>
-      <component id="apsettingshandlerui" filter="s60" name="Access Point Settings Handler UI">
-        <unit bldFile="apengine/apsettingshandlerui/group"/>
-      </component>
-      <component id="apsettingsplugin" filter="s60" name="Access Point Settings Plugin" class="plugin">
-        <unit bldFile="apengine/apsettingsplugin/group"/>
-      </component>
-    </collection>
-    <collection id="cmmanager" name="Connection Method Manager" level="framework">
-      <component id="cmmgr" filter="s60" name="CM Manager">
-        <unit bldFile="cmmanager/cmmgr/group"/>
-      </component>
-    </collection>
-    <collection id="dbcreator" name="DB Creator" level="utils">
-      <component id="commsdatcreator" filter="s60" name="Comms Database Creator" introduced="9.3">
-        <unit bldFile="dbcreator/commsdatcreator/group"/>
-      </component>
-      <component id="commsdatcreatorrfsplugin" filter="s60" name="Comms Database Creator RFS Plugin" class="plugin" introduced="9.3">
-        <unit bldFile="dbcreator/commsdatcreatorrfsplugin/group"/>
-      </component>
-      <component id="commsdatstartup" filter="s60" name="Comms Database Startup" introduced="9.3">
-        <unit bldFile="dbcreator/commsdatstartup/group"/>
-      </component>
-      <component id="dbcreatorexe" filter="s60" name="DB Creator" introduced="9.3">
-        <unit bldFile="dbcreator/dbcreatorexe/group"/>
-      </component>
-      <component id="dbcreator_build" filter="s60" name="DB Creator Build" introduced="9.3">
-		<!-- consider moving exports to another component and getting rid of this one -->
-        <unit bldFile="dbcreator/group"/>
-      </component>
-    </collection>
-    <collection id="connectionutilities" name="Connection Utilities" level="utils">
-      <component id="connectiondialogs" filter="s60" name="Connection Dialogs">
-        <unit bldFile="connectionutilities/connectiondialogs/group"/>
-      </component>
-    </collection>
-    <collection id="ipconnmgmt_info" name="IP Connectivity Management Info" level="utils">
-      <component id="ipcm_pub" filter="s60" class="api" name="IP Connectivity Management Public Interfaces">
-        <unit bldFile="ipcm_pub/group"/>
-      </component>
-      <component id="ipcm_plat" filter="s60" class="api" name="IP Connectivity Management Platform Interfaces">
-        <unit bldFile="ipcm_plat/group"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>