browserutilities/connectionmanager/Src/ConnManActiveConnector.cpp
changeset 27 6297cdf66332
parent 0 dd21522fd290
child 28 d39add9822e2
equal deleted inserted replaced
26:cb62a4f66ebe 27:6297cdf66332
    32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    32 CConnManActiveConnector::CConnManActiveConnector( RConnection& aConnection, 
    33                                                   TInt aPriority )
    33                                                   TInt aPriority )
    34     : CActive( aPriority )
    34     : CActive( aPriority )
    35     , iConnection( aConnection )
    35     , iConnection( aConnection )
    36 	{
    36 	{
       
    37     iWait = EFalse;
    37 	CLOG_CREATE;
    38 	CLOG_CREATE;
    38 	CActiveScheduler::Add( this );//inserting this into the queue
    39 	CActiveScheduler::Add( this );//inserting this into the queue
    39 	}
    40 	}
    40 
    41 
    41 //--------------------------------------------------------------------------
    42 //--------------------------------------------------------------------------
    42 //CConnManActiveConnector::~CConnManActiveConnector()
    43 //CConnManActiveConnector::~CConnManActiveConnector()
    43 //--------------------------------------------------------------------------
    44 //--------------------------------------------------------------------------
    44 CConnManActiveConnector::~CConnManActiveConnector()
    45 CConnManActiveConnector::~CConnManActiveConnector()
    45 	{
    46 	{
       
    47     iWait = EFalse;
    46 	Cancel();//The standard way of destroying an Active object
    48 	Cancel();//The standard way of destroying an Active object
    47 	CLOG_CLOSE;
    49 	CLOG_CLOSE;
    48 	}
    50 	}
    49 
    51 
    50 //--------------------------------------------------------------------------
    52 //--------------------------------------------------------------------------
    99 //CConnManActiveConnector::DoCancel()
   101 //CConnManActiveConnector::DoCancel()
   100 //--------------------------------------------------------------------------
   102 //--------------------------------------------------------------------------
   101 void CConnManActiveConnector::DoCancel()
   103 void CConnManActiveConnector::DoCancel()
   102 	{
   104 	{
   103 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   105 	CLOG_WRITE( "CConnManActiveConnector: DoCancel called");
   104 	iConnection.Close();
   106     if(iWait)
   105 	User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
   107         {
       
   108         iConnection.Close();
       
   109         User::RequestComplete( iExternalRequestStatus, KErrCancel );//completing user req
       
   110         }
   106 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   111 	CLOG_WRITE( "CConnManActiveConnector: DoCancel returned");
   107 	}
   112 	}
   108 
   113 
   109 //--------------------------------------------------------------------------
   114 //--------------------------------------------------------------------------
   110 //CConnManActiveConnector::RunL()
   115 //CConnManActiveConnector::RunL()
   111 //--------------------------------------------------------------------------
   116 //--------------------------------------------------------------------------
   112 void CConnManActiveConnector::RunL()
   117 void CConnManActiveConnector::RunL()
   113 	{
   118 	{
       
   119     iWait = ETrue;
   114     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   120     CLOG_WRITE_1( "CConnManAct::RunL(): %d", iStatus.Int() );
   115 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   121 	User::RequestComplete( iExternalRequestStatus, iStatus.Int() );
   116 	}
   122 	}
   117 
   123 
   118 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   124 //------------------------------------------------------ CActiveConnectorSyncWrapper -------------------------
   192 //--------------------------------------------------------------------------
   198 //--------------------------------------------------------------------------
   193 //CActiveConnectorSyncWrapper::DoCancel()
   199 //CActiveConnectorSyncWrapper::DoCancel()
   194 //--------------------------------------------------------------------------
   200 //--------------------------------------------------------------------------
   195 void CActiveConnectorSyncWrapper::DoCancel()
   201 void CActiveConnectorSyncWrapper::DoCancel()
   196 	{
   202 	{
   197     
   203     if(iActiveConnector->IsActive())
   198     iActiveConnector->Cancel();
   204         {
   199 	
   205         iActiveConnector->Cancel();
       
   206         }
   200 	if(iWait.IsStarted())
   207 	if(iWait.IsStarted())
   201 	  {
   208 	  {
   202 	   iWait.AsyncStop();	
   209 	   iWait.AsyncStop();	
   203 	  }
   210 	  }
   204 	
   211