diff -r 6c59112cfd31 -r 38bf5461e270 emailservices/emailstore/base_plugin/src/basepluginmisc.cpp --- a/emailservices/emailstore/base_plugin/src/basepluginmisc.cpp Thu Sep 30 11:43:07 2010 +0300 +++ b/emailservices/emailstore/base_plugin/src/basepluginmisc.cpp Thu Oct 14 17:33:43 2010 +0300 @@ -289,24 +289,39 @@ /** - * Concrete plugins need to call the base plugin's implementation. + * Cancels pending requests. Concrete plugins need to call the base plugin's + * implementation. + * From CFSMailPlugin. + * * @param aRequestId */ -void CBasePlugin::CancelL( TInt aRequestId ) +void CBasePlugin::CancelL( const TInt aRequestId ) +{ + CancelL( aRequestId, KErrNone ); +} + + +/** + * Cancels pending requests. + * + * @param aRequestId + * @param aError An error code defining the reason why operation was cancelled. + */ +void CBasePlugin::CancelL( const TInt aRequestId, const TInt aError ) + { //find the fetch request and notify the observer. TInt count = iReqs.Count(); + for ( TInt i = 0; i < count; i++ ) { if ( iReqs[i]->iRequestId == aRequestId ) { CFetchRequester* request = iReqs[i]; -// TFSProgress progress = TFSProgress(); -// progress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled; progress.iCounter = progress.iMaxCount = 1; - progress.iError = KErrNone; + progress.iError = aError; request->iObserver.RequestResponseL( progress, aRequestId ); iReqs.Remove( i ); @@ -314,8 +329,9 @@ break; } } -// + count = iDelayedOpReqs.Count(); + for ( TInt i = 0; i < count; i++ ) { if ( iDelayedOpReqs[i]->iRequestId == aRequestId ) @@ -332,7 +348,6 @@ break; } } -// }