equal
deleted
inserted
replaced
19 #include <es_enum_partner.h> |
19 #include <es_enum_partner.h> |
20 #endif |
20 #endif |
21 #include <e32base.h> |
21 #include <e32base.h> |
22 #include <rmmcustomapi.h> |
22 #include <rmmcustomapi.h> |
23 #include <featmgr.h> |
23 #include <featmgr.h> |
|
24 #include <gsmerror.h> // KErrPacketDataTsyMaxPdpContextsReached |
|
25 #include <etelpckt.h> // KErrUmtsMaxNumOfContextExceededByNetwork |
24 |
26 |
25 #include "ConnMonServ.h" |
27 #include "ConnMonServ.h" |
26 #include "ConnMonSess.h" |
28 #include "ConnMonSess.h" |
27 #include "CEventQueue.h" |
29 #include "CEventQueue.h" |
28 #include "ConnMonIAP.h" |
30 #include "ConnMonIAP.h" |
560 { |
562 { |
561 LOGIT2("SERVER: connection status event FAILED <%d>, id %d", iStatus.Int(), iConnectionId) |
563 LOGIT2("SERVER: connection status event FAILED <%d>, id %d", iStatus.Int(), iConnectionId) |
562 } |
564 } |
563 else |
565 else |
564 { |
566 { |
565 iEventInfo.Reset(); |
|
566 |
|
567 if ( iInfoBuf().iStage != static_cast< TInt >( iEventInfo.iData ) ) |
567 if ( iInfoBuf().iStage != static_cast< TInt >( iEventInfo.iData ) ) |
568 { |
568 { |
|
569 iEventInfo.Reset(); |
|
570 |
569 // Send only new stage info to clients |
571 // Send only new stage info to clients |
570 iEventInfo.iEventType = EConnMonConnectionStatusChange; |
572 iEventInfo.iEventType = EConnMonConnectionStatusChange; |
571 iEventInfo.iConnectionId = iConnectionId; |
573 iEventInfo.iConnectionId = iConnectionId; |
572 iEventInfo.iSubConnectionId = iSubConnectionId; |
574 iEventInfo.iSubConnectionId = iSubConnectionId; |
573 iEventInfo.iData = iInfoBuf().iStage; |
575 iEventInfo.iData = iInfoBuf().iStage; |
638 { |
640 { |
639 LOGIT("SERVER: This is old info. Packet was filtered out.") |
641 LOGIT("SERVER: This is old info. Packet was filtered out.") |
640 } |
642 } |
641 } |
643 } |
642 |
644 |
643 if ( iInfoBuf().iError == KErrNone ) |
645 if ( iInfoBuf().iError == KErrNone || |
644 { |
646 iInfoBuf().iError == KErrGprsInsufficientResources || // -4154 |
645 // New request |
647 iInfoBuf().iError == KErrPacketDataTsyMaxPdpContextsReached || // -6000 |
|
648 iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByNetwork || // -4179 |
|
649 iInfoBuf().iError == KErrUmtsMaxNumOfContextExceededByPhone ) // -4178 |
|
650 { |
|
651 // New request, DisconnectDlg might be shown for the error codes above. |
646 Receive(); |
652 Receive(); |
647 } |
653 } |
648 else |
654 else |
649 { |
655 { |
|
656 LOGIT1("CProgressNotifier::RunL() - connection closing - iInfoBuf().iError: %d", iInfoBuf().iError) |
650 // Connection is closing. |
657 // Connection is closing. |
651 CSubConnUpDownNotifier* subConnUpDownNotifier = 0; |
658 CSubConnUpDownNotifier* subConnUpDownNotifier = 0; |
652 TInt err = iServer->Iap()->GetSubConnUpDownNotifier( |
659 TInt err = iServer->Iap()->GetSubConnUpDownNotifier( |
653 iConnectionId, |
660 iConnectionId, |
654 &subConnUpDownNotifier ); |
661 &subConnUpDownNotifier ); |