640 { |
640 { |
641 LOGIT("SERVER: This is old info. Packet was filtered out.") |
641 LOGIT("SERVER: This is old info. Packet was filtered out.") |
642 } |
642 } |
643 } |
643 } |
644 |
644 |
645 if ( iInfoBuf().iError == KErrNone || |
645 // New request |
646 iInfoBuf().iError == KErrGprsInsufficientResources || // -4154 |
646 Receive(); |
647 iInfoBuf().iError == KErrPacketDataTsyMaxPdpContextsReached || // -6000 |
647 |
648 iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByNetwork || // -4179 |
648 if ( iInfoBuf().iError == KErrDisconnected ) |
649 iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByPhone ) // -4178 |
649 { |
650 { |
650 // Enable WLAN scan when IAP availability is check for the |
651 // New request, DisconnectDlg might be shown for the error codes above. |
651 // next time because current bearer has been lost (-36). |
652 Receive(); |
652 // MPM needs a fresh list of available iaps. |
653 } |
653 iServer->Iap()->EnableWlanScan(); |
654 else |
|
655 { |
|
656 LOGIT1("CProgressNotifier::RunL() - connection closing - iInfoBuf().iError: %d", iInfoBuf().iError) |
|
657 // Connection is closing. |
|
658 CSubConnUpDownNotifier* subConnUpDownNotifier = 0; |
|
659 TInt err = iServer->Iap()->GetSubConnUpDownNotifier( |
|
660 iConnectionId, |
|
661 &subConnUpDownNotifier ); |
|
662 |
|
663 if ( KErrNone == err ) |
|
664 { |
|
665 // Subconn down notifier has stopped and allinterface closed event has arrived |
|
666 if ( !subConnUpDownNotifier->IsActive() ) |
|
667 { |
|
668 subConnUpDownNotifier->SendDeletedEvent(); |
|
669 } |
|
670 } |
|
671 |
|
672 if ( iInfoBuf().iError == KErrDisconnected ) |
|
673 { |
|
674 // Enable WLAN scan when IAP availability is check for the |
|
675 // next time because current bearer has been lost (-36). |
|
676 // MPM needs a fresh list of available iaps. |
|
677 iServer->Iap()->EnableWlanScan(); |
|
678 } |
|
679 } |
654 } |
680 } |
655 } |
681 //LOGEXITFN("CProgressNotifier::RunL()") |
656 //LOGEXITFN("CProgressNotifier::RunL()") |
682 } |
657 } |
683 |
658 |