nettools/conntest/Engine/SocketsEngine.cpp
branchRCL_3
changeset 14 c6b52d057a05
parent 8 86091f1c2f4d
child 16 12a3e9fe500f
equal deleted inserted replaced
9:a17829cb5e59 14:c6b52d057a05
   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();
   548         }
   592         }
   549     
   593     
   550     iConsole.PrintNotify( text );
   594     iConsole.PrintNotify( text );
   551     }
   595     }
   552 
   596