equal
deleted
inserted
replaced
304 // If the previous class is the same as the new one |
304 // If the previous class is the same as the new one |
305 // - do nothing. |
305 // - do nothing. |
306 |
306 |
307 if ( iPreviousWlanClass == iWlanClass ) |
307 if ( iPreviousWlanClass == iWlanClass ) |
308 { |
308 { |
309 RUBY_DEBUG0( "No change in WLAN signal class -> return" ); |
309 if (iWlanClass == ESignalClassWeak) |
310 |
310 { |
311 return; |
311 RUBY_DEBUG0( "Signal is still weak try again to do HO" ); |
312 } |
312 } |
|
313 else |
|
314 { |
|
315 RUBY_DEBUG0( "No change in WLAN signal class -> return" ); |
|
316 return; |
|
317 } |
|
318 } |
313 else |
319 else |
314 { |
320 { |
315 iPreviousWlanClass = iWlanClass; |
321 iPreviousWlanClass = iWlanClass; |
316 } |
322 } |
317 |
323 |
358 RUBY_DEBUG0( "0 = GOOD, 1 = WEAK, 2 = UNDEFINED" ); |
364 RUBY_DEBUG0( "0 = GOOD, 1 = WEAK, 2 = UNDEFINED" ); |
359 |
365 |
360 // If the previous class is the same as the new one |
366 // If the previous class is the same as the new one |
361 // - do nothing. |
367 // - do nothing. |
362 |
368 |
363 if ( iPreviousGsmClass == iGsmClass ) |
369 if ( iPreviousGsmClass == iGsmClass && iWlanClass != ESignalClassWeak ) |
364 { |
370 { |
365 RUBY_DEBUG0( "No change in GSM signal class -> return" ); |
371 RUBY_DEBUG0( "No change in GSM signal class -> return" ); |
366 |
372 |
367 return; |
373 return; |
368 } |
374 } |
568 return; |
574 return; |
569 } |
575 } |
570 RUBY_DEBUG0( "VccHoTrigger::TriggerHo - no immediate HO" ); |
576 RUBY_DEBUG0( "VccHoTrigger::TriggerHo - no immediate HO" ); |
571 } |
577 } |
572 |
578 |
573 if ( iWlanClass == ESignalClassWeak && |
579 if ( ( iWlanClass == ESignalClassWeak || iCchServiceStatus == EServiceUnavailable )&& |
574 iGsmClass == ESignalClassNormal && |
580 iGsmClass == ESignalClassNormal && |
575 ( iPolicy.AllowedDirection() & EPsToCsAllowed )) |
581 ( iPolicy.AllowedDirection() & EPsToCsAllowed )) |
576 { |
582 { |
577 RUBY_DEBUG0( "VccHoTrigger::WlanSignalChanged - NotifySubscriberL" ); |
583 RUBY_DEBUG0( "VccHoTrigger::WlanSignalChanged - NotifySubscriberL" ); |
578 |
584 |
579 // First empty the key, so that director |
585 // First empty the key, so that director |
655 ret = ETrue; |
661 ret = ETrue; |
656 } |
662 } |
657 } |
663 } |
658 |
664 |
659 else if ( (iPolicy.PreferredDomain() == EPsPreferred) && |
665 else if ( (iPolicy.PreferredDomain() == EPsPreferred) && |
660 iWlanClass == ESignalClassNormal && |
666 iWlanClass == ESignalClassNormal && iCchServiceStatus != EServiceUnavailable && |
661 ( iPolicy.AllowedDirection() & ECsToPsAllowed ) ) |
667 ( iPolicy.AllowedDirection() & ECsToPsAllowed ) ) |
662 { |
668 { |
663 // Current call is CS, PS signal is ok, preferred domain is PS and |
669 // Current call is CS, PS signal is ok, preferred domain is PS and |
664 // immediate HO is requested -> HANDOVER to PS |
670 // immediate HO is requested -> HANDOVER to PS |
665 |
671 |