bearermanagement/mpm/src/mpmserver.cpp
branchRCL_3
changeset 65 14754bf06654
parent 62 bb1f80fb7db2
child 69 cf1b3ddbe9a1
--- a/bearermanagement/mpm/src/mpmserver.cpp	Tue Sep 14 22:06:05 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Wed Sep 15 12:38:40 2010 +0300
@@ -798,7 +798,9 @@
         if ( iActiveBMConns[i].iConnInfo.iState == EStarting ||
              iActiveBMConns[i].iConnInfo.iState == EStarted )
             {
-            if ( aCdbAccess->CheckWlanL( iActiveBMConns[i].iConnInfo.iIapId ) != ENotWlanIap )
+            TWlanIapType iapType( ENotWlanIap );             	
+            TRAPD ( leave, iapType = aCdbAccess->CheckWlanL( iActiveBMConns[i].iConnInfo.iIapId ) )             	
+            if ( ( leave == KErrNone ) && ( iapType != ENotWlanIap ) )
                 {
                 stopLoop = ETrue;
                 iapId = iActiveBMConns[i].iConnInfo.iIapId;
@@ -1961,11 +1963,21 @@
         {
         // cancel the periodic object        
         self->iRoamingToWlanPeriodic->Cancel();
-        self->StartForcedRoamingToWlanL( self->iConnMonIapInfo );
+        TRAPD( error, self->StartForcedRoamingToWlanL( self->iConnMonIapInfo ) )
+        if ( error )
+            {        	
+            MPMLOGSTRING2("CMPMServer::StartForcedRoamingToConnectedWlan error1 = %d, ", error )
+            return 0;
+            }
+            
         // Added also execution of policy based roaming logic because
         // connections that are in EStarting state, when WLAN signal
         // gets weak, would remain in WLAN as long as signal is weak. 
-        self->StartForcedRoamingFromWlanL( self->iConnMonIapInfo );
+        TRAP( error, self->StartForcedRoamingFromWlanL( self->iConnMonIapInfo ) )
+        if ( error )
+            {        	
+            MPMLOGSTRING2("CMPMServer::StartForcedRoamingToConnectedWlan error2 = %d, ", error )
+            }
         }
     return 0;
     }
@@ -1982,11 +1994,21 @@
         {        
         // cancel the periodic object
         self->iRoamingToHotspotWlanPeriodic->Cancel();
-        self->StartForcedRoamingToWlanL( self->iConnMonIapInfo );
+        TRAPD( error, self->StartForcedRoamingToWlanL( self->iConnMonIapInfo ) )
+        if ( error )
+            {        	
+            MPMLOGSTRING2("StartForcedRoamingToConnectedHotspotWlanL error1 = %d, ", error )
+            return 0;
+            }
+            
         // Added also execution of policy based roaming logic because
         // connections that are in EStarting state, when WLAN signal
         // gets weak, would remain in WLAN as long as signal is weak. 
-        self->StartForcedRoamingFromWlanL( self->iConnMonIapInfo );
+        TRAP( error, self->StartForcedRoamingFromWlanL( self->iConnMonIapInfo ) )
+        if ( error )
+            {        	
+            MPMLOGSTRING2("StartForcedRoamingToConnectedHotspotWlanL error2 = %d, ", error )
+            }
         }
     return 0;
     }
@@ -2027,8 +2049,9 @@
     // to a wlan not anymore listed in available iaps and not using mobility api
     for ( TInt index = 0; index < iActiveBMConns.Count(); index++ )
         {
-        if ( iCommsDatAccess->CheckWlanL( iActiveBMConns[index].iConnInfo.iIapId )
-            == EWlanIap )
+        TWlanIapType iapType( ENotWlanIap );
+        TRAPD( leave, iapType = iCommsDatAccess->CheckWlanL( iActiveBMConns[index].iConnInfo.iIapId ) )        	
+        if ( ( leave == KErrNone ) && ( iapType == EWlanIap ) )
             {
             // Check if used WLAN is still available
             TBool currentWlanIapAvailable = EFalse;