--- a/mmappcomponents/collectionhelper/inc/mpxcollectionhelperimp.h Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/collectionhelper/inc/mpxcollectionhelperimp.h Thu Aug 19 10:24:28 2010 +0300
@@ -19,6 +19,9 @@
#ifndef CMPXCOLLECTIONHELPERIMP_H
#define CMPXCOLLECTIONHELPERIMP_H
+#include <thumbnailmanager.h>
+#include <thumbnailmanagerobserver.h>
+
#include "mpxcollectionhelper.h"
#include "mpxharvesterutilityobserver.h"
#include "mpxmediatorobserver.h"
@@ -41,7 +44,8 @@
NONSHARABLE_CLASS( CMPXCollectionHelperImp ): public CBase,
public MMPXCollectionHelper,
public MMPXHarvesterUtilityObserver,
- public MMPXMediatorObserver
+ public MMPXMediatorObserver,
+ public MThumbnailManagerObserver
{
public:
@@ -695,6 +699,18 @@
*/
void HandleFileGetMediaCompletedL( CMPXMedia* aMedia, TInt aErr );
+public:
+ /**
+ * From MThumbnailManagerObserver
+ */
+ void ThumbnailPreviewReady( MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
+ /**
+ * From MThumbnailManagerObserver
+ */
+ void ThumbnailReady( TInt aError,
+ MThumbnailData& aThumbnail,
+ TThumbnailRequestId aId );
private:
/**
@@ -702,6 +718,13 @@
* @param aMedia media item to add to the collection
*/
void DoAddToCollectionL( CMPXMedia* aMedia );
+
+ /**
+ * Rename the thumbnail through thumbnail manager
+ * @param aOldUri exiting uri of the song
+ * @param aNewUri new uri of the song
+ */
+ void RenameThumbnailL( const TDesC& aOldUri, const TDesC& aNewUri );
protected:
@@ -720,7 +743,8 @@
MMPXHarvesterUtility* iHvsUtility;
MMPXCollectionUtility* iCollectionUtil;
CMPXCollectionMediator* iMediator;
-
+
+ CThumbnailManager* iTNManager; // owned
MMPXCollectionHelperObserver* iObserver; // not owned
TUid iMusicCollectionId;
TBool iInitialized;
--- a/mmappcomponents/collectionhelper/src/mpxcollectioncachedhelper.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/collectionhelper/src/mpxcollectioncachedhelper.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: Extended collection helper with an internal caching array
-* Version : %version: da1mmcf#27.1.12.1.2 %
+* Version : %version: e003sa33#27.1.12.1.3 %
*
*/
@@ -395,6 +395,11 @@
// Not found in the array
if( !media )
{
+ // If the catched count is more than KCacheCount, commit it to database.
+ if( count >= KCacheCount )
+ {
+ Commit();
+ }
CMPXMedia* copy = CMPXMedia::NewL( *aMedia );
CleanupStack::PushL( copy );
iCache->AppendL( copy ); // ownership x-fer
--- a/mmappcomponents/collectionhelper/src/mpxcollectionhelperimp.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/collectionhelper/src/mpxcollectionhelperimp.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -25,6 +25,7 @@
#include <mpxcollectionutility.h>
#include <mpxharvesterutility.h>
#include <mpxmediageneraldefs.h>
+#include <mpxmediamusicdefs.h>
#include <mpxmediacontainerdefs.h>
#include <mpxuser.h>
#include <mpxcollectionplugin.hrh>
@@ -45,6 +46,7 @@
// ---------------------------------------------------------------------------
//
CMPXCollectionHelperImp::CMPXCollectionHelperImp()
+ : iTNManager(NULL)
{
}
@@ -59,7 +61,7 @@
iCollectionUtil = MMPXCollectionUtility::NewL();
iMediator = CMPXCollectionMediator::NewL( iCollectionUtil->Collection(),
this );
-
+
RArray<TUid> ary;
CleanupClosePushL( ary );
ary.AppendL( TUid::Uid(EMPXCollectionPluginMusic) );
@@ -111,6 +113,8 @@
iCollectionUtil->Close();
}
delete iMediator;
+
+ delete iTNManager;
}
@@ -416,11 +420,28 @@
RArray<TMPXAttribute> attributes;
CleanupClosePushL( attributes );
attributes.AppendL(KMPXMediaGeneralId);
+ attributes.AppendL(KMPXMediaMusicAlbumArtFileName);
CMPXMedia* media = GetL(aOldUri, attributes.Array(), aItemCat);
CleanupStack::PopAndDestroy(&attributes);
CleanupStack::PushL(media);
+ const TDesC& fileName(media->ValueText(KMPXMediaMusicAlbumArtFileName));
+
+ // the songs have embedded albumart.
+ if(fileName.CompareF(aOldUri) == 0)
+ {
+ // change the Art filename to the new Uri
+ media->SetTextValueL(KMPXMediaMusicAlbumArtFileName, aNewUri);
+
+ // Rename the thumbnail
+ TRAPD(err, RenameThumbnailL(aOldUri, aNewUri));
+ if(KErrNone != err)
+ {
+ MPX_DEBUG2("Thumbnail renames failed. Err: %d", err);
+ }
+ }
+
// change file path to the new file path
media->SetTextValueL(KMPXMediaGeneralUri, aNewUri);
@@ -735,4 +756,41 @@
delete this;
}
+// ---------------------------------------------------------------------------
+// Rename the thumbnail through TNM
+// ---------------------------------------------------------------------------
+//
+void CMPXCollectionHelperImp::RenameThumbnailL( const TDesC& aOldUri,
+ const TDesC& aNewUri )
+ {
+ MPX_FUNC("CMPXCollectionHelperImp::RenameThumbnailL");
+
+ // Create Thumbnail Manager instance when use first time.
+ if(NULL == iTNManager)
+ {
+ iTNManager = CThumbnailManager::NewL( *this );
+ }
+
+ // Rename thumbnail
+ iTNManager->RenameThumbnailsL(aOldUri, aNewUri, 0);
+ }
+
+// ---------------------------------------------------------------------------
+// CMPXDbAbstractAlbum::ThumbnailReady
+// Callback but not used here
+// ---------------------------------------------------------------------------
+void CMPXCollectionHelperImp::ThumbnailPreviewReady(
+ MThumbnailData& /*aThumbnail*/, TThumbnailRequestId /*aId*/ )
+ {
+ }
+
+
+// ---------------------------------------------------------------------------
+// CMPXDbAbstractAlbum::ThumbnailReady
+// Callback but not used here
+// ---------------------------------------------------------------------------
+void CMPXCollectionHelperImp::ThumbnailReady( TInt /*aError*/,
+ MThumbnailData& /*aThumbnail*/, TThumbnailRequestId /*aId*/ )
+ {
+ }
// End of file
--- a/mmappcomponents/harvester/filehandler/inc/mpxdbcommon.h Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/harvester/filehandler/inc/mpxdbcommon.h Thu Aug 19 10:24:28 2010 +0300
@@ -24,11 +24,11 @@
// Please update the increment number for each increment
// Please update the version number for each schema change
#ifdef ABSTRACTAUDIOALBUM_INCLUDED
-_LIT( KHarvesterDBName, "harvesterdbv10_0.dat" );
-_LIT( KHarvesterDBNameEMMC, "harvesterdbv10_0i.dat" );
+_LIT( KHarvesterDBName, "harvesterdbv10_1.dat" );
+_LIT( KHarvesterDBNameEMMC, "harvesterdbv10_1i.dat" );
#else
-_LIT( KHarvesterDBName, "harvesterdbv10_0n.dat" );
-_LIT( KHarvesterDBNameEMMC, "harvesterdbv10_0in.dat" );
+_LIT( KHarvesterDBName, "harvesterdbv10_1n.dat" );
+_LIT( KHarvesterDBNameEMMC, "harvesterdbv10_1in.dat" );
#endif
_LIT( KHarvesterDBPattern, "harvesterdbv*.dat" );
--- a/mmappcomponents/harvester/metadataextractor/src/mpxfileinfoutility.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/harvester/metadataextractor/src/mpxfileinfoutility.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: This class is responsible for reading file info
-* Version : %version: da1mmcf#5.1.3.1.8 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: e003sa33#5.1.3.1.10 % << Don't touch! Updated by Synergy at check-out.
*
* Copyright © 2005 Nokia. All rights reserved.
*/
@@ -81,8 +81,8 @@
iMMFControllers.ResetAndDestroy();
iMMFControllers.Close();
- // delete non cached controller
- if(iController)
+ //delete non cached Helix controller
+ if( iController && ( iCurrentControllerUid == 0x10207B65 ) )
{
iController->Close();
delete iController;
@@ -163,9 +163,6 @@
buf->Ptr(0),
dataSource));
- MPX_DEBUG1("CMPXFileInfoUtility::OpenFileL()- AddDataSink()");
- User::LeaveIfError(iController->AddDataSink(KUidMmfAudioOutput,
- KNullDesC8));
CleanupStack::PopAndDestroy(buf);
MPX_DEBUG1("CMPXFileInfoUtility::OpenFileL()--->");
--- a/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/harvester/metadataextractor/src/mpxmetadataextractor.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: Extracts metadata from a file
-* Version : %version: da1mmcf#38.1.4.2.6.1.14 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: da1mmcf#38.1.4.2.6.1.15 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -432,6 +432,50 @@
}
break;
}
+ case EMetaDataSampleRate:
+ {
+ const TDesC& mimeType = iMedia->ValueText( KMPXMediaGeneralMimeType );
+ MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL, mimeType = %S", &mimeType);
+
+ // Verify if WMA, get the sample rate
+ if( mimeType.Compare(KWmaMimeType) == 0 || mimeType.Compare(KWmaCafMimeType) == 0 )
+ {
+ MPX_DEBUG1("CMPXMetadataExtractor::SetMediaPropertiesL- WMA");
+
+ // Perform the sample rate conversion
+ TLex lexer( *value );
+ TInt32 sampleRate ( 0 );
+ lexer.Val( sampleRate );
+
+ iMedia->SetTObjectValueL<TUint>( KMPXMediaAudioSamplerate,
+ sampleRate );
+
+ MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL- sample rate = %i", sampleRate);
+ }
+ break;
+ }
+ case EMetaDataBitRate:
+ {
+ const TDesC& mimeType = iMedia->ValueText( KMPXMediaGeneralMimeType );
+ MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL, mimeType = %S", &mimeType);
+
+ // Verify if WMA, get the duration
+ if( mimeType.Compare(KWmaMimeType) == 0 || mimeType.Compare(KWmaCafMimeType) == 0 )
+ {
+ MPX_DEBUG1("CMPXMetadataExtractor::SetMediaPropertiesL- WMA");
+
+ // Perform the duration conversion
+ TLex lexer( *value );
+ TInt32 bitRate ( 0 );
+ lexer.Val( bitRate );
+
+ iMedia->SetTObjectValueL<TUint>( KMPXMediaAudioBitrate,
+ bitRate );
+
+ MPX_DEBUG2("CMPXMetadataExtractor::SetMediaPropertiesL- duration = %i", bitRate);
+ }
+ break;
+ }
case EMetaDataOriginalArtist: // fall through
case EMetaDataVendor: // fall through
case EMetaDataRating: // fall through
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovidercopyobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataprovidercopyobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -222,10 +222,6 @@
{
iPropertyElement = NULL;
}
- else
- {
- User::LeaveIfError( err );
- }
PRINT( _L( "MM MTP <= CMediaMtpDataProviderCopyObject::ServiceSpecificObjectPropertyL" ) );
}
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/bwins/mmmtpdprequestprocessoru.def Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/bwins/mmmtpdprequestprocessoru.def Thu Aug 19 10:24:28 2010 +0300
@@ -8,143 +8,144 @@
?UpdateMusicCollectionL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 7 NONAME ; void CMmMtpDpMetadataAccessWrapper::UpdateMusicCollectionL(class TDesC16 const &)
?Release@CRequestProcessor@@MAEXXZ @ 8 NONAME ; void CRequestProcessor::Release(void)
?HandleRequestL@CRequestProcessor@@MAEHABVTMTPTypeRequest@@W4TMTPTransactionPhase@@@Z @ 9 NONAME ; int CRequestProcessor::HandleRequestL(class TMTPTypeRequest const &, enum TMTPTransactionPhase)
- ??1CGetInterdependentPropDesc@@UAE@XZ @ 10 NONAME ; CGetInterdependentPropDesc::~CGetInterdependentPropDesc(void)
- ?OpenSessionL@CMmMtpDpAccessSingleton@@SAXXZ @ 11 NONAME ; void CMmMtpDpAccessSingleton::OpenSessionL(void)
- ?ServiceL@CGetPartialObject@@MAEXXZ @ 12 NONAME ; void CGetPartialObject::ServiceL(void)
- ?DoHandleResponsePhaseL@CRequestProcessor@@MAEHXZ @ 13 NONAME ; int CRequestProcessor::DoHandleResponsePhaseL(void)
- ?NewL@CGetObjectPropDesc@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 14 NONAME ; class MMmRequestProcessor * CGetObjectPropDesc::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ??0CGetObjectPropValue@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 15 NONAME ; CGetObjectPropValue::CGetObjectPropValue(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?CheckRequestL@CSetObjectPropList@@MAE?AW4TMTPResponseCode@@XZ @ 16 NONAME ; enum TMTPResponseCode CSetObjectPropList::CheckRequestL(void)
- ?RunL@CRequestProcessor@@MAEXXZ @ 17 NONAME ; void CRequestProcessor::RunL(void)
- ?ServiceL@CDeleteObject@@MAEXXZ @ 18 NONAME ; void CDeleteObject::ServiceL(void)
- ?DoCancel@CSetObjectPropList@@MAEXXZ @ 19 NONAME ; void CSetObjectPropList::DoCancel(void)
- ?CleanupDatabaseL@CMmMtpDpMetadataAccessWrapper@@QAEXXZ @ 20 NONAME ; void CMmMtpDpMetadataAccessWrapper::CleanupDatabaseL(void)
- ?ServiceL@CGetObjectPropsSupported@@MAEXXZ @ 21 NONAME ; void CGetObjectPropsSupported::ServiceL(void)
- ?NewL@CSetObjectReferences@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 22 NONAME ; class MMmRequestProcessor * CSetObjectReferences::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?Release@CMmMtpDpAccessSingleton@@SAXXZ @ 23 NONAME ; void CMmMtpDpAccessSingleton::Release(void)
- ?UsbDisconnect@CSendObject@@MAEXXZ @ 24 NONAME ; void CSendObject::UsbDisconnect(void)
- ?ServiceL@CGetFormatCapabilities@@MAEXXZ @ 25 NONAME ; void CGetFormatCapabilities::ServiceL(void)
- ??1CSetObjectPropList@@UAE@XZ @ 26 NONAME ; CSetObjectPropList::~CSetObjectPropList(void)
- ?ServiceL@CSetObjectPropList@@MAEXXZ @ 27 NONAME ; void CSetObjectPropList::ServiceL(void)
- ??0CMoveObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 28 NONAME ; CMoveObject::CMoveObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?ConstructL@CGetObjectPropList@@IAEXXZ @ 29 NONAME ; void CGetObjectPropList::ConstructL(void)
- ??1CSendObject@@UAE@XZ @ 30 NONAME ; CSendObject::~CSendObject(void)
- ?ServiceMetaDataFromWrapperL@CGetObjectPropValue@@IAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 31 NONAME ; void CGetObjectPropValue::ServiceMetaDataFromWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
- ?NewL@CGetObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 32 NONAME ; class MMmRequestProcessor * CGetObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ??1CGetObjectPropValue@@UAE@XZ @ 33 NONAME ; CGetObjectPropValue::~CGetObjectPropValue(void)
- ?ActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 34 NONAME ; void CMmMtpDpAccessSingleton::ActiveToIdleStatusChange(void)
- ?CreateL@CMmMtpDpAccessSingleton@@SAXAAVMMTPDataProviderFramework@@@Z @ 35 NONAME ; void CMmMtpDpAccessSingleton::CreateL(class MMTPDataProviderFramework &)
- ??1CGetFormatCapabilities@@UAE@XZ @ 36 NONAME ; CGetFormatCapabilities::~CGetFormatCapabilities(void)
- ?ServiceL@CSetObjectReferences@@EAEXXZ @ 37 NONAME ; void CSetObjectReferences::ServiceL(void)
- ?DoHandleDataIToRPhaseL@CRequestProcessor@@MAEHXZ @ 38 NONAME ; int CRequestProcessor::DoHandleDataIToRPhaseL(void)
- ??0CGetObjectPropList@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 39 NONAME ; CGetObjectPropList::CGetObjectPropList(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?ConstructL@CCopyObject@@IAEXXZ @ 40 NONAME ; void CCopyObject::ConstructL(void)
- ?SetMetaDataToWrapper@CPropertySettingUtility@@QAE?AW4TMTPResponseCode@@AAVMMmMtpDpConfig@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 41 NONAME ; enum TMTPResponseCode CPropertySettingUtility::SetMetaDataToWrapper(class MMmMtpDpConfig &, unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
- ?ServiceL@CGetObjectPropValue@@MAEXXZ @ 42 NONAME ; void CGetObjectPropValue::ServiceL(void)
- ??1CRenameObject@@UAE@XZ @ 43 NONAME ; CRenameObject::~CRenameObject(void)
- ?Match@CRequestProcessor@@MBEHABVTMTPTypeEvent@@AAVMMTPConnection@@@Z @ 44 NONAME ; int CRequestProcessor::Match(class TMTPTypeEvent const &, class MMTPConnection &) const
- ?DoHandleCompletingPhaseL@CSendObject@@MAEHXZ @ 45 NONAME ; int CSendObject::DoHandleCompletingPhaseL(void)
- ?GetDrmStatus@MmMtpDpUtility@@SAHABVTDesC16@@@Z @ 46 NONAME ; int MmMtpDpUtility::GetDrmStatus(class TDesC16 const &)
- ?RunL@CRenameObject@@MAEXXZ @ 47 NONAME ; void CRenameObject::RunL(void)
- ?SetPSStatus@MmMtpDpUtility@@SAXW4TMtpPSStatus@@@Z @ 48 NONAME ; void MmMtpDpUtility::SetPSStatus(enum TMtpPSStatus)
- ??0CRequestProcessor@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@HPBUTMTPRequestElementInfo@@@Z @ 49 NONAME ; CRequestProcessor::CRequestProcessor(class MMTPDataProviderFramework &, class MMTPConnection &, int, struct TMTPRequestElementInfo const *)
- ?ServiceL@CSendObject@@MAEXXZ @ 50 NONAME ; void CSendObject::ServiceL(void)
- ?Request@CRequestProcessor@@MBEABVTMTPTypeRequest@@XZ @ 51 NONAME ; class TMTPTypeRequest const & CRequestProcessor::Request(void) const
- ?CheckRequestL@CGetPartialObject@@MAE?AW4TMTPResponseCode@@XZ @ 52 NONAME ; enum TMTPResponseCode CGetPartialObject::CheckRequestL(void)
- ?DoCancel@CRequestProcessor@@MAEXXZ @ 53 NONAME ; void CRequestProcessor::DoCancel(void)
- ?NewL@CRequestUnknown@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@@Z @ 54 NONAME ; class MMmRequestProcessor * CRequestUnknown::NewL(class MMTPDataProviderFramework &, class MMTPConnection &)
- ?ConstructL@CGetObjectInfo@@AAEXXZ @ 55 NONAME ; void CGetObjectInfo::ConstructL(void)
- ?UsbDisconnect@CRequestProcessor@@MAEXXZ @ 56 NONAME ; void CRequestProcessor::UsbDisconnect(void)
- ??1CMoveObject@@UAE@XZ @ 57 NONAME ; CMoveObject::~CMoveObject(void)
- ?CheckRequestL@CSendObject@@MAE?AW4TMTPResponseCode@@XZ @ 58 NONAME ; enum TMTPResponseCode CSendObject::CheckRequestL(void)
- ??1CRequestProcessor@@MAE@XZ @ 59 NONAME ; CRequestProcessor::~CRequestProcessor(void)
- ?DoCancel@CDeleteObject@@MAEXXZ @ 60 NONAME ; void CDeleteObject::DoCancel(void)
- ??1CGetObject@@UAE@XZ @ 61 NONAME ; CGetObject::~CGetObject(void)
- ?NewL@CGetInterdependentPropDesc@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 62 NONAME ; class MMmRequestProcessor * CGetInterdependentPropDesc::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?AddObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@@Z @ 63 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddObjectL(class CMTPObjectMetaData const &)
- ?DoHandleResponsePhaseL@CSetObjectReferences@@EAEHXZ @ 64 NONAME ; int CSetObjectReferences::DoHandleResponsePhaseL(void)
- ?GetAccessWrapperL@CMmMtpDpAccessSingleton@@SAAAVCMmMtpDpMetadataAccessWrapper@@XZ @ 65 NONAME ; class CMmMtpDpMetadataAccessWrapper & CMmMtpDpAccessSingleton::GetAccessWrapperL(void)
- ??1CGetObjectPropsSupported@@UAE@XZ @ 66 NONAME ; CGetObjectPropsSupported::~CGetObjectPropsSupported(void)
- ?CheckRequestL@CGetObjectPropList@@MAE?AW4TMTPResponseCode@@XZ @ 67 NONAME ; enum TMTPResponseCode CGetObjectPropList::CheckRequestL(void)
- ?HasDataphase@CRequestProcessor@@MBEHXZ @ 68 NONAME ; int CRequestProcessor::HasDataphase(void) const
- ?NewL@CGetObjectPropsSupported@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 69 NONAME ; class MMmRequestProcessor * CGetObjectPropsSupported::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?Connection@CRequestProcessor@@MBEAAVMMTPConnection@@XZ @ 70 NONAME ; class MMTPConnection & CRequestProcessor::Connection(void) const
- ??1CPropertySettingUtility@@UAE@XZ @ 71 NONAME ; CPropertySettingUtility::~CPropertySettingUtility(void)
- ??1CGetPartialObject@@UAE@XZ @ 72 NONAME ; CGetPartialObject::~CGetPartialObject(void)
- ?NewL@CGetObjectInfo@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 73 NONAME ; class MMmRequestProcessor * CGetObjectInfo::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?RunError@CSetObjectPropList@@MAEHH@Z @ 74 NONAME ; int CSetObjectPropList::RunError(int)
- ?CheckRequestL@CGetInterdependentPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 75 NONAME ; enum TMTPResponseCode CGetInterdependentPropDesc::CheckRequestL(void)
- ?Match@CRequestUnknown@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 76 NONAME ; int CRequestUnknown::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
- ?ServiceL@CMoveObject@@MAEXXZ @ 77 NONAME ; void CMoveObject::ServiceL(void)
- ?CreateDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 78 NONAME ; void CMmMtpDpMetadataAccessWrapper::CreateDummyFile(class TDesC16 const &)
- ?CheckRequestL@CGetObjectPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 79 NONAME ; enum TMTPResponseCode CGetObjectPropDesc::CheckRequestL(void)
- ?DoHandleRToIPhaseL@CRequestProcessor@@MAEHXZ @ 80 NONAME ; int CRequestProcessor::DoHandleRToIPhaseL(void)
- ?ServiceMetaDataToWrapperL@CSetObjectPropValue@@IAE?AW4TMTPResponseCode@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 81 NONAME ; enum TMTPResponseCode CSetObjectPropValue::ServiceMetaDataToWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
- ?FormatFromFilename@MmMtpDpUtility@@SA?AW4TMTPFormatCode@@ABVTDesC16@@@Z @ 82 NONAME ; enum TMTPFormatCode MmMtpDpUtility::FormatFromFilename(class TDesC16 const &)
- ?GetAllReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@AAVCDesC16Array@@@Z @ 83 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllReferenceL(class CMTPObjectMetaData const &, class CDesC16Array &)
- ?CheckRequestL@CSetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 84 NONAME ; enum TMTPResponseCode CSetObjectPropValue::CheckRequestL(void)
- ??0CPropertySettingUtility@@IAE@XZ @ 85 NONAME ; CPropertySettingUtility::CPropertySettingUtility(void)
- ?Match@CRequestProcessor@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 86 NONAME ; int CRequestProcessor::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
- ??0CCopyObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 87 NONAME ; CCopyObject::CCopyObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?CheckRequestL@CRequestProcessor@@MAE?AW4TMTPResponseCode@@XZ @ 88 NONAME ; enum TMTPResponseCode CRequestProcessor::CheckRequestL(void)
- ?SendResponseL@CRequestProcessor@@IAEXW4TMTPResponseCode@@HPAK@Z @ 89 NONAME ; void CRequestProcessor::SendResponseL(enum TMTPResponseCode, int, unsigned long *)
- ?CancelActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 90 NONAME ; void CMmMtpDpAccessSingleton::CancelActiveToIdleStatusChange(void)
- ?DoHandleCompletingPhaseL@CRequestProcessor@@MAEHXZ @ 91 NONAME ; int CRequestProcessor::DoHandleCompletingPhaseL(void)
- ?DeleteDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 92 NONAME ; void CMmMtpDpMetadataAccessWrapper::DeleteDummyFile(class TDesC16 const &)
- ??1CGetObjectInfo@@UAE@XZ @ 93 NONAME ; CGetObjectInfo::~CGetObjectInfo(void)
- ?ServiceL@CRequestUnknown@@MAEXXZ @ 94 NONAME ; void CRequestUnknown::ServiceL(void)
- ?HasDataphase@CSetObjectPropList@@MBEHXZ @ 95 NONAME ; int CSetObjectPropList::HasDataphase(void) const
- ?NewL@CGetObjectReferences@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 96 NONAME ; class MMmRequestProcessor * CGetObjectReferences::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?DoCancel@CRenameObject@@MAEXXZ @ 97 NONAME ; void CRenameObject::DoCancel(void)
- ??1CSetObjectReferences@@UAE@XZ @ 98 NONAME ; CSetObjectReferences::~CSetObjectReferences(void)
- ?Match@CSendObject@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 99 NONAME ; int CSendObject::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
- ?NewL@CSetObjectPropList@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 100 NONAME ; class MMmRequestProcessor * CSetObjectPropList::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ??1CCopyObject@@UAE@XZ @ 101 NONAME ; CCopyObject::~CCopyObject(void)
- ?GetModifiedContentL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@AAHAAVCDesC16Array@@@Z @ 102 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetModifiedContentL(class TDesC16 const &, int &, class CDesC16Array &)
- ?RunL@CGetObjectPropList@@MAEXXZ @ 103 NONAME ; void CGetObjectPropList::RunL(void)
- ?NewRangeFormDescriptionL@CDescriptionUtility@@QAEPAVCMTPTypeObjectPropDesc@@GKKKH@Z @ 104 NONAME ; class CMTPTypeObjectPropDesc * CDescriptionUtility::NewRangeFormDescriptionL(unsigned short, unsigned long, unsigned long, unsigned long, int)
- ?RunError@CRequestProcessor@@MAEHH@Z @ 105 NONAME ; int CRequestProcessor::RunError(int)
- ?SessionId@CRequestProcessor@@MAEKXZ @ 106 NONAME ; unsigned long CRequestProcessor::SessionId(void)
- ??0CDescriptionUtility@@IAE@XZ @ 107 NONAME ; CDescriptionUtility::CDescriptionUtility(void)
- ?HandleEventL@CRequestProcessor@@MAEXABVTMTPTypeEvent@@@Z @ 108 NONAME ; void CRequestProcessor::HandleEventL(class TMTPTypeEvent const &)
- ?NewL@CGetPartialObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 109 NONAME ; class MMmRequestProcessor * CGetPartialObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?HasDataphase@CSetObjectReferences@@EBEHXZ @ 110 NONAME ; int CSetObjectReferences::HasDataphase(void) const
- ?RunError@CGetObjectPropList@@MAEHH@Z @ 111 NONAME ; int CGetObjectPropList::RunError(int)
- ?DoHandleResponsePhaseL@CSetObjectPropList@@MAEHXZ @ 112 NONAME ; int CSetObjectPropList::DoHandleResponsePhaseL(void)
- ?NewL@CRenameObject@@SAPAV1@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 113 NONAME ; class CRenameObject * CRenameObject::NewL(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &)
- ?RenameObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@ABVTDesC16@@@Z @ 114 NONAME ; void CMmMtpDpMetadataAccessWrapper::RenameObjectL(class CMTPObjectMetaData const &, class TDesC16 const &)
- ?GetObjectMetadataValueL@CMmMtpDpMetadataAccessWrapper@@QAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 115 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetObjectMetadataValueL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
- ?GetAllAbstractMediaL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@AAVCDesC16Array@@W4TMPXGeneralCategory@@@Z @ 116 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL(class TDesC16 const &, class CDesC16Array &, enum TMPXGeneralCategory)
- ?AddDummyFileL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 117 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddDummyFileL(class TDesC16 const &)
- ??1CGetObjectPropDesc@@UAE@XZ @ 118 NONAME ; CGetObjectPropDesc::~CGetObjectPropDesc(void)
- ?ServiceL@CGetObjectPropDesc@@MAEXXZ @ 119 NONAME ; void CGetObjectPropDesc::ServiceL(void)
- ?HasDataphase@CSetObjectPropValue@@MBEHXZ @ 120 NONAME ; int CSetObjectPropValue::HasDataphase(void) const
- ?ServiceL@CCopyObject@@MAEXXZ @ 121 NONAME ; void CCopyObject::ServiceL(void)
- ?CheckRequestL@CGetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 122 NONAME ; enum TMTPResponseCode CGetObjectPropValue::CheckRequestL(void)
- ?CloseSessionL@CMmMtpDpAccessSingleton@@SAXXZ @ 123 NONAME ; void CMmMtpDpAccessSingleton::CloseSessionL(void)
- ?NewL@CGetFormatCapabilities@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 124 NONAME ; class MMmRequestProcessor * CGetFormatCapabilities::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?ReceiveDataL@CRequestProcessor@@IAEXAAVMMTPType@@@Z @ 125 NONAME ; void CRequestProcessor::ReceiveDataL(class MMTPType &)
- ??1CDescriptionUtility@@UAE@XZ @ 126 NONAME ; CDescriptionUtility::~CDescriptionUtility(void)
- ?ConstructL@CMoveObject@@IAEXXZ @ 127 NONAME ; void CMoveObject::ConstructL(void)
- ?NewL@CSendObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 128 NONAME ; class MMmRequestProcessor * CSendObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ?RunL@CSetObjectPropList@@MAEXXZ @ 129 NONAME ; void CSetObjectPropList::RunL(void)
- ??1CGetObjectReferences@@UAE@XZ @ 130 NONAME ; CGetObjectReferences::~CGetObjectReferences(void)
- ?HasDataphase@CSendObject@@MBEHXZ @ 131 NONAME ; int CSendObject::HasDataphase(void) const
- ??1CSetObjectPropValue@@UAE@XZ @ 132 NONAME ; CSetObjectPropValue::~CSetObjectPropValue(void)
- ?ConstructL@CRenameObject@@IAEXXZ @ 133 NONAME ; void CRenameObject::ConstructL(void)
- ?DoHandleResponsePhaseL@CSendObject@@MAEHXZ @ 134 NONAME ; int CSendObject::DoHandleResponsePhaseL(void)
- ?SendDataL@CRequestProcessor@@IAEXABVMMTPType@@@Z @ 135 NONAME ; void CRequestProcessor::SendDataL(class MMTPType const &)
- ?SetReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@AAVCDesC16Array@@@Z @ 136 NONAME ; void CMmMtpDpMetadataAccessWrapper::SetReferenceL(class CMTPObjectMetaData const &, class CDesC16Array &)
- ?DoCancel@CGetObjectPropList@@MAEXXZ @ 137 NONAME ; void CGetObjectPropList::DoCancel(void)
- ?ServiceL@CGetInterdependentPropDesc@@MAEXXZ @ 138 NONAME ; void CGetInterdependentPropDesc::ServiceL(void)
- ?DoHandleRequestPhaseL@CRequestProcessor@@MAEHXZ @ 139 NONAME ; int CRequestProcessor::DoHandleRequestPhaseL(void)
- ?ServiceL@CSetObjectPropValue@@MAEXXZ @ 140 NONAME ; void CSetObjectPropValue::ServiceL(void)
- ?RunError@CRenameObject@@MAEHH@Z @ 141 NONAME ; int CRenameObject::RunError(int)
- ??1CDeleteObject@@UAE@XZ @ 142 NONAME ; CDeleteObject::~CDeleteObject(void)
- ?DoHandleResponsePhaseL@CGetPartialObject@@MAEHXZ @ 143 NONAME ; int CGetPartialObject::DoHandleResponsePhaseL(void)
- ??0CSetObjectPropValue@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 144 NONAME ; CSetObjectPropValue::CSetObjectPropValue(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
- ??1CGetObjectPropList@@UAE@XZ @ 145 NONAME ; CGetObjectPropList::~CGetObjectPropList(void)
- ?CheckRequestL@CGetFormatCapabilities@@MAE?AW4TMTPResponseCode@@XZ @ 146 NONAME ; enum TMTPResponseCode CGetFormatCapabilities::CheckRequestL(void)
- ??0CRenameObject@@IAE@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 147 NONAME ; CRenameObject::CRenameObject(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &)
+ ?DoHandleCompletingPhaseL@CDeleteObject@@MAEHXZ @ 10 NONAME ; int CDeleteObject::DoHandleCompletingPhaseL(void)
+ ??1CGetInterdependentPropDesc@@UAE@XZ @ 11 NONAME ; CGetInterdependentPropDesc::~CGetInterdependentPropDesc(void)
+ ?OpenSessionL@CMmMtpDpAccessSingleton@@SAXXZ @ 12 NONAME ; void CMmMtpDpAccessSingleton::OpenSessionL(void)
+ ?ServiceL@CGetPartialObject@@MAEXXZ @ 13 NONAME ; void CGetPartialObject::ServiceL(void)
+ ?DoHandleResponsePhaseL@CRequestProcessor@@MAEHXZ @ 14 NONAME ; int CRequestProcessor::DoHandleResponsePhaseL(void)
+ ?NewL@CGetObjectPropDesc@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 15 NONAME ; class MMmRequestProcessor * CGetObjectPropDesc::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ??0CGetObjectPropValue@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 16 NONAME ; CGetObjectPropValue::CGetObjectPropValue(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?CheckRequestL@CSetObjectPropList@@MAE?AW4TMTPResponseCode@@XZ @ 17 NONAME ; enum TMTPResponseCode CSetObjectPropList::CheckRequestL(void)
+ ?RunL@CRequestProcessor@@MAEXXZ @ 18 NONAME ; void CRequestProcessor::RunL(void)
+ ?ServiceL@CDeleteObject@@MAEXXZ @ 19 NONAME ; void CDeleteObject::ServiceL(void)
+ ?DoCancel@CSetObjectPropList@@MAEXXZ @ 20 NONAME ; void CSetObjectPropList::DoCancel(void)
+ ?CleanupDatabaseL@CMmMtpDpMetadataAccessWrapper@@QAEXXZ @ 21 NONAME ; void CMmMtpDpMetadataAccessWrapper::CleanupDatabaseL(void)
+ ?ServiceL@CGetObjectPropsSupported@@MAEXXZ @ 22 NONAME ; void CGetObjectPropsSupported::ServiceL(void)
+ ?NewL@CSetObjectReferences@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 23 NONAME ; class MMmRequestProcessor * CSetObjectReferences::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?Release@CMmMtpDpAccessSingleton@@SAXXZ @ 24 NONAME ; void CMmMtpDpAccessSingleton::Release(void)
+ ?UsbDisconnect@CSendObject@@MAEXXZ @ 25 NONAME ; void CSendObject::UsbDisconnect(void)
+ ?ServiceL@CGetFormatCapabilities@@MAEXXZ @ 26 NONAME ; void CGetFormatCapabilities::ServiceL(void)
+ ??1CSetObjectPropList@@UAE@XZ @ 27 NONAME ; CSetObjectPropList::~CSetObjectPropList(void)
+ ?ServiceL@CSetObjectPropList@@MAEXXZ @ 28 NONAME ; void CSetObjectPropList::ServiceL(void)
+ ??0CMoveObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 29 NONAME ; CMoveObject::CMoveObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?ConstructL@CGetObjectPropList@@IAEXXZ @ 30 NONAME ; void CGetObjectPropList::ConstructL(void)
+ ??1CSendObject@@UAE@XZ @ 31 NONAME ; CSendObject::~CSendObject(void)
+ ?ServiceMetaDataFromWrapperL@CGetObjectPropValue@@IAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 32 NONAME ; void CGetObjectPropValue::ServiceMetaDataFromWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
+ ?NewL@CGetObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 33 NONAME ; class MMmRequestProcessor * CGetObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ??1CGetObjectPropValue@@UAE@XZ @ 34 NONAME ; CGetObjectPropValue::~CGetObjectPropValue(void)
+ ?ActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 35 NONAME ; void CMmMtpDpAccessSingleton::ActiveToIdleStatusChange(void)
+ ?CreateL@CMmMtpDpAccessSingleton@@SAXAAVMMTPDataProviderFramework@@@Z @ 36 NONAME ; void CMmMtpDpAccessSingleton::CreateL(class MMTPDataProviderFramework &)
+ ??1CGetFormatCapabilities@@UAE@XZ @ 37 NONAME ; CGetFormatCapabilities::~CGetFormatCapabilities(void)
+ ?ServiceL@CSetObjectReferences@@EAEXXZ @ 38 NONAME ; void CSetObjectReferences::ServiceL(void)
+ ?DoHandleDataIToRPhaseL@CRequestProcessor@@MAEHXZ @ 39 NONAME ; int CRequestProcessor::DoHandleDataIToRPhaseL(void)
+ ??0CGetObjectPropList@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 40 NONAME ; CGetObjectPropList::CGetObjectPropList(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?ConstructL@CCopyObject@@IAEXXZ @ 41 NONAME ; void CCopyObject::ConstructL(void)
+ ?SetMetaDataToWrapper@CPropertySettingUtility@@QAE?AW4TMTPResponseCode@@AAVMMmMtpDpConfig@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 42 NONAME ; enum TMTPResponseCode CPropertySettingUtility::SetMetaDataToWrapper(class MMmMtpDpConfig &, unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
+ ?ServiceL@CGetObjectPropValue@@MAEXXZ @ 43 NONAME ; void CGetObjectPropValue::ServiceL(void)
+ ??1CRenameObject@@UAE@XZ @ 44 NONAME ; CRenameObject::~CRenameObject(void)
+ ?Match@CRequestProcessor@@MBEHABVTMTPTypeEvent@@AAVMMTPConnection@@@Z @ 45 NONAME ; int CRequestProcessor::Match(class TMTPTypeEvent const &, class MMTPConnection &) const
+ ?DoHandleCompletingPhaseL@CSendObject@@MAEHXZ @ 46 NONAME ; int CSendObject::DoHandleCompletingPhaseL(void)
+ ?GetDrmStatus@MmMtpDpUtility@@SAHABVTDesC16@@@Z @ 47 NONAME ; int MmMtpDpUtility::GetDrmStatus(class TDesC16 const &)
+ ?RunL@CRenameObject@@MAEXXZ @ 48 NONAME ; void CRenameObject::RunL(void)
+ ?SetPSStatus@MmMtpDpUtility@@SAXW4TMtpPSStatus@@@Z @ 49 NONAME ; void MmMtpDpUtility::SetPSStatus(enum TMtpPSStatus)
+ ??0CRequestProcessor@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@HPBUTMTPRequestElementInfo@@@Z @ 50 NONAME ; CRequestProcessor::CRequestProcessor(class MMTPDataProviderFramework &, class MMTPConnection &, int, struct TMTPRequestElementInfo const *)
+ ?ServiceL@CSendObject@@MAEXXZ @ 51 NONAME ; void CSendObject::ServiceL(void)
+ ?Request@CRequestProcessor@@MBEABVTMTPTypeRequest@@XZ @ 52 NONAME ; class TMTPTypeRequest const & CRequestProcessor::Request(void) const
+ ?CheckRequestL@CGetPartialObject@@MAE?AW4TMTPResponseCode@@XZ @ 53 NONAME ; enum TMTPResponseCode CGetPartialObject::CheckRequestL(void)
+ ?DoCancel@CRequestProcessor@@MAEXXZ @ 54 NONAME ; void CRequestProcessor::DoCancel(void)
+ ?NewL@CRequestUnknown@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@@Z @ 55 NONAME ; class MMmRequestProcessor * CRequestUnknown::NewL(class MMTPDataProviderFramework &, class MMTPConnection &)
+ ?ConstructL@CGetObjectInfo@@AAEXXZ @ 56 NONAME ; void CGetObjectInfo::ConstructL(void)
+ ?UsbDisconnect@CRequestProcessor@@MAEXXZ @ 57 NONAME ; void CRequestProcessor::UsbDisconnect(void)
+ ??1CMoveObject@@UAE@XZ @ 58 NONAME ; CMoveObject::~CMoveObject(void)
+ ?CheckRequestL@CSendObject@@MAE?AW4TMTPResponseCode@@XZ @ 59 NONAME ; enum TMTPResponseCode CSendObject::CheckRequestL(void)
+ ??1CRequestProcessor@@MAE@XZ @ 60 NONAME ; CRequestProcessor::~CRequestProcessor(void)
+ ?DoCancel@CDeleteObject@@MAEXXZ @ 61 NONAME ; void CDeleteObject::DoCancel(void)
+ ??1CGetObject@@UAE@XZ @ 62 NONAME ; CGetObject::~CGetObject(void)
+ ?NewL@CGetInterdependentPropDesc@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 63 NONAME ; class MMmRequestProcessor * CGetInterdependentPropDesc::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?AddObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@@Z @ 64 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddObjectL(class CMTPObjectMetaData const &)
+ ?DoHandleResponsePhaseL@CSetObjectReferences@@EAEHXZ @ 65 NONAME ; int CSetObjectReferences::DoHandleResponsePhaseL(void)
+ ?GetAccessWrapperL@CMmMtpDpAccessSingleton@@SAAAVCMmMtpDpMetadataAccessWrapper@@XZ @ 66 NONAME ; class CMmMtpDpMetadataAccessWrapper & CMmMtpDpAccessSingleton::GetAccessWrapperL(void)
+ ??1CGetObjectPropsSupported@@UAE@XZ @ 67 NONAME ; CGetObjectPropsSupported::~CGetObjectPropsSupported(void)
+ ?CheckRequestL@CGetObjectPropList@@MAE?AW4TMTPResponseCode@@XZ @ 68 NONAME ; enum TMTPResponseCode CGetObjectPropList::CheckRequestL(void)
+ ?HasDataphase@CRequestProcessor@@MBEHXZ @ 69 NONAME ; int CRequestProcessor::HasDataphase(void) const
+ ?NewL@CGetObjectPropsSupported@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 70 NONAME ; class MMmRequestProcessor * CGetObjectPropsSupported::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?Connection@CRequestProcessor@@MBEAAVMMTPConnection@@XZ @ 71 NONAME ; class MMTPConnection & CRequestProcessor::Connection(void) const
+ ??1CPropertySettingUtility@@UAE@XZ @ 72 NONAME ; CPropertySettingUtility::~CPropertySettingUtility(void)
+ ??1CGetPartialObject@@UAE@XZ @ 73 NONAME ; CGetPartialObject::~CGetPartialObject(void)
+ ?NewL@CGetObjectInfo@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 74 NONAME ; class MMmRequestProcessor * CGetObjectInfo::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?RunError@CSetObjectPropList@@MAEHH@Z @ 75 NONAME ; int CSetObjectPropList::RunError(int)
+ ?CheckRequestL@CGetInterdependentPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 76 NONAME ; enum TMTPResponseCode CGetInterdependentPropDesc::CheckRequestL(void)
+ ?Match@CRequestUnknown@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 77 NONAME ; int CRequestUnknown::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
+ ?ServiceL@CMoveObject@@MAEXXZ @ 78 NONAME ; void CMoveObject::ServiceL(void)
+ ?CreateDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 79 NONAME ; void CMmMtpDpMetadataAccessWrapper::CreateDummyFile(class TDesC16 const &)
+ ?CheckRequestL@CGetObjectPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 80 NONAME ; enum TMTPResponseCode CGetObjectPropDesc::CheckRequestL(void)
+ ?DoHandleRToIPhaseL@CRequestProcessor@@MAEHXZ @ 81 NONAME ; int CRequestProcessor::DoHandleRToIPhaseL(void)
+ ?ServiceMetaDataToWrapperL@CSetObjectPropValue@@IAE?AW4TMTPResponseCode@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 82 NONAME ; enum TMTPResponseCode CSetObjectPropValue::ServiceMetaDataToWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
+ ?FormatFromFilename@MmMtpDpUtility@@SA?AW4TMTPFormatCode@@ABVTDesC16@@@Z @ 83 NONAME ; enum TMTPFormatCode MmMtpDpUtility::FormatFromFilename(class TDesC16 const &)
+ ?GetAllReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@AAVCDesC16Array@@@Z @ 84 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllReferenceL(class CMTPObjectMetaData const &, class CDesC16Array &)
+ ?CheckRequestL@CSetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 85 NONAME ; enum TMTPResponseCode CSetObjectPropValue::CheckRequestL(void)
+ ??0CPropertySettingUtility@@IAE@XZ @ 86 NONAME ; CPropertySettingUtility::CPropertySettingUtility(void)
+ ?Match@CRequestProcessor@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 87 NONAME ; int CRequestProcessor::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
+ ??0CCopyObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 88 NONAME ; CCopyObject::CCopyObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?CheckRequestL@CRequestProcessor@@MAE?AW4TMTPResponseCode@@XZ @ 89 NONAME ; enum TMTPResponseCode CRequestProcessor::CheckRequestL(void)
+ ?SendResponseL@CRequestProcessor@@IAEXW4TMTPResponseCode@@HPAK@Z @ 90 NONAME ; void CRequestProcessor::SendResponseL(enum TMTPResponseCode, int, unsigned long *)
+ ?CancelActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 91 NONAME ; void CMmMtpDpAccessSingleton::CancelActiveToIdleStatusChange(void)
+ ?DoHandleCompletingPhaseL@CRequestProcessor@@MAEHXZ @ 92 NONAME ; int CRequestProcessor::DoHandleCompletingPhaseL(void)
+ ?DeleteDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 93 NONAME ; void CMmMtpDpMetadataAccessWrapper::DeleteDummyFile(class TDesC16 const &)
+ ??1CGetObjectInfo@@UAE@XZ @ 94 NONAME ; CGetObjectInfo::~CGetObjectInfo(void)
+ ?ServiceL@CRequestUnknown@@MAEXXZ @ 95 NONAME ; void CRequestUnknown::ServiceL(void)
+ ?HasDataphase@CSetObjectPropList@@MBEHXZ @ 96 NONAME ; int CSetObjectPropList::HasDataphase(void) const
+ ?NewL@CGetObjectReferences@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 97 NONAME ; class MMmRequestProcessor * CGetObjectReferences::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?DoCancel@CRenameObject@@MAEXXZ @ 98 NONAME ; void CRenameObject::DoCancel(void)
+ ??1CSetObjectReferences@@UAE@XZ @ 99 NONAME ; CSetObjectReferences::~CSetObjectReferences(void)
+ ?Match@CSendObject@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 100 NONAME ; int CSendObject::Match(class TMTPTypeRequest const &, class MMTPConnection &) const
+ ?NewL@CSetObjectPropList@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 101 NONAME ; class MMmRequestProcessor * CSetObjectPropList::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ??1CCopyObject@@UAE@XZ @ 102 NONAME ; CCopyObject::~CCopyObject(void)
+ ?GetModifiedContentL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@AAHAAVCDesC16Array@@@Z @ 103 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetModifiedContentL(class TDesC16 const &, int &, class CDesC16Array &)
+ ?RunL@CGetObjectPropList@@MAEXXZ @ 104 NONAME ; void CGetObjectPropList::RunL(void)
+ ?NewRangeFormDescriptionL@CDescriptionUtility@@QAEPAVCMTPTypeObjectPropDesc@@GKKKH@Z @ 105 NONAME ; class CMTPTypeObjectPropDesc * CDescriptionUtility::NewRangeFormDescriptionL(unsigned short, unsigned long, unsigned long, unsigned long, int)
+ ?RunError@CRequestProcessor@@MAEHH@Z @ 106 NONAME ; int CRequestProcessor::RunError(int)
+ ?SessionId@CRequestProcessor@@MAEKXZ @ 107 NONAME ; unsigned long CRequestProcessor::SessionId(void)
+ ??0CDescriptionUtility@@IAE@XZ @ 108 NONAME ; CDescriptionUtility::CDescriptionUtility(void)
+ ?HandleEventL@CRequestProcessor@@MAEXABVTMTPTypeEvent@@@Z @ 109 NONAME ; void CRequestProcessor::HandleEventL(class TMTPTypeEvent const &)
+ ?NewL@CGetPartialObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 110 NONAME ; class MMmRequestProcessor * CGetPartialObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?HasDataphase@CSetObjectReferences@@EBEHXZ @ 111 NONAME ; int CSetObjectReferences::HasDataphase(void) const
+ ?RunError@CGetObjectPropList@@MAEHH@Z @ 112 NONAME ; int CGetObjectPropList::RunError(int)
+ ?DoHandleResponsePhaseL@CSetObjectPropList@@MAEHXZ @ 113 NONAME ; int CSetObjectPropList::DoHandleResponsePhaseL(void)
+ ?NewL@CRenameObject@@SAPAV1@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 114 NONAME ; class CRenameObject * CRenameObject::NewL(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &)
+ ?RenameObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@ABVTDesC16@@@Z @ 115 NONAME ; void CMmMtpDpMetadataAccessWrapper::RenameObjectL(class CMTPObjectMetaData const &, class TDesC16 const &)
+ ?GetObjectMetadataValueL@CMmMtpDpMetadataAccessWrapper@@QAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 116 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetObjectMetadataValueL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &)
+ ?GetAllAbstractMediaL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@AAVCDesC16Array@@W4TMPXGeneralCategory@@@Z @ 117 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL(class TDesC16 const &, class CDesC16Array &, enum TMPXGeneralCategory)
+ ?AddDummyFileL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 118 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddDummyFileL(class TDesC16 const &)
+ ??1CGetObjectPropDesc@@UAE@XZ @ 119 NONAME ; CGetObjectPropDesc::~CGetObjectPropDesc(void)
+ ?ServiceL@CGetObjectPropDesc@@MAEXXZ @ 120 NONAME ; void CGetObjectPropDesc::ServiceL(void)
+ ?HasDataphase@CSetObjectPropValue@@MBEHXZ @ 121 NONAME ; int CSetObjectPropValue::HasDataphase(void) const
+ ?ServiceL@CCopyObject@@MAEXXZ @ 122 NONAME ; void CCopyObject::ServiceL(void)
+ ?CheckRequestL@CGetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 123 NONAME ; enum TMTPResponseCode CGetObjectPropValue::CheckRequestL(void)
+ ?CloseSessionL@CMmMtpDpAccessSingleton@@SAXXZ @ 124 NONAME ; void CMmMtpDpAccessSingleton::CloseSessionL(void)
+ ?NewL@CGetFormatCapabilities@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 125 NONAME ; class MMmRequestProcessor * CGetFormatCapabilities::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?ReceiveDataL@CRequestProcessor@@IAEXAAVMMTPType@@@Z @ 126 NONAME ; void CRequestProcessor::ReceiveDataL(class MMTPType &)
+ ??1CDescriptionUtility@@UAE@XZ @ 127 NONAME ; CDescriptionUtility::~CDescriptionUtility(void)
+ ?ConstructL@CMoveObject@@IAEXXZ @ 128 NONAME ; void CMoveObject::ConstructL(void)
+ ?NewL@CSendObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 129 NONAME ; class MMmRequestProcessor * CSendObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ?RunL@CSetObjectPropList@@MAEXXZ @ 130 NONAME ; void CSetObjectPropList::RunL(void)
+ ??1CGetObjectReferences@@UAE@XZ @ 131 NONAME ; CGetObjectReferences::~CGetObjectReferences(void)
+ ?HasDataphase@CSendObject@@MBEHXZ @ 132 NONAME ; int CSendObject::HasDataphase(void) const
+ ??1CSetObjectPropValue@@UAE@XZ @ 133 NONAME ; CSetObjectPropValue::~CSetObjectPropValue(void)
+ ?ConstructL@CRenameObject@@IAEXXZ @ 134 NONAME ; void CRenameObject::ConstructL(void)
+ ?DoHandleResponsePhaseL@CSendObject@@MAEHXZ @ 135 NONAME ; int CSendObject::DoHandleResponsePhaseL(void)
+ ?SendDataL@CRequestProcessor@@IAEXABVMMTPType@@@Z @ 136 NONAME ; void CRequestProcessor::SendDataL(class MMTPType const &)
+ ?SetReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@AAVCDesC16Array@@@Z @ 137 NONAME ; void CMmMtpDpMetadataAccessWrapper::SetReferenceL(class CMTPObjectMetaData const &, class CDesC16Array &)
+ ?DoCancel@CGetObjectPropList@@MAEXXZ @ 138 NONAME ; void CGetObjectPropList::DoCancel(void)
+ ?ServiceL@CGetInterdependentPropDesc@@MAEXXZ @ 139 NONAME ; void CGetInterdependentPropDesc::ServiceL(void)
+ ?DoHandleRequestPhaseL@CRequestProcessor@@MAEHXZ @ 140 NONAME ; int CRequestProcessor::DoHandleRequestPhaseL(void)
+ ?ServiceL@CSetObjectPropValue@@MAEXXZ @ 141 NONAME ; void CSetObjectPropValue::ServiceL(void)
+ ?RunError@CRenameObject@@MAEHH@Z @ 142 NONAME ; int CRenameObject::RunError(int)
+ ??1CDeleteObject@@UAE@XZ @ 143 NONAME ; CDeleteObject::~CDeleteObject(void)
+ ?DoHandleResponsePhaseL@CGetPartialObject@@MAEHXZ @ 144 NONAME ; int CGetPartialObject::DoHandleResponsePhaseL(void)
+ ??0CSetObjectPropValue@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 145 NONAME ; CSetObjectPropValue::CSetObjectPropValue(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &)
+ ??1CGetObjectPropList@@UAE@XZ @ 146 NONAME ; CGetObjectPropList::~CGetObjectPropList(void)
+ ?CheckRequestL@CGetFormatCapabilities@@MAE?AW4TMTPResponseCode@@XZ @ 147 NONAME ; enum TMTPResponseCode CGetFormatCapabilities::CheckRequestL(void)
?ServiceL@CGetObjectPropList@@MAEXXZ @ 148 NONAME ; void CGetObjectPropList::ServiceL(void)
+ ??0CRenameObject@@IAE@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 149 NONAME ; CRenameObject::CRenameObject(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &)
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/eabi/mmmtpdprequestprocessoru.def Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/eabi/mmmtpdprequestprocessoru.def Thu Aug 19 10:24:28 2010 +0300
@@ -262,4 +262,5 @@
_ZThn28_NK17CRequestProcessor5MatchERK13TMTPTypeEventR14MMTPConnection @ 261 NONAME
_ZThn28_NK17CRequestProcessor5MatchERK15TMTPTypeRequestR14MMTPConnection @ 262 NONAME
_ZThn28_NK17CRequestProcessor7RequestEv @ 263 NONAME
+ _ZN13CDeleteObject24DoHandleCompletingPhaseLEv @ 264 NONAME
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cdeleteobject.h Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cdeleteobject.h Thu Aug 19 10:24:28 2010 +0300
@@ -77,6 +77,11 @@
*/
IMPORT_C void DoCancel();
+ /**
+ * Completeing phase Handler
+ */
+ IMPORT_C TBool DoHandleCompletingPhaseL();
+
private:
void ConstructL();
/**
@@ -114,6 +119,12 @@
// Keeps track of whether any files where deleted
TBool iIsMultiDelete;
+ // Keeps track of the respone code when it is EMTPRespCodeDeviceBusy
+ TBool iDeviceBusy;
+
+ // Keeps track of the count of EMTPRespCodeDeviceBusy that return to PC
+ TInt iCountDeviceBusyError;
+
// Accessor of DB
MMmMtpDpConfig& iDpConfig;
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/ccopyobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/ccopyobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -310,9 +310,9 @@
SetPreviousPropertiesL();
CFileMan* fileMan = CFileMan::NewL( iFramework.Fs() );
+ CleanupStack::PushL( fileMan ); // + fileMan
User::LeaveIfError( fileMan->Copy( oldFileName, aNewFileName ) );
- delete fileMan;
- fileMan = NULL;
+ CleanupStack::PopAndDestroy( fileMan ); // - fileMan
PRINT( _L( "MM MTP <= CCopyObject::CopyFileL" ) );
return handle;
@@ -417,8 +417,6 @@
{
PRINT( _L( "MM MTP => CCopyObject::SetPreviousPropertiesL" ) );
- TMTPResponseCode respcode = EMTPRespCodeOK;
-
iPropertyList->ResetCursor();
const TInt count = iPropertyList->NumberOfElements();
for ( TInt i = 0; i < count; i++ )
@@ -460,7 +458,7 @@
{
CMTPTypeString *stringData = CMTPTypeString::NewLC( element.StringL( CMTPTypeObjectPropListElement::EValue ) ); // + stringData
- respcode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
+ iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
propertyCode,
*stringData,
*iTargetObject );
@@ -471,7 +469,7 @@
default:
{
- respcode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
+ iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
propertyCode,
*iTargetObject,
element );
@@ -480,13 +478,7 @@
}
} // end of for loop
- // ignore errors
- if ( respcode == EMTPRespCodeOK )
- {
- // do nothing, just to get rid of build warning
- }
-
- PRINT1( _L( "MM MTP <= CCopyObject::SetPreviousPropertiesL respcode = 0x%x" ), respcode );
+ PRINT( _L( "MM MTP <= CCopyObject::SetPreviousPropertiesL" ) );
}
// -----------------------------------------------------------------------------
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdeleteobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdeleteobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -26,6 +26,7 @@
#include "mmmtpdputility.h"
const TInt KMaxDeletionTimes = 10;
+const TInt KMaxDeviceBusyTimes = 3;
const TInt KDeletionThreshold = 100 * 1000; // (100 millisec)
// -----------------------------------------------------------------------------
@@ -294,6 +295,25 @@
}
// -----------------------------------------------------------------------------
+// CDeleteObject::DoHandleCompletingPhaseL
+// Completeing phase Handler
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TBool CDeleteObject::DoHandleCompletingPhaseL()
+ {
+ CRequestProcessor::DoHandleCompletingPhaseL();
+
+ // If the response code is EMTPRespCodeDeviceBusy, don't release this object
+ TBool result = !iDeviceBusy;
+
+ PRINT2( _L( "MM MTP <> CDeleteObject::DoHandleCompletingPhaseL iDeleteError= %d, result = %d" ),
+ iDeleteError,
+ result );
+
+ return result;
+ }
+
+// -----------------------------------------------------------------------------
// CDeleteObject::ProcessFinalPhaseL
// Delete all of the associations if file deletion was successful
// Then signals that the deletion has been completed
@@ -305,6 +325,7 @@
TInt num = iObjectsToDelete.Count();
TBool isOk = iDeleteError == KErrNone || iDeleteError == KErrNotFound;
+ iDeviceBusy = EFalse;
if ( num == 0 && isOk )
{
@@ -315,12 +336,15 @@
SendResponseL( EMTPRespCodePartialDeletion );
}
else if ( !iIsMultiDelete && iDeleteError == KErrAccessDenied )
- {
+ {
SendResponseL( EMTPRespCodeObjectWriteProtected );
}
- else if ( iDeleteError == KErrInUse )
+ else if ( iDeleteError == KErrInUse
+ && iCountDeviceBusyError < KMaxDeviceBusyTimes )
{
+ iCountDeviceBusyError++;
SendResponseL( EMTPRespCodeDeviceBusy );
+ iDeviceBusy = ETrue;
}
else
{
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectinfo.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectinfo.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -95,7 +95,6 @@
//
EXPORT_C void CGetObjectInfo::ConstructL()
{
- CActiveScheduler::Add( this );
}
// -----------------------------------------------------------------------------
@@ -106,7 +105,7 @@
void CGetObjectInfo::ServiceL()
{
PRINT( _L( "MM MTP => CGetObjectInfo::ServiceL" ) );
-
+
MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive);
delete iObjectInfo;
@@ -174,8 +173,13 @@
// Image Bit Depth
iObjectInfo->SetUint32L( CMTPTypeObjectInfo::EImageBitDepth, 0 );
// Parent Object
- iObjectInfo->SetUint32L( CMTPTypeObjectInfo::EParentObject,
- object->Uint( CMTPObjectMetaData::EParentHandle ) );
+ TUint32 parentHandle = object->Uint( CMTPObjectMetaData::EParentHandle );
+ // refer to 5.3.1.9 of MTP Spec 1.0
+ if ( parentHandle == KMTPHandleNoParent )
+ {
+ parentHandle = KMTPHandleNone;
+ }
+ iObjectInfo->SetUint32L( CMTPTypeObjectInfo::EParentObject, parentHandle );
// Association Type
iObjectInfo->SetUint16L( CMTPTypeObjectInfo::EAssociationType, 0 );
// Association Description
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectproplist.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectproplist.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -500,29 +500,11 @@
properties = iDpConfig.GetSupportedPropertiesL( formatCode );
const TInt count = properties->Count();
-
- TInt err = KErrNone;
- TBool successQuery = EFalse;
for ( TInt i = 0; i < count; i++ )
{
- // no need to do the trap anymore, this is being handle internally in Media DP's ServiceSpecificObjectPropertyL,
- // also, this base class should not know too much of different handling between different formats
- err = ServiceOneObjectPropertyL( aHandle, (*properties)[i] );
- if ( err == KErrNone )
- successQuery = ETrue;
- if ( err == KErrNotSupported || err == KErrNotFound ) // Skip
- err = KErrNone;
- if ( err != KErrNone )
- break;
+ ServiceOneObjectPropertyL( aHandle, (*properties)[i] );
}
-
- // In PC Suite combined mode, a file that was found at the beginning could be deleted by PC Suite protocol
- // Need to fail it here.
- if ( successQuery == EFalse )
- err = KErrNotFound;
-
- PRINT1( _L( "MM MTP <= CGetObjectPropList::ServiceAllPropertiesL err = %d" ), err );
- return err;
+ return KErrNone;
}
// -----------------------------------------------------------------------------
@@ -626,17 +608,10 @@
// Filename
case EMTPObjectPropCodeObjectFileName:
{
-#ifdef _DEBUG
- HBufC* log = iObject->DesC( CMTPObjectMetaData::ESuid ).Alloc();
- PRINT1( _L( "MM MTP <> CGetObjectPropList::ServiceOneObjectPropertyL FileName = %S" ), log );
- delete log;
- log = NULL;
-#endif // _DEBUG
TParsePtrC parse( iObject->DesC( CMTPObjectMetaData::ESuid ) );
- textData = CMTPTypeString::NewLC( parse.NameAndExt() ); // + textData
+ PRINT1( _L( "MM MTP <> CGetObjectPropList::ServiceOneObjectPropertyL FileName = %S" ), &parse.FullName() );
iPropertyElement = &( iPropertyList->ReservePropElemL( aHandle, aPropCode) );
- iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, textData->StringChars() );
- CleanupStack::PopAndDestroy( textData ); // - textData
+ iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, parse.NameAndExt() );
}
break;
@@ -644,7 +619,13 @@
case EMTPObjectPropCodeParentObject:
{
iPropertyElement = &( iPropertyList->ReservePropElemL( aHandle, aPropCode ) );
- iPropertyElement->SetUint32L( CMTPTypeObjectPropListElement::EValue, iObject->Uint( CMTPObjectMetaData::EParentHandle ) );
+ TUint32 parentHandle = iObject->Uint( CMTPObjectMetaData::EParentHandle );
+ // refer to 5.3.1.9 of MTP Spec 1.0
+ if ( parentHandle == KMTPHandleNoParent )
+ {
+ parentHandle = KMTPHandleNone;
+ }
+ iPropertyElement->SetUint32L( CMTPTypeObjectPropListElement::EValue, parentHandle );
}
break;
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropvalue.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropvalue.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -205,8 +205,15 @@
// Parent
case EMTPObjectPropCodeParentObject:
{
- iMTPTypeUint32.Set( 0 );
- iMTPTypeUint32 = iObjectInfo->Uint( CMTPObjectMetaData::EParentHandle );
+ iMTPTypeUint32.Set( KMTPHandleNone );
+
+ TUint32 parentHandle = iObjectInfo->Uint( CMTPObjectMetaData::EParentHandle );
+ // refer to 5.3.1.9 of MTP Spec 1.0
+ if ( parentHandle != KMTPHandleNoParent )
+ {
+ iMTPTypeUint32.Set( parentHandle );
+ }
+
SendDataL( iMTPTypeUint32 );
}
break;
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -204,12 +204,10 @@
PRINT2( _L("MM MTP => CGetObjectReferences::AddReferencesL aRefOwnerSuid = %S, ref count = %d"), &aRefOwnerSuid, count );
// check if references are valid
- TInt removeCount = 0;
- for ( TInt i = 0; i < count; i++ )
+ for ( TInt i = count-1; i >= 0; i-- )
{
- TInt index = i - removeCount;
- TPtrC temp( aReferences[index] );
- PRINT2( _L( "MM MTP <> CGetObjectReferences::AddReferencesL ref[%d]'s name = %S" ), index, &temp );
+ TPtrC temp( aReferences[i] );
+ PRINT2( _L( "MM MTP <> CGetObjectReferences::AddReferencesL ref[%d]'s name = %S" ), i, &temp );
PERFLOGSTART( KObjectManagerHandle );
TUint32 handle = iFramework.ObjectMgr().HandleL( temp );
PERFLOGSTOP( KObjectManagerHandle );
@@ -218,8 +216,7 @@
PRINT1( _L( "MM MTP <> CGetObjectReferences::AddReferencesL, [%S] doesn't existed in handle db, remove this from reference array" ), &temp );
// if handle is invalid, remove from reference array
- aReferences.Delete( index, 1 );
- removeCount++;
+ aReferences.Delete( i );
}
}
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -292,15 +292,15 @@
// Move the file first no matter if it will fail in Get/SetPreviousPropertiesL
// Already trapped inside
GetPreviousPropertiesL( *iObjectInfo );
- TRAPD( err, SetPropertiesL( aNewFileName ) );
+ TRAP_IGNORE( SetPropertiesL( aNewFileName ) );
CFileMan* fileMan = CFileMan::NewL( iFramework.Fs() );
- err = fileMan->Move( *oldFileName, aNewFileName );
-
- CleanupStack::PopAndDestroy( oldFileName ); // - oldFileName
-
- if ( err != KErrNone )
- PRINT1( _L( "MM MTP <> CMoveObject::MoveFileL err = %d" ), err );
+ CleanupStack::PushL( fileMan ); // + fileMan
+ TInt err = fileMan->Move( *oldFileName, aNewFileName );
+ PRINT1( _L( "MM MTP <> CMoveObject::MoveFileL err = %d" ), err );
+ User::LeaveIfError( err );
+ CleanupStack::PopAndDestroy( fileMan ); // - fileMan
+ CleanupStack::PopAndDestroy( oldFileName ); // - oldFileName
PRINT( _L( "MM MTP <= CMoveObject::MoveFileL" ) );
}
@@ -408,8 +408,6 @@
{
PRINT( _L( "MM MTP => CMoveObject::SetPreviousPropertiesL" ) );
- TMTPResponseCode respcode = EMTPRespCodeOK;
-
iPropertyList->ResetCursor();
const TInt count = iPropertyList->NumberOfElements();
for ( TInt i = 0; i < count; i++ )
@@ -449,7 +447,7 @@
{
CMTPTypeString *stringData = CMTPTypeString::NewLC( element.StringL( CMTPTypeObjectPropListElement::EValue ) ); // + stringData
- respcode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
+ iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
propertyCode,
*stringData,
*iObjectInfo );
@@ -460,7 +458,7 @@
default:
{
- respcode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
+ iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
propertyCode,
*iObjectInfo,
element );
@@ -469,13 +467,7 @@
}
} // end of for loop
- // ignore errors
- if ( respcode == EMTPRespCodeOK )
- {
- // do nothing, just to get rid of build warning
- }
-
- PRINT1( _L( "MM MTP <= CMoveObject::SetPreviousPropertiesL respcode = 0x%x" ), respcode );
+ PRINT( _L( "MM MTP <= CMoveObject::SetPreviousPropertiesL" ) );
}
// -----------------------------------------------------------------------------
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crenameobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crenameobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -269,7 +269,7 @@
PRINT1( _L( "MM MTP <> CRenameObject::GetParentSuidL new folder full file name(%S)" ), &iNewFolderName );
iOldFolderFullName.Zero();
- iOldFolderFullName.Append( aFolderName ); // just name not suid
+ iOldFolderFullName.Append( aFolderName );
PRINT1( _L( "MM MTP <> CRenameObject::GetParentSuidL = %S" ), &iOldFolderFullName );
}
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -243,10 +243,6 @@
CMTPObjectMetaData* object( CMTPObjectMetaData::NewLC() );
TBool result( iFramework.ObjectMgr().ObjectL( aHandle, *object ) );
- iObjectArray.AppendL( object );
- CleanupStack::Pop( object );
- iHandles.AppendL( aHandle );
-
// Obj handle exists
if ( result )
{
@@ -277,8 +273,18 @@
ret = EMTPRespCodeInvalidParentObject;
}
}
+
+ if ( result )
+ {
+ iObjectArray.AppendL( object );
+ CleanupStack::Pop( object );
+ iHandles.AppendL( aHandle );
+ }
else
+ {
+ CleanupStack::PopAndDestroy( object );
ret = EMTPRespCodeInvalidObjectHandle;
+ }
PRINT1( _L( "MM MTP <= CRequestChecker::VerifyObjectHandleL ret = 0x%x" ), ret );
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestprocessor.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestprocessor.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -233,6 +233,7 @@
{
TUint16 eventCode = aEvent.Uint16( TMTPTypeEvent::EEventCode );
iCancelled = ( eventCode == EMTPEventCodeCancelTransaction );
+ PRINT1( _L("CRequestProcessor::HandleEventL, eventCode = %d"), eventCode);
}
// -----------------------------------------------------------------------------
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csendobject.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csendobject.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -198,12 +198,14 @@
{
delete iObjectInfo;
iObjectInfo = NULL;
+ Rollback();
iProgress = EObjectNone;
}
else if ( iOperationCode == EMTPOpCodeSendObjectPropList )
{
delete iObjectPropList;
iObjectPropList = NULL;
+ Rollback();
iProgress = EObjectNone;
}
}
@@ -328,6 +330,10 @@
if ( iProgress == EObjectNone )
{
+ // iCancelled could have been set after the last transaction
+ // reset the flag here
+ iCancelled = EFalse;
+
if ( iOperationCode == EMTPOpCodeSendObjectInfo )
{
ServiceInfoL();
@@ -607,6 +613,8 @@
SendResponseL( EMTPRespCodeOK );
}
+ iCancelled = EFalse;
+
PRINT1( _L( "MM MTP <= CSendObject::DoHandleResponsePhaseObjectL result = %d" ), result );
return result;
@@ -1067,6 +1075,17 @@
// might happen if function is called before physical file arrives
// do nothing
}
+ else if ( iObjectFormat == EMTPFormatCodeASF )
+ {
+ // happens on some buggy PC implementation, default formatcode to WMA or WMV if extension matches
+ PRINT( _L( "MM MTP <> happens on some buggy PC implementation, default formatcode to WMA or WMV if extension matches" ) );
+ if ( parser.Ext().CompareF( KTxtExtensionWMA ) == 0 )
+ iObjectFormat = EMTPFormatCodeWMA;
+ else if ( parser.Ext().CompareF( KTxtExtensionWMV ) == 0 )
+ iObjectFormat = EMTPFormatCodeWMV;
+ else
+ result = EFalse;
+ }
else
{
PRINT2( _L( "MM MTP <> %S does not match 0x%x" ), &iFullPath, iObjectFormat );
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectproplist.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectproplist.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -188,103 +188,105 @@
if ( protectionStatus != EMTPProtectionNoProtection )
{
// NOTE: P4S expects AccessDenied response instead of ObjectWriteProtected
- return EMTPRespCodeAccessDenied; // EMTPRespCodeObjectWriteProtected;
+ responseCode = EMTPRespCodeAccessDenied; // EMTPRespCodeObjectWriteProtected;
}
-
- switch ( propertyCode )
+ else
{
- case EMTPObjectPropCodeStorageID:
- case EMTPObjectPropCodeObjectFormat:
- case EMTPObjectPropCodeProtectionStatus:
- case EMTPObjectPropCodeObjectSize:
- case EMTPObjectPropCodeParentObject:
- case EMTPObjectPropCodePersistentUniqueObjectIdentifier:
- case EMTPObjectPropCodeDateAdded:
- case EMTPObjectPropCodeDateCreated:
- case EMTPObjectPropCodeDateModified:
- {
- responseCode = EMTPRespCodeAccessDenied;
- }
- break;
-
- case EMTPObjectPropCodeNonConsumable:
- object->SetUint( CMTPObjectMetaData::ENonConsumable,
- aPropListElement.Uint8L( CMTPTypeObjectPropListElement::EValue ) );
- // TODO: need to reconsider,
- // if propList comprise both non-consumable and objectFileName,
- // ModifyObjectL would be called twice, need to investigate if it won't affect
- // performance
- iFramework.ObjectMgr().ModifyObjectL( *object );
- break;
-
- case EMTPObjectPropCodeObjectFileName:
+ switch ( propertyCode )
{
- TPtrC suid( object->DesC( CMTPObjectMetaData::ESuid ) );
- TPtrC ptr( aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );
- if ( KMaxFileName < ptr.Length() )
- responseCode = EMTPRespCodeInvalidDataset;
- else
+ case EMTPObjectPropCodeStorageID:
+ case EMTPObjectPropCodeObjectFormat:
+ case EMTPObjectPropCodeProtectionStatus:
+ case EMTPObjectPropCodeObjectSize:
+ case EMTPObjectPropCodeParentObject:
+ case EMTPObjectPropCodePersistentUniqueObjectIdentifier:
+ case EMTPObjectPropCodeDateAdded:
+ case EMTPObjectPropCodeDateCreated:
+ case EMTPObjectPropCodeDateModified:
{
- TFileName newSuid( ptr );
- TInt err = MmMtpDpUtility::UpdateObjectFileName( iFramework.Fs(), suid, newSuid );
- PRINT1( _L( "MM MTP <> Update object file name err = %d" ), err );
- if ( KErrOverflow == err ) // full path name is too long
- {
+ responseCode = EMTPRespCodeAccessDenied;
+ }
+ break;
+
+ case EMTPObjectPropCodeNonConsumable:
+ object->SetUint( CMTPObjectMetaData::ENonConsumable,
+ aPropListElement.Uint8L( CMTPTypeObjectPropListElement::EValue ) );
+ // TODO: need to reconsider,
+ // if propList comprise both non-consumable and objectFileName,
+ // ModifyObjectL would be called twice, need to investigate if it won't affect
+ // performance
+ iFramework.ObjectMgr().ModifyObjectL( *object );
+ break;
+
+ case EMTPObjectPropCodeObjectFileName:
+ {
+ TPtrC suid( object->DesC( CMTPObjectMetaData::ESuid ) );
+ TPtrC ptr( aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );
+ if ( KMaxFileName < ptr.Length() )
responseCode = EMTPRespCodeInvalidDataset;
- }
- else if ( KErrNone == err ) // TODO: ( KErrAlreadyExists == err )
- {
- TRAP( err, iDpConfig.GetWrapperL().RenameObjectL( *object, newSuid ) ); //Update MPX DB
-
- PRINT1( _L( "MM MTP <> Rename MPX object file name err = %d" ), err );
- // it is ok if file is not found in DB, following S60 solution
- if ( KErrNotFound == err )
- {
- TRAP( err, iDpConfig.GetWrapperL().AddObjectL( *object ) );
- PRINT1( _L( "MM MTP <> Add MPX object file name err = %d" ), err );
- }
-
- object->SetDesCL( CMTPObjectMetaData::ESuid, newSuid );
- iFramework.ObjectMgr().ModifyObjectL( *object );
- }
- else if ( KErrInUse == err ) // object file is being used by other program
- {
- responseCode = EMTPRespCodeDeviceBusy;
- }
else
{
- responseCode = EMTPRespCodeGeneralError;
+ TFileName newSuid( ptr );
+ TInt err = MmMtpDpUtility::UpdateObjectFileName( iFramework.Fs(), suid, newSuid );
+ PRINT1( _L( "MM MTP <> Update object file name err = %d" ), err );
+ if ( KErrOverflow == err ) // full path name is too long
+ {
+ responseCode = EMTPRespCodeInvalidDataset;
+ }
+ else if ( KErrNone == err ) // TODO: ( KErrAlreadyExists == err )
+ {
+ TRAP( err, iDpConfig.GetWrapperL().RenameObjectL( *object, newSuid ) ); //Update MPX DB
+
+ PRINT1( _L( "MM MTP <> Rename MPX object file name err = %d" ), err );
+ // it is ok if file is not found in DB, following S60 solution
+ if ( KErrNotFound == err )
+ {
+ TRAP( err, iDpConfig.GetWrapperL().AddObjectL( *object ) );
+ PRINT1( _L( "MM MTP <> Add MPX object file name err = %d" ), err );
+ }
+
+ object->SetDesCL( CMTPObjectMetaData::ESuid, newSuid );
+ iFramework.ObjectMgr().ModifyObjectL( *object );
+ }
+ else if ( KErrInUse == err ) // object file is being used by other program
+ {
+ responseCode = EMTPRespCodeDeviceBusy;
+ }
+ else
+ {
+ responseCode = EMTPRespCodeGeneralError;
+ }
}
}
- }
- break;
+ break;
- case EMTPObjectPropCodeName:
- case EMTPObjectPropCodeAlbumArtist:
- {
- CMTPTypeString* stringData = CMTPTypeString::NewLC(
- aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );// + stringData
+ case EMTPObjectPropCodeName:
+ case EMTPObjectPropCodeAlbumArtist:
+ {
+ CMTPTypeString* stringData = CMTPTypeString::NewLC(
+ aPropListElement.StringL( CMTPTypeObjectPropListElement::EValue ) );// + stringData
- responseCode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
- propertyCode,
- *stringData,
- *object );
+ responseCode = iDpConfig.PropSettingUtility()->SetMetaDataToWrapper( iDpConfig,
+ propertyCode,
+ *stringData,
+ *object );
- CleanupStack::PopAndDestroy( stringData );// - stringData
- }
- break;
+ CleanupStack::PopAndDestroy( stringData );// - stringData
+ }
+ break;
- default:
- {
- responseCode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
- propertyCode,
- *object,
- aPropListElement );
+ default:
+ {
+ responseCode = iDpConfig.PropSettingUtility()->SetSpecificObjectPropertyL( iDpConfig,
+ propertyCode,
+ *object,
+ aPropListElement );
+ }
+ break;
}
- break;
+
+ CleanupStack::PopAndDestroy( object ); // - object
}
-
- CleanupStack::PopAndDestroy( object ); // - object
}
PRINT1( _L( "MM MTP <= CSetObjectPropList::SetObjectPropListL responseCode = 0x%x" ), responseCode );
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectpropvalue.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectpropvalue.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -148,17 +148,11 @@
TUint32 objectHandle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 );
CMTPObjectMetaData* objectInfo = iRequestChecker->GetObjectInfo( objectHandle );
- if ( objectInfo == NULL )
- {
- PRINT( _L("MM MTP <> CSetObjectPropValue::CheckRequestL, objectInfo is NULL" ) );
- return EMTPRespCodeInvalidObjectHandle;
- }
- TPtrC fileName = objectInfo->DesC( CMTPObjectMetaData::ESuid );
TUint32 formatCode = objectInfo->Uint( CMTPObjectMetaData::EFormatCode );
PRINT3( _L( "MM MTP <> CSetObjectPropValue::CheckRequestL, handle = 0x%x, filename = %S, formatCode = 0x%x" ),
objectHandle,
- &fileName,
+ &(objectInfo->DesC( CMTPObjectMetaData::ESuid )),
formatCode );
const RArray<TUint>* properties = iDpConfig.GetSupportedPropertiesL( formatCode );
TInt count = properties->Count();
--- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadataaccesswrapper.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadataaccesswrapper.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -155,7 +155,7 @@
break;
}
// else
- // get from mpx
+ // Fall through on purpoe to get from mpx
case EMPXPlaylist:
case EMPXSong:
{
--- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -1522,12 +1522,6 @@
PRINT( _L( "MM MTP <> Modified contents are:" ) );
foundMedia = FindWMPMediaLC( KMPXMediaGeneralModified, ETrue ); // + foundMedia
-
- if ( !foundMedia->IsSupported( KMPXMediaArrayCount ) )
- {
- User::Leave( KErrNotSupported );
- }
-
foundItemCount = *foundMedia->Value<TInt>( KMPXMediaArrayCount );
PRINT1( _L( "MM MTP <> CMmMtpDpMetadataMpxAccess::GetModifiedContentL() found %d Media Objects" ), foundItemCount );
@@ -1600,14 +1594,14 @@
CleanupStack::PopAndDestroy( &playlistAttributes ); // - playlistAttributes
CleanupStack::PopAndDestroy( searchMedia ); // - searchMedia
+ CleanupStack::PushL( foundMedia ); // + foundMedia
if ( !foundMedia->IsSupported( KMPXMediaArrayCount ) )
User::Leave( KErrNotSupported );
TInt foundItemCount = *foundMedia->Value<TInt>( KMPXMediaArrayCount );
- delete foundMedia;
- foundMedia = NULL;
+ CleanupStack::PopAndDestroy( foundMedia ); // - foundMedia
PRINT1( _L( "MM MTP <= CMmMtpDpMetadataMpxAccess::IsExist foundItemCount(%d)" ), foundItemCount );
return ( foundItemCount > 0 ? ETrue : EFalse );
--- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatavideoaccess.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatavideoaccess.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -89,6 +89,8 @@
User::LeaveIfError( iDbsSession.Connect() );
TInt err = DriveInfo::GetDefaultDrive( DriveInfo::EDefaultPhoneMemory, iStoreNum );
+ PRINT1( _L( "MM MTP <> CMmMtpDpMetadataVideoAccess::ConstructL, EDefaultPhoneMemory err = %d" ), err );
+ User::LeaveIfError( err );
err = OpenDatabase();
@@ -153,15 +155,17 @@
}
}
- TBuf<KStorageRootMaxLength> storeRoot;
- err = PathInfo::GetRootPath( storeRoot, iStoreNum );
- iRfs.SetSessionPath( storeRoot );
-
if ( err == KErrNone )
{
iDbOpened = ETrue;
}
+ TBuf<KStorageRootMaxLength> storeRoot;
+ if( PathInfo::GetRootPath( storeRoot, iStoreNum ) == KErrNone )
+ {
+ iRfs.SetSessionPath( storeRoot );
+ }
+
PRINT( _L( "MM MTP <= CMmMtpDpMetadataVideoAccess::OpenDatabase" ) );
return err;
}
@@ -349,12 +353,14 @@
for ( iRecordSet.FirstL(); iRecordSet.AtRow(); iRecordSet.NextL() )
{
+#ifdef _DEBUG
HBufC* data = ReadLongTextL( KMtpVideoLocation );
- CleanupStack::PushL( data );
PRINT1( _L( "MM MTP <> CleanupDbIfNecessaryL removing %S from database" ), data );
+ delete data;
+ data = NULL;
+#endif
iRecordSet.DeleteL();
- CleanupStack::PopAndDestroy( data );
}
delete iColSet;
@@ -706,9 +712,8 @@
OpenDatabaseL();
// File Path
- HBufC* suid = aObjectMetaData.DesC( CMTPObjectMetaData::ESuid ).AllocLC(); // + suid
- SetRecordL( *suid, ERecordRead );
- CleanupStack::PopAndDestroy( suid ); // - suid
+ const TDesC& suid = aObjectMetaData.DesC( CMTPObjectMetaData::ESuid );
+ SetRecordL( suid, ERecordRead );
HBufC* data = NULL;
TDbColNo num;
@@ -779,16 +784,14 @@
{
PRINT( _L( "MM MTP <> EMTPObjectPropCodeDescription-MD" ) );
data = ReadLongTextL( KMtpVideoComment );
+ CleanupStack::PushL( data ); // + data
TInt len = data->Length();
PRINT1( _L( "MM MTP <> CMmMtpDpMetadataMpxAccess::GetObjectMetadataValue len = %d" ),len );
- if ( len != 0 )
- {
- for ( TInt i = 0; i < len; i++ )
- ( ( CMTPTypeArray& ) aNewData ).AppendUintL( ( *data )[i] );
- }
+ for ( TInt i = 0; i < len; i++ )
+ ( ( CMTPTypeArray& ) aNewData ).AppendUintL( ( *data )[i] );
- delete data;
+ CleanupStack::PopAndDestroy( data ); // - data
data = NULL;
}
break;
@@ -1025,6 +1028,7 @@
// Pack the info to aNewData
if ( data )
{
+ CleanupStack::PushL( data ); // + data
#ifdef _DEBUG
if ( data->Length() > KMtpMaxStringDescLength ) // Have to concatenate for MTP
{
@@ -1040,8 +1044,7 @@
{
User::Leave( KErrArgument );
}
- delete data;
- data = NULL;
+ CleanupStack::PopAndDestroy( data ); // - data
}
PRINT( _L( "MM MTP <= CMmMtpDpMetadataVideoAccess::GetObjectMetadataValue" ) );
--- a/mmappcomponents/mmmtpdataprovider/src/mmmtpdputility.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/src/mmmtpdputility.cpp Thu Aug 19 10:24:28 2010 +0300
@@ -110,14 +110,8 @@
if ( mime->CompareF( KMimeTypeAudio3gpp ) == 0
|| mime->CompareF( KMimeTypeVideo3gpp ) == 0 )
{
- delete mime;
- mime = NULL;
format = EMTPFormatCode3GPContainer;
}
- }
-
- if ( mime != NULL )
- {
delete mime;
mime = NULL;
}
@@ -525,34 +519,15 @@
HBufC8* MmMtpDpUtility::OdfMimeTypeL( const TDesC& aFullPath )
{
PRINT( _L( "MM MTP => MmMtpDpUtility::OdfMimeTypeL" ) );
- HBufC8* mimebuf = NULL;
- CContent* content = CContent::NewL( aFullPath );
- CleanupStack::PushL( content ); // + content
-
- HBufC* buffer = HBufC::NewL( KMimeTypeMaxLength );
- CleanupStack::PushL( buffer ); // + buffer
+ CContent* content = CContent::NewLC( aFullPath ); // + content
+ HBufC* buffer = HBufC::NewLC( KMimeTypeMaxLength ); // + buffer
TPtr data = buffer->Des();
- TInt err = content->GetStringAttribute( EMimeType, data );
-
- if ( err == KErrNone )
- {
- mimebuf = HBufC8::New( buffer->Length() );
+ User::LeaveIfError( content->GetStringAttribute( EMimeType, data ) );
- if ( mimebuf == NULL )
- {
- User::LeaveIfError( KErrNotFound );
- }
-
- mimebuf->Des().Copy( *buffer );
- }
-
- // leave if NULL
- if ( mimebuf == NULL )
- {
- User::Leave( KErrNotFound );
- }
+ HBufC8* mimebuf = HBufC8::NewL( buffer->Length() );
+ mimebuf->Des().Copy( *buffer );
CleanupStack::PopAndDestroy( buffer ); // - buffer
CleanupStack::PopAndDestroy( content ); // - content
--- a/mmappfw_plat/harvester_utility_api/tsrc/Conf/mpxharvestertest.cfg Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappfw_plat/harvester_utility_api/tsrc/Conf/mpxharvestertest.cfg Thu Aug 19 10:24:28 2010 +0300
@@ -142,8 +142,8 @@
[Test]
title Delete files synchronously
create mpxharvestertest utility
+utility CopyTestFile mpxtest1.mp3 mpxtest2.mp3
pause 2000
-utility CopyTestFile mpxtest1.mp3 mpxtest2.mp3
utility CreateUtility
utility AddFileByPath mpxtest1.mp3
waittestclass utility
--- a/mpx/collectionframework/collectionserver/group/mpxcollectionserver.mmp Thu Jul 15 19:11:42 2010 +0300
+++ b/mpx/collectionframework/collectionserver/group/mpxcollectionserver.mmp Thu Aug 19 10:24:28 2010 +0300
@@ -25,7 +25,7 @@
UID 0 0x101FFC31
VENDORID VID_DEFAULT
CAPABILITY ALL -TCB
-#ifdef __WINS__
+#ifdef WINS
EPOCHEAPSIZE 0x1000 0x2800000 // 40MB
#else
EPOCHEAPSIZE 0x1000 0x3E00000 // 62 MB
--- a/mpx/commonframework/group/bld.inf Thu Jul 15 19:11:42 2010 +0300
+++ b/mpx/commonframework/group/bld.inf Thu Aug 19 10:24:28 2010 +0300
@@ -23,9 +23,9 @@
PRJ_EXPORTS
// Secure backup & restore
-backup_registration.xml /epoc32/release/winscw/urel/z/private/101ffc02/backup_registration.xml
-backup_registration.xml /epoc32/release/winscw/udeb/z/private/101ffc02/backup_registration.xml
-backup_registration.xml /epoc32/data/z/private/101ffc02/backup_registration.xml
+backup_registration.xml z:/private/101ffc02/backup_registration.xml
+
+
../rom/mpxcommonframework.iby CORE_MW_LAYER_IBY_EXPORT_PATH(mpxcommonframework.iby)