mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp
branchRCL_3
changeset 23 4740b34b83ce
parent 17 780c925249c1
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp	Wed Apr 14 16:28:17 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovider.cpp	Tue Apr 27 17:09:22 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<const TMTPNotificationParamsHandle*> ( aParams ) );
             break;
 
+        case EMTPObjectAdded:
+            PRINT( _L( "MM MTP <> CMediaMtpDataProvider::ProcessNotificationL EMTPObjectAdded event recvd" ) );
+            ObjectAddedL(*reinterpret_cast<const TUint32*>(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);