diff -r d240f0a77280 -r 780c925249c1 mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Mon Mar 15 12:42:31 2010 +0200 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Wed Mar 31 22:26:09 2010 +0300 @@ -17,10 +17,8 @@ #include -#include #include #include -#include #include #include #include @@ -296,7 +294,7 @@ // Move the file first no matter if it will fail in Get/SetPreviousPropertiesL // Already trapped inside GetPreviousPropertiesL( *iObjectInfo ); - TRAPD( err, SetPropertiesL( oldFileName, aNewFileName ) ); + TRAPD( err, SetPropertiesL( aNewFileName ) ); CFileMan* fileMan = CFileMan::NewL( iFramework.Fs() ); err = fileMan->Move( oldFileName, aNewFileName ); @@ -360,31 +358,28 @@ case EMTPObjectPropCodeName: case EMTPObjectPropCodeDateAdded: - if ( ( propCode == EMTPObjectPropCodeName ) - || ( !MmMtpDpUtility::IsVideoL( aObject.DesC( CMTPObjectMetaData::ESuid ), iFramework ) - && ( propCode == EMTPObjectPropCodeDateAdded ) ) ) - { - CMTPTypeString* textData = CMTPTypeString::NewLC(); // + textData + case EMTPObjectPropCodeAlbumArtist: + { + CMTPTypeString* textData = CMTPTypeString::NewLC(); // + textData - TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( propCode, - *textData, - aObject ) ); - - PRINT1( _L( "MM MTP <> CMoveObject::GetPreviousPropertiesL err = %d" ), err ); + TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( propCode, + *textData, + aObject ) ); + PRINT1( _L( "MM MTP <> CMoveObject::GetPreviousPropertiesL err = %d" ), err ); - if ( err == KErrNone ) - { - iPropertyElement = &( iPropertyList->ReservePropElemL( handle, propCode ) ); - iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, - textData->StringChars() ); - } - else - { - iPropertyElement = NULL; - } + if ( err == KErrNone ) + { + iPropertyElement = &( iPropertyList->ReservePropElemL( handle, propCode ) ); + iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, + textData->StringChars() ); + } + else + { + iPropertyElement = NULL; + } - CleanupStack::PopAndDestroy( textData ); // - textData - } + CleanupStack::PopAndDestroy( textData ); // - textData + } break; default: @@ -450,6 +445,7 @@ break; case EMTPObjectPropCodeName: + case EMTPObjectPropCodeAlbumArtist: { CMTPTypeString *stringData = CMTPTypeString::NewLC( element.StringL( CMTPTypeObjectPropListElement::EValue ) ); // + stringData @@ -474,7 +470,7 @@ } // end of for loop // ignore errors - if (respcode == EMTPRespCodeOK) + if ( respcode == EMTPRespCodeOK ) { // do nothing, just to get rid of build warning } @@ -487,17 +483,9 @@ // Set the object properties in the object property store. // ----------------------------------------------------------------------------- // -void CMoveObject::SetPropertiesL( const TDesC& aOldFileName, - const TDesC& aNewFileName ) +void CMoveObject::SetPropertiesL( const TDesC& aNewFileName ) { - PRINT2( _L( "MM MTP => CMoveObject::SetPropertiesL aOldFileName = %S, aNewFileName = %S" ), - &aOldFileName, - &aNewFileName ); - - iObjectInfo->SetDesCL( CMTPObjectMetaData::ESuid, aNewFileName ); - iObjectInfo->SetUint( CMTPObjectMetaData::EStorageId, iStorageId ); - iObjectInfo->SetUint( CMTPObjectMetaData::EParentHandle, iNewParentHandle ); - iFramework.ObjectMgr().ModifyObjectL( *iObjectInfo ); + PRINT1( _L( "MM MTP => CMoveObject::SetPropertiesL, aNewFileName = %S" ), &aNewFileName ); TUint32 formatCode = iObjectInfo->Uint( CMTPObjectMetaData::EFormatCode ); if ( formatCode == EMTPFormatCodeAbstractAudioVideoPlaylist ) @@ -511,16 +499,12 @@ { if ( iSameStorage ) { - iDpConfig.GetWrapperL().RenameObjectL( aOldFileName, aNewFileName ); + iDpConfig.GetWrapperL().RenameObjectL( *iObjectInfo, aNewFileName ); } else // if the two object in different storage, we should delete the old one and insert new one { - iDpConfig.GetWrapperL().DeleteObjectL( aOldFileName, formatCode ); - - TUint32 subFormatCode = iObjectInfo->Uint( CMTPObjectMetaData::EFormatSubCode ); - iDpConfig.GetWrapperL().AddObjectL( aNewFileName, - formatCode, - subFormatCode ); + iDpConfig.GetWrapperL().DeleteObjectL( *iObjectInfo ); + iDpConfig.GetWrapperL().AddObjectL( *iObjectInfo ); // Only leave when getting proplist element from data received by fw. // It should not happen after ReceiveDataL in which construction of proplist already succeed. @@ -528,6 +512,11 @@ } } + iObjectInfo->SetDesCL( CMTPObjectMetaData::ESuid, aNewFileName ); + iObjectInfo->SetUint( CMTPObjectMetaData::EStorageId, iStorageId ); + iObjectInfo->SetUint( CMTPObjectMetaData::EParentHandle, iNewParentHandle ); + iFramework.ObjectMgr().ModifyObjectL( *iObjectInfo ); + // It's not necessary to change references of playlists since Reference DB is used PUID PRINT( _L( "MM MTP <= CMoveObject::SetPropertiesL" ) );