diff -r f8e15b44d440 -r 4843bb5893b6 mtpfws/mtpfw/src/cmtpdataprovider.cpp --- a/mtpfws/mtpfw/src/cmtpdataprovider.cpp Fri Feb 19 23:40:44 2010 +0200 +++ b/mtpfws/mtpfw/src/cmtpdataprovider.cpp Fri Mar 12 15:46:41 2010 +0200 @@ -481,6 +481,28 @@ return iSingletons.DataCodeGenerator(); } +void CMTPDataProvider::NotifyFrameworkL( TMTPNotificationToFramework aNotification, const TAny* aParams ) + { + __FLOG(_L8("NotifyFrameworkL - Entry")); + + __ASSERT_DEBUG( aParams, User::Invariant()); + + switch ( aNotification ) + { + case EMTPAddFolder: + { + TUint deviceDpId = iSingletons.DpController().DeviceDpId(); + iSingletons.DpController().NotifyDataProvidersL( deviceDpId, EMTPObjectAdded, aParams ); + } + break; + default: + __FLOG(_L8("Ignore other notification")); + break; + } + + __FLOG(_L8("NotifyFrameworkL - Exit")); + } + void CMTPDataProvider::DoCancel() { __FLOG_VA((_L8("DoCancel - Entry, data provider %d "), iId)); @@ -529,6 +551,18 @@ { iImplementation->Cancel(); } + else if (status == KErrAbort) + { + if (iCurrentRequest != NULL) + { + TMTPTypeEvent event; + event.SetUint16(TMTPTypeEvent::EEventCode, EMTPEventCodeCancelTransaction); + event.SetUint32(TMTPTypeEvent::EEventSessionID, iCurrentRequest->Uint32(TMTPTypeRequest::ERequestSessionID) ); + event.SetUint32(TMTPTypeEvent::EEventTransactionID, iCurrentRequest->Uint32(TMTPTypeRequest::ERequestTransactionID) ); + + iImplementation->ProcessEventL(event ,*iCurrentConnection); + } + } if (iErrorRecovery != KErrNone) @@ -603,12 +637,15 @@ iTimer.After(iStatus, TTimeIntervalMicroSeconds32(KWaitForEnumeration)); SetActive(); iTimerActive = ETrue; - break; - case ECompletingPhase: - TransactionCompleteL(*iCurrentRequest, *iCurrentConnection); - break; - default: - break; + break; + case EResponsePhase: + iImplementation->ProcessRequestPhaseL(iCurrentTransactionPhase, *iCurrentRequest, *iCurrentConnection); + break; + case ECompletingPhase: + TransactionCompleteL(*iCurrentRequest, *iCurrentConnection); + break; + default: + break; } } }