wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp
branchRCL_3
changeset 6 e0f767079796
parent 5 51a71243e562
child 17 a828660c511c
--- a/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp	Fri Mar 12 15:51:11 2010 +0200
+++ b/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/src/wlanbgscanstates.cpp	Mon Mar 15 12:46:48 2010 +0200
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 3 %
+* %version: 4 %
 */
 
 #include <e32base.h>
@@ -57,7 +57,8 @@
     iBgScanState( EBgScanStateMax ),
     iIntervalChangeRequestId( 0 ),
     iCompletedAwsCommand( MWlanBgScanAwsComms::EAwsCommandMax ),
-    iAwsCommandCompletionCode( KErrNone )
+    iAwsCommandCompletionCode( KErrNone ),
+    iWlanState( MWlanBgScanProvider::EWlanStateMax )
     {
     DEBUG( "CWlanBgScanStates::CWlanBgScanStates()" );
     }
@@ -836,11 +837,17 @@
     {
     TUint oldInterval = iUsedBgScanInterval;
     
-    DEBUG2( "CWlanBgScanStates::RefreshUsedInterval() - agg: %u, normal: %u",
-        iAggressiveBgScanInterval, iBgScanInterval );
+    DEBUG4( "CWlanBgScanStates::RefreshUsedInterval() - agg: %u, normal: %u, used: %u, wlan state: %u",
+        iAggressiveBgScanInterval, iBgScanInterval, iUsedBgScanInterval, iWlanState );
     
-    // Smaller of the two intervals will be taken into use
-    if( iAggressiveBgScanInterval < iBgScanInterval )
+    // If      ( WLAN state is connected )               -> use interval: KWlanNoScanning 
+    // Else If ( aggressive interval < normal interval ) -> use interval: aggressive interval
+    // Otherwise                                         -> use interval: background scan interval
+    if( iWlanState == MWlanBgScanProvider::EWlanStateConnected )
+        {
+        iUsedBgScanInterval = KWlanNoScanning;
+        }
+    else if( iAggressiveBgScanInterval < iBgScanInterval )
         {
         iUsedBgScanInterval = iAggressiveBgScanInterval;
         }
@@ -876,6 +883,8 @@
     // else
         // In case the new interval is bigger than the old one, it
         // is taken into use after the pending scan request completes.
+    DEBUG1( "CWlanBgScanStates::RefreshUsedInterval() - using interval: %u", iUsedBgScanInterval );
+    
     }