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 |