mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp
branchRCL_3
changeset 23 4740b34b83ce
parent 19 51035f0751c2
child 28 f56ec6ce2732
--- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp	Wed Apr 14 16:28:17 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp	Tue Apr 27 17:09:22 2010 +0300
@@ -105,7 +105,7 @@
 //
 CMmMtpDpMetadataMpxAccess::~CMmMtpDpMetadataMpxAccess()
     {
-    if ( iCollectionHelper )
+    if ( iCollectionHelper != NULL )
         {
         iCollectionHelper->Close();
         iCollectionHelper = NULL;
@@ -118,6 +118,36 @@
     }
 
 // ---------------------------------------------------------------------------
+// CMmMtpDpMetadataMpxAccess::OpenSession
+// This is introduced to fix CollectionHelper Flush problem
+// ---------------------------------------------------------------------------
+//
+void CMmMtpDpMetadataMpxAccess::OpenSession()
+    {
+    // do nothing
+    }
+
+// ---------------------------------------------------------------------------
+// CMmMtpDpMetadataMpxAccess::CloseSession
+// This is introduced to fix CollectionHelper Flush problem
+// ---------------------------------------------------------------------------
+//
+void CMmMtpDpMetadataMpxAccess::CloseSession()
+    {
+    PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::CloseSession" ) );
+
+    // flush cache
+    if ( iCollectionHelper != NULL )
+        {
+        PRINT( _L( "MM MTP <> Delete & Close CollectionHelper" ) );
+        iCollectionHelper->Close();
+        iCollectionHelper = NULL;
+        }
+
+    PRINT( _L( "MM MTP <= CMmMtpDpMetadataMpxAccess::CloseSession" ) );
+    }
+
+// ---------------------------------------------------------------------------
 // CMmMtpDpMetadataMpxAccess::GetObjectMetadataValueL
 // Gets a piece of metadata from the collection
 // ---------------------------------------------------------------------------
@@ -644,6 +674,7 @@
     TParsePtrC parse( aFullFileName );
     media->SetTextValueL( KMPXMediaGeneralUri, aFullFileName );
     media->SetTextValueL( KMPXMediaGeneralDrive, parse.Drive() );
+    media->SetTObjectValueL( KMPXMediaGeneralModified, EFalse );
 
     PERFLOGSTART( KSetMetadataValue );
     SetMetadataValueL( aPropCode, aNewData, *media );
@@ -1018,10 +1049,7 @@
     CleanupClosePushL( abstractMediaAttributes ); // + abstractMediaAttributes
     abstractMediaAttributes.AppendL( KMPXMediaGeneralId );
     abstractMediaAttributes.AppendL( KMPXMediaGeneralTitle );
-    if ( aCategory == EMPXPlaylist )    // rollback until Rename is supported on MPX DB
-        {
-        abstractMediaAttributes.AppendL( KMPXMediaGeneralUri );
-        }
+    abstractMediaAttributes.AppendL( KMPXMediaGeneralUri );
 
     PERFLOGSTART( KMpxCollectionFindAllLBeforeAdd );
     CMPXMedia* foundMedia = CollectionHelperL()->FindAllL( *searchMedia,
@@ -1067,10 +1095,7 @@
 
         TParsePtrC parse( aFullFileName );
         media->SetTextValueL( KMPXMediaGeneralDrive, parse.Drive() );
-        if ( aCategory == EMPXPlaylist )    // rollback until Rename is supported on MPX DB
-            {
-            media->SetTextValueL( KMPXMediaGeneralTitle, parse.Name() );
-            }
+        media->SetTextValueL( KMPXMediaGeneralTitle, parse.Name() );
         media->SetTObjectValueL<TBool>( KMPXMediaGeneralSynchronized, ETrue );
         media->SetCObjectValueL( KMPXMediaArrayContents, abstractMediaArray );
         media->SetTObjectValueL( KMPXMediaArrayCount, abstractMediaArray->Count() );
@@ -1132,7 +1157,8 @@
         // TODO: need to confirm that should set drive letter or storage root path.
         TParsePtrC parse( aRefFileArray[j] );
         media->SetTextValueL( KMPXMediaGeneralDrive, parse.Drive() );
-
+        media->SetTObjectValueL( KMPXMediaGeneralModified, EFalse );
+  
         // Add media into array contents
         abstractMediaArray->AppendL( media );
 
@@ -1313,10 +1339,8 @@
     CleanupClosePushL( abstractMediaAttributes ); // + abstractMediaAttributes
     abstractMediaAttributes.AppendL( KMPXMediaGeneralId );
     abstractMediaAttributes.AppendL( KMPXMediaGeneralTitle );
-    if ( aCategory == EMPXPlaylist )    // rollback until Rename is supported on MPX DB
-        {
-        abstractMediaAttributes.AppendL( KMPXMediaGeneralUri );
-        }
+
+    abstractMediaAttributes.AppendL( KMPXMediaGeneralUri );
 
     PERFLOGSTART( KMpxCollectionGetAbstractMedia );
     CMPXMedia* foundMedia = CollectionHelperL()->FindAllL( *searchMedia,
@@ -1447,7 +1471,7 @@
     {
     PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAbstractMediaNameL" ) );
     HBufC* name = NULL;
-    if ( aCategory == EMPXPlaylist )    // rollback until Rename is supported on MPX DB
+    if ( aCategory == EMPXPlaylist || aCategory == EMPXAbstractAlbum )
         {
         if( !aAbstractMedia->IsSupported( KMPXMediaGeneralUri ) )
             {
@@ -1455,14 +1479,6 @@
             }
         name = aAbstractMedia->ValueText( KMPXMediaGeneralUri ).AllocL();
         }
-    else if ( aCategory == EMPXAbstractAlbum )
-        {
-        if ( !aAbstractMedia->IsSupported( KMPXMediaGeneralTitle ) )
-            {
-            User::Leave( KErrNotSupported );
-            }
-        name = aAbstractMedia->ValueText( KMPXMediaGeneralTitle ).AllocL();
-        }
     else
         {
         User::Leave( KErrNotSupported );