287 return result; |
287 return result; |
288 } |
288 } |
289 |
289 |
290 |
290 |
291 /** |
291 /** |
292 * Concrete plugins need to call the base plugin's implementation. |
292 * Cancels pending requests. Concrete plugins need to call the base plugin's |
|
293 * implementation. |
|
294 * From CFSMailPlugin. |
|
295 * |
293 * @param aRequestId |
296 * @param aRequestId |
294 */ |
297 */ |
295 void CBasePlugin::CancelL( TInt aRequestId ) |
298 void CBasePlugin::CancelL( const TInt aRequestId ) |
|
299 { |
|
300 CancelL( aRequestId, KErrNone ); |
|
301 } |
|
302 |
|
303 |
|
304 /** |
|
305 * Cancels pending requests. |
|
306 * |
|
307 * @param aRequestId |
|
308 * @param aError An error code defining the reason why operation was cancelled. |
|
309 */ |
|
310 void CBasePlugin::CancelL( const TInt aRequestId, const TInt aError ) |
|
311 |
296 { |
312 { |
297 //find the fetch request and notify the observer. |
313 //find the fetch request and notify the observer. |
298 TInt count = iReqs.Count(); |
314 TInt count = iReqs.Count(); |
|
315 |
299 for ( TInt i = 0; i < count; i++ ) |
316 for ( TInt i = 0; i < count; i++ ) |
300 { |
317 { |
301 if ( iReqs[i]->iRequestId == aRequestId ) |
318 if ( iReqs[i]->iRequestId == aRequestId ) |
302 { |
319 { |
303 CFetchRequester* request = iReqs[i]; |
320 CFetchRequester* request = iReqs[i]; |
304 //<qmail> |
|
305 TFSProgress progress = TFSProgress(); |
321 TFSProgress progress = TFSProgress(); |
306 //</qmail> |
|
307 progress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
322 progress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; |
308 progress.iCounter = progress.iMaxCount = 1; |
323 progress.iCounter = progress.iMaxCount = 1; |
309 progress.iError = KErrNone; |
324 progress.iError = aError; |
310 request->iObserver.RequestResponseL( progress, aRequestId ); |
325 request->iObserver.RequestResponseL( progress, aRequestId ); |
311 |
326 |
312 iReqs.Remove( i ); |
327 iReqs.Remove( i ); |
313 delete request; |
328 delete request; |
314 break; |
329 break; |
315 } |
330 } |
316 } |
331 } |
317 //<qmail> |
332 |
318 count = iDelayedOpReqs.Count(); |
333 count = iDelayedOpReqs.Count(); |
|
334 |
319 for ( TInt i = 0; i < count; i++ ) |
335 for ( TInt i = 0; i < count; i++ ) |
320 { |
336 { |
321 if ( iDelayedOpReqs[i]->iRequestId == aRequestId ) |
337 if ( iDelayedOpReqs[i]->iRequestId == aRequestId ) |
322 { |
338 { |
323 CDelayedOp* request = iDelayedOpReqs[i]; |
339 CDelayedOp* request = iDelayedOpReqs[i]; |