diff -r d881023c13eb -r cbb1bfb7ebfb mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp Mon May 03 12:58:40 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp Fri May 14 16:21:14 2010 +0300 @@ -179,9 +179,11 @@ break; case EMTPStorageAdded: + PRINT( _L( "MM MTP <> CMediaMtpDataProvider::ProcessNotificationL EMTPStorageAdded event recvd" ) ); break; case EMTPStorageRemoved: + PRINT( _L( "MM MTP <> CMediaMtpDataProvider::ProcessNotificationL EMTPStorageRemoved event recvd" ) ); break; case EMTPRenameObject: @@ -189,6 +191,11 @@ RenameObjectL( *reinterpret_cast ( aParams ) ); break; + case EMTPObjectAdded: + PRINT( _L( "MM MTP <> CMediaMtpDataProvider::ProcessNotificationL EMTPObjectAdded event recvd" ) ); + ObjectAddedL(*reinterpret_cast(aParams)); + break; + default: PRINT( _L( "MM MTP <> CMediaMtpDataProvider::ProcessNotificationL default" ) ); // Ignore all other notifications. @@ -271,6 +278,8 @@ // introduce to cleanup DBs at each close session iMediaEnumerator->SessionClosedL(); + CMmMtpDpAccessSingleton::CloseSessionL(); + PRINT( _L( "MM MTP <= CMediaMtpDataProvider::SessionClosedL" ) ); } @@ -305,6 +314,27 @@ } // ----------------------------------------------------------------------------- +// CMediaMtpDataProvider::ObjectAddedL +// Process the added object +// ----------------------------------------------------------------------------- +// +void CMediaMtpDataProvider::ObjectAddedL( TUint32 aObjectHandle ) + { + PRINT1( _L( "MM MTP => CMediaMtpDataProvider::ObjectAddedL aHandle=0x%x" ), aObjectHandle ); + + CMTPObjectMetaData* object(CMTPObjectMetaData::NewLC()); + Framework().ObjectMgr().ObjectL( aObjectHandle, *object ); + + //Since the object's processor is not route to media dp, its format code should be reset + TUint formatCode = MmMtpDpUtility::FormatFromFilename( object->DesC( CMTPObjectMetaData::ESuid ) ); + object->SetUint( CMTPObjectMetaData::EFormatCode, formatCode ); + GetWrapperL().AddObjectL( *object ); + PRINT2( _L( "MM MTP => CMediaMtpDataProvider::ObjectAddedL formatCode=0x%x Suid=%S" ), formatCode, &(object->DesC( CMTPObjectMetaData::ESuid ) ) ); + CleanupStack::PopAndDestroy( object ); + PRINT( _L( "MM MTP <= CMediaMtpDataProvider::ObjectAddedL" ) ); + } + +// ----------------------------------------------------------------------------- // CMediaMtpDataProvider::StartObjectEnumerationL // Start object enumeration // ----------------------------------------------------------------------------- @@ -435,9 +465,7 @@ #endif //ODF container aStrings.AppendL(KFormatExtensionODFAudio3GPP); - aStrings.AppendL(KFormatExtensionODFAudioMP4); aStrings.AppendL(KFormatExtensionODFVideo3GPP); - aStrings.AppendL(KFormatExtensionODFVideoMP4); aStrings.AppendL(KFormatExtensionO4A); aStrings.AppendL(KFormatExtensionO4V);