--- 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 );