nettools/conntest/Engine/SocketsEngine.cpp
branchRCL_3
changeset 16 12a3e9fe500f
parent 14 c6b52d057a05
child 17 3ba072830a8a
equal deleted inserted replaced
15:5296bfa7b0a7 16:12a3e9fe500f
   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