543 |
543 |
544 TRAPD( err2, iHttpClient->SetHttpConnectionInfoL( ETrue, iConnection, iSocketServ ) ); |
544 TRAPD( err2, iHttpClient->SetHttpConnectionInfoL( ETrue, iConnection, iSocketServ ) ); |
545 if ( err2 != KErrNone ) |
545 if ( err2 != KErrNone ) |
546 { |
546 { |
547 User::Panic( KPanicConnTest, EConnTestHttpClientInitializationFailed ); |
547 User::Panic( KPanicConnTest, EConnTestHttpClientInitializationFailed ); |
548 } |
|
549 |
|
550 /* |
|
551 * In case roaming, socket needs to be restarted in following cases. |
|
552 */ |
|
553 |
|
554 if ( iEngineStatus == EConnecting || |
|
555 iEngineStatus == ELookingUp ) |
|
556 { |
|
557 // Cancel and then re-connect |
|
558 DoCancel(); |
|
559 ConnectL(); |
|
560 } |
|
561 else if ( iEngineStatus == EConnected ) |
|
562 { |
|
563 // Cancel write socket |
|
564 iSocketsWrite->Cancel(); |
|
565 |
|
566 // Cancel read socket |
|
567 TBool isSocketActive( EFalse ); |
|
568 if ( iSocketsRead->IsActive() ) |
|
569 { |
|
570 iSocketsRead->Cancel(); |
|
571 isSocketActive = ETrue; |
|
572 } |
|
573 |
|
574 // Re-connect |
|
575 ChangeStatus( EInterfaceUp ); |
|
576 ConnectL(); |
|
577 |
|
578 // Start read socket again |
|
579 if ( isSocketActive ) |
|
580 { |
|
581 Read(); |
|
582 } |
|
583 } |
|
584 else if ( iEngineStatus == EListening ) |
|
585 { |
|
586 DoCancel(); |
|
587 ListenL(); |
|
588 } |
|
589 else if ( iEngineStatus == EDisconnecting ) |
|
590 { |
|
591 DoCancel(); |
|
592 } |
548 } |
593 |
549 |
594 iConsole.PrintNotify( text ); |
550 iConsole.PrintNotify( text ); |
595 } |
551 } |
596 |
552 |