# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1276067625 -10800 # Node ID e257e2b6459df857d210d5a6f652a81aacd38b79 # Parent 6f9f6e99a23e31aeffd64b7bcffc904e7cb2cfa9 Revision: 201020 Kit: 2010123 diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/harvester/server/src/mpxconnectioneventhandler.cpp --- a/mmappcomponents/harvester/server/src/mpxconnectioneventhandler.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/harvester/server/src/mpxconnectioneventhandler.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -166,11 +166,7 @@ MPX_DEBUG3("CMPXConnectionEventHandler::DoHandlePSEventL, usbStatus = %d, mtpStatus = %d", usbStatus, mtpStatus); MPX_DEBUG2("CMPXConnectionEventHandler::DoHandlePSEventL, iState = %d", iState); MPX_DEBUG4("CMPXConnectionEventHandler::DoHandlePSEventL, iDeviceState = %d, EUsbDeviceStateAddress(%d), EUsbDeviceStateConfigured(%d)", iDeviceState, EUsbDeviceStateAddress, EUsbDeviceStateConfigured); - - RDebug::Print(_L("tpoon: CMPXConnectionEventHandler::DoHandlePSEventL, usbStatus = %d, mtpStatus = %d"), usbStatus, mtpStatus); - RDebug::Print(_L("tpoon: CMPXConnectionEventHandler::DoHandlePSEventL, iState = %d"), iState); - RDebug::Print(_L("tpoon: CMPXConnectionEventHandler::DoHandlePSEventL, iDeviceState = %d, EUsbDeviceStateAddress(%d), EUsbDeviceStateConfigured(%d)"), iDeviceState, EUsbDeviceStateAddress, EUsbDeviceStateConfigured); - + // events from lower level is not causing multiple callback on the same type // usb is really only connected if went through Address or Configured state if( (usbStatus == KUsbPersonalityIdMS) && (iDeviceState == EUsbDeviceStateAddress || iDeviceState == EUsbDeviceStateConfigured)) @@ -178,7 +174,6 @@ if ((iState == EMPXConnectionMTPIdle) || (iState == EMPXConnectionMTPActive)) { MPX_DEBUG1("CMPXConnectionEventHandler::DoHandlePSEvent - MTP End"); - RDebug::Print(_L("tpoon: MTP End")); iObserver.HandleSystemEventL( EUSBMTPEndEvent, -1 ); iState = EMPXConnectionNone; } @@ -193,7 +188,6 @@ if (usbStatus != KUsbPersonalityIdMS) { MPX_DEBUG1("CMPXConnectionEventHandler::DoHandlePSEvent - USB MassStorage End"); - RDebug::Print(_L("tpoon: MS End")); iObserver.HandleSystemEventL( EUSBMassStorageEndEvent, -1 ); iState = EMPXConnectionNone; } @@ -205,7 +199,6 @@ if ((mtpStatus == EMtpPSStatusUninitialized) && (iState != EMPXConnectionNone)) { MPX_DEBUG1("CMPXConnectionEventHandler::DoHandlePSEvent - MTP End"); - RDebug::Print(_L("tpoon: MTP End")); iObserver.HandleSystemEventL( EUSBMTPEndEvent, -1 ); iState = EMPXConnectionNone; } @@ -224,7 +217,6 @@ void CMPXConnectionEventHandler::DoMSStartEventL() { MPX_DEBUG1("CMPXConnectionEventHandler::DoMSStartEventL - USB MassStorage Start"); - RDebug::Print(_L("tpoon: MS Start")); iObserver.HandleSystemEventL( EUSBMassStorageStartEvent, -1 ); iState = EMPXConnectionMassStorage; } @@ -232,7 +224,6 @@ void CMPXConnectionEventHandler::DoMTPStartEventL() { MPX_DEBUG1("CMPXConnectionEventHandler::DoMTPStartEventL - MTP Start"); - RDebug::Print(_L("tpoon: MTP Start")); iObserver.HandleSystemEventL( EUSBMTPStartEvent, -1 ); iState = EMPXConnectionMTPActive; } @@ -240,7 +231,6 @@ void CMPXConnectionEventHandler::DoMTPNotActiveEventL() { MPX_DEBUG1("CMPXConnectionEventHandler::DoMTPNotActiveEventL - MTP Not Active"); - RDebug::Print(_L("tpoon: MTP Not Active")); iObserver.HandleSystemEventL( EUSBMTPNotActiveEvent, -1 ); iState = EMPXConnectionMTPIdle; } diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/harvester/server/src/mpxharvesterserver.cpp --- a/mmappcomponents/harvester/server/src/mpxharvesterserver.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/harvester/server/src/mpxharvesterserver.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -71,9 +71,9 @@ CMPXHarvesterServer* server = CMPXHarvesterServer::NewL(); CleanupStack::PushL(server); RProcess::Rendezvous(KErrNone); - CActiveScheduler::Start(); + CActiveScheduler::Start(); + CleanupStack::PopAndDestroy(server); CActiveScheduler::Install(NULL); - CleanupStack::PopAndDestroy(server); CleanupStack::PopAndDestroy(scheduler); } diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadataaccesswrapper.h --- a/mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadataaccesswrapper.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadataaccesswrapper.h Wed Jun 09 10:13:45 2010 +0300 @@ -51,7 +51,7 @@ * @param aCategory, indicate the category of abstract medias */ IMPORT_C void GetAllAbstractMediaL( const TDesC& aStoreRoot, - CMPXMediaArray** aAbstractMedias, + CDesCArray& aAbstractMedias, TMPXGeneralCategory aCategory ); /** @@ -59,18 +59,10 @@ * @param aAbstractMedia, specify of which reference should be get * @param aReferences, return result array which stored handles of all references */ - IMPORT_C void GetAllReferenceL( CMPXMedia* aAbstractMedia, + IMPORT_C void GetAllReferenceL( const CMTPObjectMetaData& aRefOwner, CDesCArray& aReferences ); /** - * Get an abstract media name from CMPXMedia object - * @param aAbstractMedia, specify the source - * @param aCategory, specify the category - * @return, name of the source, ownership transferred - */ - IMPORT_C HBufC* GetAbstractMediaNameL( CMPXMedia* aAbstractMedia, - TMPXGeneralCategory aCategory ); - /** * Add object (music, video, playlist and abstract album) info to DB * @param aFullFileName, full file name of file * @return void diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadatampxaccess.h --- a/mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadatampxaccess.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/inc/cmmmtpdpmetadatampxaccess.h Wed Jun 09 10:13:45 2010 +0300 @@ -72,7 +72,7 @@ * @param aCategory, indicate the category of abstract medias */ void GetAllAbstractMediaL( const TDesC& aStoreRoot, - CMPXMediaArray** aAbstractMedias, + CDesCArray& aAbstractMedias, TMPXGeneralCategory aCategory ); /** @@ -80,19 +80,11 @@ * @param aAbstractMedia, specify of which reference should be get * @param aReferences, return result array which stored handles of all references */ - void GetAllReferenceL( CMPXMedia* aAbstractMedia, + void GetAllReferenceL( const TDesC& aRefOwnerSuid, + TMPXGeneralCategory aCategory, CDesCArray& aReferences ); /** - * Get an abstract media name from CMPXMedia object - * @param aAbstractMedia, specify the source - * @param aCategory, specify the category - * @return, name of the source, ownership transferred - */ - HBufC* GetAbstractMediaNameL( CMPXMedia* aAbstractMedia, - TMPXGeneralCategory aCategory ); - - /** * Adds Songs info to Mpx DB * @param aFullFileName, full file name of Media file */ @@ -215,6 +207,8 @@ MMPXCollectionHelper* iCollectionHelper; HBufC8* iSampleData; + TBool iHasCleanUp; + #if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) CMmMtpDpPerfLog* iPerfLog; #endif diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/inc/cabstractmediamtpdataproviderenumerator.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/inc/cabstractmediamtpdataproviderenumerator.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/inc/cabstractmediamtpdataproviderenumerator.h Wed Jun 09 10:13:45 2010 +0300 @@ -104,13 +104,12 @@ * @param aPath current scanned file path */ void AddEntryL( const TDesC& aSuid ); - + /** - * Add references of specified abstract media into reference db - * @param aAbstractMediaName, specify the abstract media of which references should be added into db - * @param aReferences, suid array which stored references + * reset Object's format sub code in object manager */ - void AddReferencesL( const TDesC& aAbstractMediaName, CDesCArray& aReferences ); + void ResetObjectFormatSubCodeL( TUint32 aStorageId ); + private: // Owned @@ -129,11 +128,13 @@ RArray iStorages; TUint32 iStorageId; - CMPXMediaArray* iAbstractMedias; + CDesCArray* iAbstractMedias; TInt iCount; TInt iCurrentIndex; TInt iEnumState; - + + TInt iResetCount; + #if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) CMmMtpDpPerfLog* iPerfLog; #endif diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderenumerator.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderenumerator.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/abstractmediamtpdataprovider/src/cabstractmediamtpdataproviderenumerator.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -39,11 +40,9 @@ #if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) _LIT( KMpxGetAllAbstractMedia, "MpxGetAllAbstractMedia" ); -_LIT( KMpxQueryAbstractMediaReference, "MpxQueryAbstractMediaReference" ); _LIT( KObjectManagerObjectUid, "ObjectManagerObjectUid" ); _LIT( KObjectManagerInsert, "ObjectManagerInsert" ); -_LIT( KObjectManagerHandle, "ObjectManagerHandle" ); -_LIT( KReferenceManagerSetReference, "ReferenceManagerSetReference" ); +_LIT( KResetObjectFormatSubCode, "ResetObjectFormatSubCode" ); #endif // ----------------------------------------------------------------------------- @@ -80,7 +79,8 @@ iAbstractMedias( NULL ), iCount( 0 ), iCurrentIndex( 0 ), - iEnumState ( EEnumNone ) + iEnumState ( EEnumNone ), + iResetCount( 0 ) { PRINT1( _L( "MM MTP <> CAbstractMediaMtpDataProviderEnumerator::CAbstractMediaMtpDataProviderEnumerator, iDataProviderId = %d" ), iDataProviderId ); } @@ -200,7 +200,7 @@ __ASSERT_DEBUG( ( storage.Uint( CMTPStorageMetaData::EStorageSystemType ) == CMTPStorageMetaData::ESystemTypeDefaultFileSystem ), User::Invariant() ); - TFileName root( storage.DesC( CMTPStorageMetaData::EStorageSuid ) ); + TPtrC root( storage.DesC( CMTPStorageMetaData::EStorageSuid ) ); PRINT1( _L( "MM MTP <> CAbstractMediaMtpDataProviderEnumerator::InitStorageL StorageSuid = %S" ), &root ); if ( iEnumState == EEnumPlaylist ) @@ -238,9 +238,10 @@ // find all abstract medias stored in MPX delete iAbstractMedias; iAbstractMedias = NULL; + iAbstractMedias = new( ELeave ) CDesCArrayFlat( KMTPDriveGranularity ); TMPXGeneralCategory category = ( iEnumState == EEnumPlaylist ) ? EMPXPlaylist : EMPXAbstractAlbum; PERFLOGSTART( KMpxGetAllAbstractMedia ); - TRAPD( err, iDataProvider.GetWrapperL().GetAllAbstractMediaL( root, &iAbstractMedias, category ) ); + TRAPD( err, iDataProvider.GetWrapperL().GetAllAbstractMediaL( root, *iAbstractMedias, category ) ); PERFLOGSTOP( KMpxGetAllAbstractMedia ); if ( iAbstractMedias != NULL && err == KErrNone ) @@ -273,6 +274,13 @@ if ( iEnumState >= EEnumCount ) { iEnumState = EEnumPlaylist; + iResetCount = 0; + + PERFLOGSTART( KResetObjectFormatSubCode ); + ResetObjectFormatSubCodeL( iStorages[0] ); + PERFLOGSTOP( KResetObjectFormatSubCode ); + + PRINT2( _L( "MM MTP <> ResetObjectFormatSubCodeL, storage = 0x%x, iResetCount = %d" ), iStorages[0], iResetCount ); iStorages.Remove( 0 ); } @@ -313,49 +321,28 @@ PRINT2( _L( "MM MTP <> Current storage is still being scanned, current index = %d, total AbstractMedia count = %d" ), iCurrentIndex, iCount ); - // insert all abstract medias into handle db of framework - CMPXMedia* media = ( *iAbstractMedias )[iCurrentIndex]; - // Increase the index first in case of leave - iCurrentIndex++; - TMPXGeneralCategory category = ( iEnumState == EEnumPlaylist ) ? EMPXPlaylist : EMPXAbstractAlbum; - HBufC* abstractMedia = iDataProvider.GetWrapperL().GetAbstractMediaNameL( media, category ); - CleanupStack::PushL( abstractMedia ); // + abstractMedia + // Insert all abstract medias into handle db of framework + iCurrentIndex++; // Increase the index first in case of leave + TPtrC entrySuid( ( *iAbstractMedias )[iCurrentIndex-1] ); - TBool ret = ETrue; if ( iEnumState == EEnumAbstractAlbum ) { // The abstract album may be removed, check it first - ret = BaflUtils::FileExists( iFramework.Fs(), *abstractMedia ); - PRINT2( _L( "MM MTP <> BaflUtils::FileExists( RFs,%S ) ret = %d" ), abstractMedia, ret ); + TBool ret = BaflUtils::FileExists( iFramework.Fs(), entrySuid ); + PRINT2( _L( "MM MTP <> BaflUtils::FileExists( RFs,%S ) ret = %d" ), &entrySuid, ret ); } else // EEnumPlaylist { // Add an object to the object store for DB based playlist - AddEntryL( *abstractMedia ); + AddEntryL( entrySuid ); } - if ( ret ) - { - PRINT1( _L( "MM MTP <> CAbstractMediaMtpDataProviderEnumerator::RunL abstractMedia=%S" ), abstractMedia ); - - // find all reference of each abstract media - CDesCArray* references = new ( ELeave ) CDesCArrayFlat( KMTPDriveGranularity ); - CleanupStack::PushL( references ); // + references - - PERFLOGSTART( KMpxQueryAbstractMediaReference ); - iDataProvider.GetWrapperL().GetAllReferenceL( media, *references ); - PERFLOGSTOP( KMpxQueryAbstractMediaReference ); - - // insert references into reference db - AddReferencesL( *abstractMedia, *references ); - - CleanupStack::PopAndDestroy( references ); // - references - } - CleanupStack::PopAndDestroy( abstractMedia ); // - abstractMedia + // Getting all reference during internal enumeration takes too long, query later on demand } ScanNextL(); + PRINT( _L( "MM MTP <= CAbstractMediaMtpDataProviderEnumerator::RunL" ) ); } @@ -465,48 +452,40 @@ PRINT( _L( "MM MTP <= CAbstractMediaMtpDataProviderEnumerator::AddEntryL" ) ); } -// ----------------------------------------------------------------------------- -// CAbstractMediaMtpDataProviderEnumerator::AddReferencesL -// Add references into reference db according to abstract media name -// ----------------------------------------------------------------------------- -// -void CAbstractMediaMtpDataProviderEnumerator::AddReferencesL( const TDesC& aAbstractMediaName, - CDesCArray& aReferences ) +void CAbstractMediaMtpDataProviderEnumerator::ResetObjectFormatSubCodeL( TUint32 aStorageId ) { - TInt count = aReferences.Count(); - PRINT2( _L("MM MTP => CAbstractMediaMtpDataProviderEnumerator::AddReferencesL AbstractMedia name = %S, ref count = %d"), &aAbstractMediaName, count ); - - // check if references are valid - CMTPObjectMetaData* object = CMTPObjectMetaData::NewLC(); // + object - MMTPObjectMgr& objectMgr = iFramework.ObjectMgr(); + PRINT1( _L( "MM MTP => CAbstractMediaMtpDataProviderEnumerator::ResetObjectFormatSubCodeL, StorageId = 0x%x" ), + aStorageId ); + RMTPObjectMgrQueryContext context; + RArray handles; + CleanupClosePushL( context ); // + context + CleanupClosePushL( handles ); // + handles + + // search all handles in desired storage with desired DP id + TMTPObjectMgrQueryParams params( aStorageId, KMTPFormatsAll, KMTPHandleNone, iFramework.DataProviderId() ); - TInt removeCount = 0; - for ( TInt i = 0; i < count; i++ ) + do { - TInt index = i - removeCount; - TPtrC temp( aReferences[index] ); - PRINT2( _L( "MM MTP <> CAbstractMediaMtpDataProviderEnumerator::AddReferencesL ref[%d]'s name = %S" ), index, &temp ); - PERFLOGSTART( KObjectManagerHandle ); - TUint32 handle = iFramework.ObjectMgr().HandleL( temp ); - PERFLOGSTOP( KObjectManagerHandle ); - if ( handle == KMTPHandleNone ) // object doesn't exist + iObjectMgr.GetObjectHandlesL( params, context, handles ); + + for ( TInt i = 0; i < handles.Count(); i++ ) { - PRINT1( _L( "MM MTP <> CAbstractMediaMtpDataProviderEnumerator::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++; + CMTPObjectMetaData* objectInfo = CMTPObjectMetaData::NewLC(); // + objectInfo + + iResetCount++; + iObjectMgr.ObjectL( handles[i], *objectInfo ); + // EMTPSubFormatCodeUnknown means references of the object haven't been insert into reference db of fw. + objectInfo->SetUint( CMTPObjectMetaData::EFormatSubCode, EMTPSubFormatCodeUnknown ); + iObjectMgr.ModifyObjectL( *objectInfo ); + CleanupStack::PopAndDestroy( objectInfo ); // - objectInfo } } - CleanupStack::PopAndDestroy( object ); // - object + while ( !context.QueryComplete() ); - // add all references into references db - MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr(); - PERFLOGSTART( KReferenceManagerSetReference ); - referenceMgr.SetReferencesL( aAbstractMediaName, aReferences ); - PERFLOGSTOP( KReferenceManagerSetReference ); + CleanupStack::PopAndDestroy( &handles ); // - handles + CleanupStack::PopAndDestroy( &context ); // - context - PRINT( _L( "MM MTP <= CAbstractMediaMtpDataProviderEnumerator::AddReferencesL" ) ); + PRINT( _L( "MM MTP <= CAbstractMediaMtpDataProviderEnumerator::ResetObjectFormatSubCodeL" ) ); } //end of file diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataproviderenumerator.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataproviderenumerator.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdpplugins/mediamtpdataprovider/src/cmediamtpdataproviderenumerator.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -163,7 +163,7 @@ if ( iStorages.Count() > 0 ) { const CMTPStorageMetaData& storage( iFramework.StorageMgr().StorageL( iStorages[0] ) ); - const TDesC& root( storage.DesC( CMTPStorageMetaData::EStorageSuid ) ); + TPtrC root( storage.DesC( CMTPStorageMetaData::EStorageSuid ) ); GetModifiedContentL( root ); TRAPD( err, iDataProvider.GetWrapperL().UpdateMusicCollectionL( root ) ); if ( err != KErrNone ) diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/bwins/mmmtpdprequestprocessoru.def --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/bwins/mmmtpdprequestprocessoru.def Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/bwins/mmmtpdprequestprocessoru.def Wed Jun 09 10:13:45 2010 +0300 @@ -11,153 +11,140 @@ ??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) - ??0CGetObjectInfo@@AAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 13 NONAME ; CGetObjectInfo::CGetObjectInfo(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?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) - ?GetAllReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXPAVCMPXMedia@@AAVCDesC16Array@@@Z @ 27 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllReferenceL(class CMPXMedia *, class CDesC16Array &) - ??1CSetObjectPropList@@UAE@XZ @ 28 NONAME ; CSetObjectPropList::~CSetObjectPropList(void) - ?ServiceL@CSetObjectPropList@@MAEXXZ @ 29 NONAME ; void CSetObjectPropList::ServiceL(void) - ??0CMoveObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 30 NONAME ; CMoveObject::CMoveObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??0CRequestUnknown@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@@Z @ 31 NONAME ; CRequestUnknown::CRequestUnknown(class MMTPDataProviderFramework &, class MMTPConnection &) - ?ConstructL@CGetObjectPropList@@IAEXXZ @ 32 NONAME ; void CGetObjectPropList::ConstructL(void) - ??1CSendObject@@UAE@XZ @ 33 NONAME ; CSendObject::~CSendObject(void) - ?ServiceMetaDataFromWrapperL@CGetObjectPropValue@@IAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 34 NONAME ; void CGetObjectPropValue::ServiceMetaDataFromWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &) - ?NewL@CGetObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 35 NONAME ; class MMmRequestProcessor * CGetObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??1CGetObjectPropValue@@UAE@XZ @ 36 NONAME ; CGetObjectPropValue::~CGetObjectPropValue(void) - ?CreateL@CMmMtpDpAccessSingleton@@SAXAAVMMTPDataProviderFramework@@@Z @ 37 NONAME ; void CMmMtpDpAccessSingleton::CreateL(class MMTPDataProviderFramework &) - ??1CGetFormatCapabilities@@UAE@XZ @ 38 NONAME ; CGetFormatCapabilities::~CGetFormatCapabilities(void) - ?ServiceL@CSetObjectReferences@@EAEXXZ @ 39 NONAME ; void CSetObjectReferences::ServiceL(void) - ?DoHandleDataIToRPhaseL@CRequestProcessor@@MAEHXZ @ 40 NONAME ; int CRequestProcessor::DoHandleDataIToRPhaseL(void) - ??0CGetObjectPropList@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 41 NONAME ; CGetObjectPropList::CGetObjectPropList(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?ConstructL@CCopyObject@@IAEXXZ @ 42 NONAME ; void CCopyObject::ConstructL(void) - ?SetMetaDataToWrapper@CPropertySettingUtility@@QAE?AW4TMTPResponseCode@@AAVMMmMtpDpConfig@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 43 NONAME ; enum TMTPResponseCode CPropertySettingUtility::SetMetaDataToWrapper(class MMmMtpDpConfig &, unsigned short, class MMTPType &, class CMTPObjectMetaData const &) - ?ServiceL@CGetObjectPropValue@@MAEXXZ @ 44 NONAME ; void CGetObjectPropValue::ServiceL(void) - ??1CRenameObject@@UAE@XZ @ 45 NONAME ; CRenameObject::~CRenameObject(void) - ?Match@CRequestProcessor@@MBEHABVTMTPTypeEvent@@AAVMMTPConnection@@@Z @ 46 NONAME ; int CRequestProcessor::Match(class TMTPTypeEvent const &, class MMTPConnection &) const - ?DoHandleCompletingPhaseL@CSendObject@@MAEHXZ @ 47 NONAME ; int CSendObject::DoHandleCompletingPhaseL(void) - ?GetDrmStatus@MmMtpDpUtility@@SAHABVTDesC16@@@Z @ 48 NONAME ; int MmMtpDpUtility::GetDrmStatus(class TDesC16 const &) - ?RunL@CRenameObject@@MAEXXZ @ 49 NONAME ; void CRenameObject::RunL(void) - ??0CSetObjectReferences@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 50 NONAME ; CSetObjectReferences::CSetObjectReferences(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??0CRequestProcessor@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@HPBUTMTPRequestElementInfo@@@Z @ 51 NONAME ; CRequestProcessor::CRequestProcessor(class MMTPDataProviderFramework &, class MMTPConnection &, int, struct TMTPRequestElementInfo const *) - ?ServiceL@CSendObject@@MAEXXZ @ 52 NONAME ; void CSendObject::ServiceL(void) - ?Request@CRequestProcessor@@MBEABVTMTPTypeRequest@@XZ @ 53 NONAME ; class TMTPTypeRequest const & CRequestProcessor::Request(void) const - ?DoCancel@CRequestProcessor@@MAEXXZ @ 54 NONAME ; void CRequestProcessor::DoCancel(void) - ?CheckRequestL@CGetPartialObject@@MAE?AW4TMTPResponseCode@@XZ @ 55 NONAME ; enum TMTPResponseCode CGetPartialObject::CheckRequestL(void) - ?NewL@CRequestUnknown@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@@Z @ 56 NONAME ; class MMmRequestProcessor * CRequestUnknown::NewL(class MMTPDataProviderFramework &, class MMTPConnection &) - ??0CGetFormatCapabilities@@AAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 57 NONAME ; CGetFormatCapabilities::CGetFormatCapabilities(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?ConstructL@CGetObjectInfo@@AAEXXZ @ 58 NONAME ; void CGetObjectInfo::ConstructL(void) - ?UsbDisconnect@CRequestProcessor@@MAEXXZ @ 59 NONAME ; void CRequestProcessor::UsbDisconnect(void) - ??1CMoveObject@@UAE@XZ @ 60 NONAME ; CMoveObject::~CMoveObject(void) - ?CheckRequestL@CSendObject@@MAE?AW4TMTPResponseCode@@XZ @ 61 NONAME ; enum TMTPResponseCode CSendObject::CheckRequestL(void) - ??1CRequestProcessor@@MAE@XZ @ 62 NONAME ; CRequestProcessor::~CRequestProcessor(void) - ?DoCancel@CDeleteObject@@MAEXXZ @ 63 NONAME ; void CDeleteObject::DoCancel(void) - ??1CGetObject@@UAE@XZ @ 64 NONAME ; CGetObject::~CGetObject(void) - ?NewL@CGetInterdependentPropDesc@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 65 NONAME ; class MMmRequestProcessor * CGetInterdependentPropDesc::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?AddObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@@Z @ 66 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddObjectL(class CMTPObjectMetaData const &) - ?DoHandleResponsePhaseL@CSetObjectReferences@@EAEHXZ @ 67 NONAME ; int CSetObjectReferences::DoHandleResponsePhaseL(void) - ?GetAccessWrapperL@CMmMtpDpAccessSingleton@@SAAAVCMmMtpDpMetadataAccessWrapper@@XZ @ 68 NONAME ; class CMmMtpDpMetadataAccessWrapper & CMmMtpDpAccessSingleton::GetAccessWrapperL(void) - ??1CGetObjectPropsSupported@@UAE@XZ @ 69 NONAME ; CGetObjectPropsSupported::~CGetObjectPropsSupported(void) - ?CheckRequestL@CGetObjectPropList@@MAE?AW4TMTPResponseCode@@XZ @ 70 NONAME ; enum TMTPResponseCode CGetObjectPropList::CheckRequestL(void) - ?HasDataphase@CRequestProcessor@@MBEHXZ @ 71 NONAME ; int CRequestProcessor::HasDataphase(void) const - ?NewL@CGetObjectPropsSupported@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 72 NONAME ; class MMmRequestProcessor * CGetObjectPropsSupported::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?Connection@CRequestProcessor@@MBEAAVMMTPConnection@@XZ @ 73 NONAME ; class MMTPConnection & CRequestProcessor::Connection(void) const - ?ConstructL@CGetFormatCapabilities@@AAEXXZ @ 74 NONAME ; void CGetFormatCapabilities::ConstructL(void) - ??1CPropertySettingUtility@@UAE@XZ @ 75 NONAME ; CPropertySettingUtility::~CPropertySettingUtility(void) - ??1CGetPartialObject@@UAE@XZ @ 76 NONAME ; CGetPartialObject::~CGetPartialObject(void) - ?NewL@CGetObjectInfo@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 77 NONAME ; class MMmRequestProcessor * CGetObjectInfo::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?RunError@CSetObjectPropList@@MAEHH@Z @ 78 NONAME ; int CSetObjectPropList::RunError(int) - ?CheckRequestL@CGetInterdependentPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 79 NONAME ; enum TMTPResponseCode CGetInterdependentPropDesc::CheckRequestL(void) - ?Match@CRequestUnknown@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 80 NONAME ; int CRequestUnknown::Match(class TMTPTypeRequest const &, class MMTPConnection &) const - ?ServiceL@CMoveObject@@MAEXXZ @ 81 NONAME ; void CMoveObject::ServiceL(void) - ?CreateDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 82 NONAME ; void CMmMtpDpMetadataAccessWrapper::CreateDummyFile(class TDesC16 const &) - ?CheckRequestL@CGetObjectPropDesc@@MAE?AW4TMTPResponseCode@@XZ @ 83 NONAME ; enum TMTPResponseCode CGetObjectPropDesc::CheckRequestL(void) - ?DoHandleRToIPhaseL@CRequestProcessor@@MAEHXZ @ 84 NONAME ; int CRequestProcessor::DoHandleRToIPhaseL(void) - ?ServiceMetaDataToWrapperL@CSetObjectPropValue@@IAE?AW4TMTPResponseCode@@GAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 85 NONAME ; enum TMTPResponseCode CSetObjectPropValue::ServiceMetaDataToWrapperL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &) - ?FormatFromFilename@MmMtpDpUtility@@SA?AW4TMTPFormatCode@@ABVTDesC16@@@Z @ 86 NONAME ; enum TMTPFormatCode MmMtpDpUtility::FormatFromFilename(class TDesC16 const &) - ?CheckRequestL@CSetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 87 NONAME ; enum TMTPResponseCode CSetObjectPropValue::CheckRequestL(void) - ??0CPropertySettingUtility@@IAE@XZ @ 88 NONAME ; CPropertySettingUtility::CPropertySettingUtility(void) - ?Match@CRequestProcessor@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 89 NONAME ; int CRequestProcessor::Match(class TMTPTypeRequest const &, class MMTPConnection &) const - ??0CCopyObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 90 NONAME ; CCopyObject::CCopyObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?CheckRequestL@CRequestProcessor@@MAE?AW4TMTPResponseCode@@XZ @ 91 NONAME ; enum TMTPResponseCode CRequestProcessor::CheckRequestL(void) - ?SendResponseL@CRequestProcessor@@IAEXW4TMTPResponseCode@@HPAK@Z @ 92 NONAME ; void CRequestProcessor::SendResponseL(enum TMTPResponseCode, int, unsigned long *) - ??0CGetPartialObject@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@@Z @ 93 NONAME ; CGetPartialObject::CGetPartialObject(class MMTPDataProviderFramework &, class MMTPConnection &) - ?DoHandleCompletingPhaseL@CRequestProcessor@@MAEHXZ @ 94 NONAME ; int CRequestProcessor::DoHandleCompletingPhaseL(void) - ?DeleteDummyFile@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 95 NONAME ; void CMmMtpDpMetadataAccessWrapper::DeleteDummyFile(class TDesC16 const &) - ?DoSetObjectReferencesL@CSetObjectReferences@@IAEXABVCMTPObjectMetaData@@@Z @ 96 NONAME ; void CSetObjectReferences::DoSetObjectReferencesL(class CMTPObjectMetaData const &) - ??1CGetObjectInfo@@UAE@XZ @ 97 NONAME ; CGetObjectInfo::~CGetObjectInfo(void) - ?ServiceL@CRequestUnknown@@MAEXXZ @ 98 NONAME ; void CRequestUnknown::ServiceL(void) - ?HasDataphase@CSetObjectPropList@@MBEHXZ @ 99 NONAME ; int CSetObjectPropList::HasDataphase(void) const - ?NewL@CGetObjectReferences@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 100 NONAME ; class MMmRequestProcessor * CGetObjectReferences::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?DoCancel@CRenameObject@@MAEXXZ @ 101 NONAME ; void CRenameObject::DoCancel(void) - ??1CSetObjectReferences@@UAE@XZ @ 102 NONAME ; CSetObjectReferences::~CSetObjectReferences(void) - ?Match@CSendObject@@MBEHABVTMTPTypeRequest@@AAVMMTPConnection@@@Z @ 103 NONAME ; int CSendObject::Match(class TMTPTypeRequest const &, class MMTPConnection &) const - ?NewL@CSetObjectPropList@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 104 NONAME ; class MMmRequestProcessor * CSetObjectPropList::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?GetAllAbstractMediaL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@PAPAVCMPXMediaArray@@W4TMPXGeneralCategory@@@Z @ 105 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL(class TDesC16 const &, class CMPXMediaArray * *, enum TMPXGeneralCategory) - ??1CCopyObject@@UAE@XZ @ 106 NONAME ; CCopyObject::~CCopyObject(void) - ?RunL@CGetObjectPropList@@MAEXXZ @ 107 NONAME ; void CGetObjectPropList::RunL(void) - ?GetModifiedContentL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@AAHAAVCDesC16Array@@@Z @ 108 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetModifiedContentL(class TDesC16 const &, int &, class CDesC16Array &) - ?NewRangeFormDescriptionL@CDescriptionUtility@@QAEPAVCMTPTypeObjectPropDesc@@GKKKH@Z @ 109 NONAME ; class CMTPTypeObjectPropDesc * CDescriptionUtility::NewRangeFormDescriptionL(unsigned short, unsigned long, unsigned long, unsigned long, int) - ?RunError@CRequestProcessor@@MAEHH@Z @ 110 NONAME ; int CRequestProcessor::RunError(int) - ?SessionId@CRequestProcessor@@MAEKXZ @ 111 NONAME ; unsigned long CRequestProcessor::SessionId(void) - ??0CDescriptionUtility@@IAE@XZ @ 112 NONAME ; CDescriptionUtility::CDescriptionUtility(void) - ?HandleEventL@CRequestProcessor@@MAEXABVTMTPTypeEvent@@@Z @ 113 NONAME ; void CRequestProcessor::HandleEventL(class TMTPTypeEvent const &) - ?NewL@CGetPartialObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 114 NONAME ; class MMmRequestProcessor * CGetPartialObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?HasDataphase@CSetObjectReferences@@EBEHXZ @ 115 NONAME ; int CSetObjectReferences::HasDataphase(void) const - ?ConstructL@CGetInterdependentPropDesc@@IAEXXZ @ 116 NONAME ; void CGetInterdependentPropDesc::ConstructL(void) - ?RunError@CGetObjectPropList@@MAEHH@Z @ 117 NONAME ; int CGetObjectPropList::RunError(int) - ?DoHandleResponsePhaseL@CSetObjectPropList@@MAEHXZ @ 118 NONAME ; int CSetObjectPropList::DoHandleResponsePhaseL(void) - ??0CDeleteObject@@AAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 119 NONAME ; CDeleteObject::CDeleteObject(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?NewL@CRenameObject@@SAPAV1@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 120 NONAME ; class CRenameObject * CRenameObject::NewL(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &) - ?RenameObjectL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@ABVTDesC16@@@Z @ 121 NONAME ; void CMmMtpDpMetadataAccessWrapper::RenameObjectL(class CMTPObjectMetaData const &, class TDesC16 const &) - ?GetObjectMetadataValueL@CMmMtpDpMetadataAccessWrapper@@QAEXGAAVMMTPType@@ABVCMTPObjectMetaData@@@Z @ 122 NONAME ; void CMmMtpDpMetadataAccessWrapper::GetObjectMetadataValueL(unsigned short, class MMTPType &, class CMTPObjectMetaData const &) - ?AddDummyFileL@CMmMtpDpMetadataAccessWrapper@@QAEXABVTDesC16@@@Z @ 123 NONAME ; void CMmMtpDpMetadataAccessWrapper::AddDummyFileL(class TDesC16 const &) - ??0CGetObjectPropDesc@@AAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 124 NONAME ; CGetObjectPropDesc::CGetObjectPropDesc(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?ConstructL@CGetObjectPropDesc@@AAEXXZ @ 125 NONAME ; void CGetObjectPropDesc::ConstructL(void) - ??0CGetInterdependentPropDesc@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 126 NONAME ; CGetInterdependentPropDesc::CGetInterdependentPropDesc(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??1CGetObjectPropDesc@@UAE@XZ @ 127 NONAME ; CGetObjectPropDesc::~CGetObjectPropDesc(void) - ?ServiceL@CGetObjectPropDesc@@MAEXXZ @ 128 NONAME ; void CGetObjectPropDesc::ServiceL(void) - ?HasDataphase@CSetObjectPropValue@@MBEHXZ @ 129 NONAME ; int CSetObjectPropValue::HasDataphase(void) const - ?ServiceL@CCopyObject@@MAEXXZ @ 130 NONAME ; void CCopyObject::ServiceL(void) - ?CheckRequestL@CGetObjectPropValue@@MAE?AW4TMTPResponseCode@@XZ @ 131 NONAME ; enum TMTPResponseCode CGetObjectPropValue::CheckRequestL(void) - ?CloseSessionL@CMmMtpDpAccessSingleton@@SAXXZ @ 132 NONAME ; void CMmMtpDpAccessSingleton::CloseSessionL(void) - ?NewL@CGetFormatCapabilities@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 133 NONAME ; class MMmRequestProcessor * CGetFormatCapabilities::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ?ReceiveDataL@CRequestProcessor@@IAEXAAVMMTPType@@@Z @ 134 NONAME ; void CRequestProcessor::ReceiveDataL(class MMTPType &) - ??1CDescriptionUtility@@UAE@XZ @ 135 NONAME ; CDescriptionUtility::~CDescriptionUtility(void) - ?RunL@CSetObjectPropList@@MAEXXZ @ 136 NONAME ; void CSetObjectPropList::RunL(void) - ?ConstructL@CMoveObject@@IAEXXZ @ 137 NONAME ; void CMoveObject::ConstructL(void) - ?NewL@CSendObject@@SAPAVMMmRequestProcessor@@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 138 NONAME ; class MMmRequestProcessor * CSendObject::NewL(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??1CGetObjectReferences@@UAE@XZ @ 139 NONAME ; CGetObjectReferences::~CGetObjectReferences(void) - ?HasDataphase@CSendObject@@MBEHXZ @ 140 NONAME ; int CSendObject::HasDataphase(void) const - ??1CSetObjectPropValue@@UAE@XZ @ 141 NONAME ; CSetObjectPropValue::~CSetObjectPropValue(void) - ?ConstructL@CRenameObject@@IAEXXZ @ 142 NONAME ; void CRenameObject::ConstructL(void) - ?SendDataL@CRequestProcessor@@IAEXABVMMTPType@@@Z @ 143 NONAME ; void CRequestProcessor::SendDataL(class MMTPType const &) - ?DoHandleResponsePhaseL@CSendObject@@MAEHXZ @ 144 NONAME ; int CSendObject::DoHandleResponsePhaseL(void) - ?SetReferenceL@CMmMtpDpMetadataAccessWrapper@@QAEXABVCMTPObjectMetaData@@AAVCDesC16Array@@@Z @ 145 NONAME ; void CMmMtpDpMetadataAccessWrapper::SetReferenceL(class CMTPObjectMetaData const &, class CDesC16Array &) - ?DoCancel@CGetObjectPropList@@MAEXXZ @ 146 NONAME ; void CGetObjectPropList::DoCancel(void) - ?ServiceL@CGetInterdependentPropDesc@@MAEXXZ @ 147 NONAME ; void CGetInterdependentPropDesc::ServiceL(void) - ?DoHandleRequestPhaseL@CRequestProcessor@@MAEHXZ @ 148 NONAME ; int CRequestProcessor::DoHandleRequestPhaseL(void) - ?GetAbstractMediaNameL@CMmMtpDpMetadataAccessWrapper@@QAEPAVHBufC16@@PAVCMPXMedia@@W4TMPXGeneralCategory@@@Z @ 149 NONAME ; class HBufC16 * CMmMtpDpMetadataAccessWrapper::GetAbstractMediaNameL(class CMPXMedia *, enum TMPXGeneralCategory) - ?ServiceL@CSetObjectPropValue@@MAEXXZ @ 150 NONAME ; void CSetObjectPropValue::ServiceL(void) - ?RunError@CRenameObject@@MAEHH@Z @ 151 NONAME ; int CRenameObject::RunError(int) - ??1CDeleteObject@@UAE@XZ @ 152 NONAME ; CDeleteObject::~CDeleteObject(void) - ?DoHandleResponsePhaseL@CGetPartialObject@@MAEHXZ @ 153 NONAME ; int CGetPartialObject::DoHandleResponsePhaseL(void) - ?CheckRequestL@CGetFormatCapabilities@@MAE?AW4TMTPResponseCode@@XZ @ 154 NONAME ; enum TMTPResponseCode CGetFormatCapabilities::CheckRequestL(void) - ??0CSetObjectPropValue@@IAE@AAVMMTPDataProviderFramework@@AAVMMTPConnection@@AAVMMmMtpDpConfig@@@Z @ 155 NONAME ; CSetObjectPropValue::CSetObjectPropValue(class MMTPDataProviderFramework &, class MMTPConnection &, class MMmMtpDpConfig &) - ??1CGetObjectPropList@@UAE@XZ @ 156 NONAME ; CGetObjectPropList::~CGetObjectPropList(void) - ?ServiceL@CGetObjectPropList@@MAEXXZ @ 157 NONAME ; void CGetObjectPropList::ServiceL(void) - ??0CRenameObject@@IAE@AAVMMTPDataProviderFramework@@AAVCMmMtpDpMetadataAccessWrapper@@@Z @ 158 NONAME ; CRenameObject::CRenameObject(class MMTPDataProviderFramework &, class CMmMtpDpMetadataAccessWrapper &) - ?ActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 159 NONAME ; void CMmMtpDpAccessSingleton::ActiveToIdleStatusChange(void) - ?SetPSStatus@MmMtpDpUtility@@SAXW4TMtpPSStatus@@@Z @ 160 NONAME ; void MmMtpDpUtility::SetPSStatus(enum TMtpPSStatus) - ?CancelActiveToIdleStatusChange@CMmMtpDpAccessSingleton@@SAXXZ @ 161 NONAME ; void CMmMtpDpAccessSingleton::CancelActiveToIdleStatusChange(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 &) + ?ServiceL@CGetObjectPropList@@MAEXXZ @ 148 NONAME ; void CGetObjectPropList::ServiceL(void) diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/eabi/mmmtpdprequestprocessoru.def --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/eabi/mmmtpdprequestprocessoru.def Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/eabi/mmmtpdprequestprocessoru.def Wed Jun 09 10:13:45 2010 +0300 @@ -52,231 +52,214 @@ _ZN14MmMtpDpUtility18FormatFromFilenameERK7TDesC16 @ 51 NONAME _ZN15CRequestUnknown4NewLER25MMTPDataProviderFrameworkR14MMTPConnection @ 52 NONAME _ZN15CRequestUnknown8ServiceLEv @ 53 NONAME - _ZN15CRequestUnknownC1ER25MMTPDataProviderFrameworkR14MMTPConnection @ 54 NONAME - _ZN15CRequestUnknownC2ER25MMTPDataProviderFrameworkR14MMTPConnection @ 55 NONAME - _ZN15CRequestUnknownD0Ev @ 56 NONAME - _ZN15CRequestUnknownD1Ev @ 57 NONAME - _ZN15CRequestUnknownD2Ev @ 58 NONAME - _ZN17CGetPartialObject13CheckRequestLEv @ 59 NONAME - _ZN17CGetPartialObject22DoHandleResponsePhaseLEv @ 60 NONAME - _ZN17CGetPartialObject4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 61 NONAME - _ZN17CGetPartialObject8ServiceLEv @ 62 NONAME - _ZN17CGetPartialObjectC1ER25MMTPDataProviderFrameworkR14MMTPConnection @ 63 NONAME - _ZN17CGetPartialObjectC2ER25MMTPDataProviderFrameworkR14MMTPConnection @ 64 NONAME - _ZN17CGetPartialObjectD0Ev @ 65 NONAME - _ZN17CGetPartialObjectD1Ev @ 66 NONAME - _ZN17CGetPartialObjectD2Ev @ 67 NONAME - _ZN17CRequestProcessor12HandleEventLERK13TMTPTypeEvent @ 68 NONAME - _ZN17CRequestProcessor12ReceiveDataLER8MMTPType @ 69 NONAME - _ZN17CRequestProcessor13CheckRequestLEv @ 70 NONAME - _ZN17CRequestProcessor13SendResponseLE16TMTPResponseCodeiPm @ 71 NONAME - _ZN17CRequestProcessor13UsbDisconnectEv @ 72 NONAME - _ZN17CRequestProcessor14HandleRequestLERK15TMTPTypeRequest20TMTPTransactionPhase @ 73 NONAME - _ZN17CRequestProcessor18DoHandleRToIPhaseLEv @ 74 NONAME - _ZN17CRequestProcessor21DoHandleRequestPhaseLEv @ 75 NONAME - _ZN17CRequestProcessor22DoHandleDataIToRPhaseLEv @ 76 NONAME - _ZN17CRequestProcessor22DoHandleResponsePhaseLEv @ 77 NONAME - _ZN17CRequestProcessor24DoHandleCompletingPhaseLEv @ 78 NONAME - _ZN17CRequestProcessor4RunLEv @ 79 NONAME - _ZN17CRequestProcessor7ReleaseEv @ 80 NONAME - _ZN17CRequestProcessor8DoCancelEv @ 81 NONAME - _ZN17CRequestProcessor8RunErrorEi @ 82 NONAME - _ZN17CRequestProcessor9SendDataLERK8MMTPType @ 83 NONAME - _ZN17CRequestProcessor9SessionIdEv @ 84 NONAME - _ZN17CRequestProcessorC2ER25MMTPDataProviderFrameworkR14MMTPConnectioniPK22TMTPRequestElementInfo @ 85 NONAME - _ZN17CRequestProcessorD0Ev @ 86 NONAME - _ZN17CRequestProcessorD1Ev @ 87 NONAME - _ZN17CRequestProcessorD2Ev @ 88 NONAME - _ZN18CGetObjectPropDesc10ConstructLEv @ 89 NONAME - _ZN18CGetObjectPropDesc13CheckRequestLEv @ 90 NONAME - _ZN18CGetObjectPropDesc4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 91 NONAME - _ZN18CGetObjectPropDesc8ServiceLEv @ 92 NONAME - _ZN18CGetObjectPropDescC1ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 93 NONAME - _ZN18CGetObjectPropDescC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 94 NONAME - _ZN18CGetObjectPropDescD0Ev @ 95 NONAME - _ZN18CGetObjectPropDescD1Ev @ 96 NONAME - _ZN18CGetObjectPropDescD2Ev @ 97 NONAME - _ZN18CGetObjectPropList10ConstructLEv @ 98 NONAME - _ZN18CGetObjectPropList13CheckRequestLEv @ 99 NONAME - _ZN18CGetObjectPropList4RunLEv @ 100 NONAME - _ZN18CGetObjectPropList8DoCancelEv @ 101 NONAME - _ZN18CGetObjectPropList8RunErrorEi @ 102 NONAME - _ZN18CGetObjectPropList8ServiceLEv @ 103 NONAME - _ZN18CGetObjectPropListC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 104 NONAME - _ZN18CGetObjectPropListD0Ev @ 105 NONAME - _ZN18CGetObjectPropListD1Ev @ 106 NONAME - _ZN18CGetObjectPropListD2Ev @ 107 NONAME - _ZN18CSetObjectPropList13CheckRequestLEv @ 108 NONAME - _ZN18CSetObjectPropList22DoHandleResponsePhaseLEv @ 109 NONAME - _ZN18CSetObjectPropList4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 110 NONAME - _ZN18CSetObjectPropList4RunLEv @ 111 NONAME - _ZN18CSetObjectPropList8DoCancelEv @ 112 NONAME - _ZN18CSetObjectPropList8RunErrorEi @ 113 NONAME - _ZN18CSetObjectPropList8ServiceLEv @ 114 NONAME - _ZN18CSetObjectPropListD0Ev @ 115 NONAME - _ZN18CSetObjectPropListD1Ev @ 116 NONAME - _ZN18CSetObjectPropListD2Ev @ 117 NONAME - _ZN19CDescriptionUtility24NewRangeFormDescriptionLEtmmmi @ 118 NONAME - _ZN19CDescriptionUtilityC2Ev @ 119 NONAME - _ZN19CDescriptionUtilityD0Ev @ 120 NONAME - _ZN19CDescriptionUtilityD1Ev @ 121 NONAME - _ZN19CDescriptionUtilityD2Ev @ 122 NONAME - _ZN19CGetObjectPropValue13CheckRequestLEv @ 123 NONAME - _ZN19CGetObjectPropValue27ServiceMetaDataFromWrapperLEtR8MMTPTypeRK18CMTPObjectMetaData @ 124 NONAME - _ZN19CGetObjectPropValue8ServiceLEv @ 125 NONAME - _ZN19CGetObjectPropValueC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 126 NONAME - _ZN19CGetObjectPropValueD0Ev @ 127 NONAME - _ZN19CGetObjectPropValueD1Ev @ 128 NONAME - _ZN19CGetObjectPropValueD2Ev @ 129 NONAME - _ZN19CSetObjectPropValue13CheckRequestLEv @ 130 NONAME - _ZN19CSetObjectPropValue22DoHandleResponsePhaseLEv @ 131 NONAME - _ZN19CSetObjectPropValue25ServiceMetaDataToWrapperLEtR8MMTPTypeRK18CMTPObjectMetaData @ 132 NONAME - _ZN19CSetObjectPropValue8ServiceLEv @ 133 NONAME - _ZN19CSetObjectPropValueC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 134 NONAME - _ZN19CSetObjectPropValueD0Ev @ 135 NONAME - _ZN19CSetObjectPropValueD1Ev @ 136 NONAME - _ZN19CSetObjectPropValueD2Ev @ 137 NONAME - _ZN20CGetObjectReferences4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 138 NONAME - _ZN20CGetObjectReferencesD0Ev @ 139 NONAME - _ZN20CGetObjectReferencesD1Ev @ 140 NONAME - _ZN20CGetObjectReferencesD2Ev @ 141 NONAME - _ZN20CSetObjectReferences22DoHandleResponsePhaseLEv @ 142 NONAME - _ZN20CSetObjectReferences22DoSetObjectReferencesLERK18CMTPObjectMetaData @ 143 NONAME - _ZN20CSetObjectReferences4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 144 NONAME - _ZN20CSetObjectReferences8ServiceLEv @ 145 NONAME - _ZN20CSetObjectReferencesC1ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 146 NONAME - _ZN20CSetObjectReferencesC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 147 NONAME - _ZN20CSetObjectReferencesD0Ev @ 148 NONAME - _ZN20CSetObjectReferencesD1Ev @ 149 NONAME - _ZN20CSetObjectReferencesD2Ev @ 150 NONAME - _ZN22CGetFormatCapabilities10ConstructLEv @ 151 NONAME - _ZN22CGetFormatCapabilities13CheckRequestLEv @ 152 NONAME - _ZN22CGetFormatCapabilities4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 153 NONAME - _ZN22CGetFormatCapabilities8ServiceLEv @ 154 NONAME - _ZN22CGetFormatCapabilitiesC1ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 155 NONAME - _ZN22CGetFormatCapabilitiesC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 156 NONAME - _ZN22CGetFormatCapabilitiesD0Ev @ 157 NONAME - _ZN22CGetFormatCapabilitiesD1Ev @ 158 NONAME - _ZN22CGetFormatCapabilitiesD2Ev @ 159 NONAME - _ZN23CMmMtpDpAccessSingleton12OpenSessionLEv @ 160 NONAME - _ZN23CMmMtpDpAccessSingleton13CloseSessionLEv @ 161 NONAME - _ZN23CMmMtpDpAccessSingleton17GetAccessWrapperLEv @ 162 NONAME - _ZN23CMmMtpDpAccessSingleton24ActiveToIdleStatusChangeEv @ 163 NONAME - _ZN23CMmMtpDpAccessSingleton30CancelActiveToIdleStatusChangeEv @ 164 NONAME - _ZN23CMmMtpDpAccessSingleton7CreateLER25MMTPDataProviderFramework @ 165 NONAME - _ZN23CMmMtpDpAccessSingleton7ReleaseEv @ 166 NONAME - _ZN23CPropertySettingUtility20SetMetaDataToWrapperER14MMmMtpDpConfigtR8MMTPTypeRK18CMTPObjectMetaData @ 167 NONAME - _ZN23CPropertySettingUtilityC2Ev @ 168 NONAME - _ZN23CPropertySettingUtilityD0Ev @ 169 NONAME - _ZN23CPropertySettingUtilityD1Ev @ 170 NONAME - _ZN23CPropertySettingUtilityD2Ev @ 171 NONAME - _ZN24CGetObjectPropsSupported4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 172 NONAME - _ZN24CGetObjectPropsSupported8ServiceLEv @ 173 NONAME - _ZN24CGetObjectPropsSupportedD0Ev @ 174 NONAME - _ZN24CGetObjectPropsSupportedD1Ev @ 175 NONAME - _ZN24CGetObjectPropsSupportedD2Ev @ 176 NONAME - _ZN26CGetInterdependentPropDesc10ConstructLEv @ 177 NONAME - _ZN26CGetInterdependentPropDesc13CheckRequestLEv @ 178 NONAME - _ZN26CGetInterdependentPropDesc4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 179 NONAME - _ZN26CGetInterdependentPropDesc8ServiceLEv @ 180 NONAME - _ZN26CGetInterdependentPropDescC1ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 181 NONAME - _ZN26CGetInterdependentPropDescC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 182 NONAME - _ZN26CGetInterdependentPropDescD0Ev @ 183 NONAME - _ZN26CGetInterdependentPropDescD1Ev @ 184 NONAME - _ZN26CGetInterdependentPropDescD2Ev @ 185 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper10AddObjectLERK18CMTPObjectMetaData @ 186 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper13AddDummyFileLERK7TDesC16 @ 187 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper13DeleteObjectLERK18CMTPObjectMetaData @ 188 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper13RenameObjectLERK18CMTPObjectMetaDataRK7TDesC16 @ 189 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper13SetReferenceLERK18CMTPObjectMetaDataR12CDesC16Array @ 190 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper15CreateDummyFileERK7TDesC16 @ 191 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper15DeleteDummyFileERK7TDesC16 @ 192 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper16CleanupDatabaseLEv @ 193 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper16GetAllReferenceLEP9CMPXMediaR12CDesC16Array @ 194 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper19GetModifiedContentLERK7TDesC16RiR12CDesC16Array @ 195 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper20GetAllAbstractMediaLERK7TDesC16PP14CMPXMediaArray19TMPXGeneralCategory @ 196 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper21GetAbstractMediaNameLEP9CMPXMedia19TMPXGeneralCategory @ 197 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper22UpdateMusicCollectionLERK7TDesC16 @ 198 NONAME - _ZN29CMmMtpDpMetadataAccessWrapper23GetObjectMetadataValueLEtR8MMTPTypeRK18CMTPObjectMetaData @ 199 NONAME - _ZNK11CSendObject12HasDataphaseEv @ 200 NONAME - _ZNK11CSendObject5MatchERK15TMTPTypeRequestR14MMTPConnection @ 201 NONAME - _ZNK15CRequestUnknown5MatchERK15TMTPTypeRequestR14MMTPConnection @ 202 NONAME - _ZNK17CRequestProcessor10ConnectionEv @ 203 NONAME - _ZNK17CRequestProcessor12HasDataphaseEv @ 204 NONAME - _ZNK17CRequestProcessor5MatchERK13TMTPTypeEventR14MMTPConnection @ 205 NONAME - _ZNK17CRequestProcessor5MatchERK15TMTPTypeRequestR14MMTPConnection @ 206 NONAME - _ZNK17CRequestProcessor7RequestEv @ 207 NONAME - _ZNK18CSetObjectPropList12HasDataphaseEv @ 208 NONAME - _ZNK19CSetObjectPropValue12HasDataphaseEv @ 209 NONAME - _ZNK20CSetObjectReferences12HasDataphaseEv @ 210 NONAME - _ZTI10CGetObject @ 211 NONAME - _ZTI11CCopyObject @ 212 NONAME - _ZTI11CMoveObject @ 213 NONAME - _ZTI11CSendObject @ 214 NONAME - _ZTI13CDeleteObject @ 215 NONAME - _ZTI13CRenameObject @ 216 NONAME - _ZTI14CGetObjectInfo @ 217 NONAME - _ZTI15CRequestChecker @ 218 NONAME - _ZTI15CRequestUnknown @ 219 NONAME - _ZTI15TMTPTypeFlatBuf @ 220 NONAME - _ZTI17CGetPartialObject @ 221 NONAME - _ZTI17CRequestProcessor @ 222 NONAME - _ZTI18CGetObjectPropDesc @ 223 NONAME - _ZTI18CGetObjectPropList @ 224 NONAME - _ZTI18CHXMetaDataUtility @ 225 NONAME - _ZTI18CSetObjectPropList @ 226 NONAME - _ZTI19CDescriptionUtility @ 227 NONAME - _ZTI19CGetObjectPropValue @ 228 NONAME - _ZTI19CSetObjectPropValue @ 229 NONAME - _ZTI20CGetObjectReferences @ 230 NONAME - _ZTI20CSetObjectReferences @ 231 NONAME - _ZTI22CGetFormatCapabilities @ 232 NONAME - _ZTI23CMmMtpDpAccessSingleton @ 233 NONAME - _ZTI23CPropertySettingUtility @ 234 NONAME - _ZTI24CGetObjectPropsSupported @ 235 NONAME - _ZTI25CMmMtpDpMetadataMpxAccess @ 236 NONAME - _ZTI26CGetInterdependentPropDesc @ 237 NONAME - _ZTI27CMmMtpDpMetadataVideoAccess @ 238 NONAME - _ZTI29CMmMtpDpMetadataAccessWrapper @ 239 NONAME - _ZTV10CGetObject @ 240 NONAME - _ZTV11CCopyObject @ 241 NONAME - _ZTV11CMoveObject @ 242 NONAME - _ZTV11CSendObject @ 243 NONAME - _ZTV13CDeleteObject @ 244 NONAME - _ZTV13CRenameObject @ 245 NONAME - _ZTV14CGetObjectInfo @ 246 NONAME - _ZTV15CRequestChecker @ 247 NONAME - _ZTV15CRequestUnknown @ 248 NONAME - _ZTV15TMTPTypeFlatBuf @ 249 NONAME - _ZTV17CGetPartialObject @ 250 NONAME - _ZTV17CRequestProcessor @ 251 NONAME - _ZTV18CGetObjectPropDesc @ 252 NONAME - _ZTV18CGetObjectPropList @ 253 NONAME - _ZTV18CHXMetaDataUtility @ 254 NONAME - _ZTV18CSetObjectPropList @ 255 NONAME - _ZTV19CDescriptionUtility @ 256 NONAME - _ZTV19CGetObjectPropValue @ 257 NONAME - _ZTV19CSetObjectPropValue @ 258 NONAME - _ZTV20CGetObjectReferences @ 259 NONAME - _ZTV20CSetObjectReferences @ 260 NONAME - _ZTV22CGetFormatCapabilities @ 261 NONAME - _ZTV23CMmMtpDpAccessSingleton @ 262 NONAME - _ZTV23CPropertySettingUtility @ 263 NONAME - _ZTV24CGetObjectPropsSupported @ 264 NONAME - _ZTV25CMmMtpDpMetadataMpxAccess @ 265 NONAME - _ZTV26CGetInterdependentPropDesc @ 266 NONAME - _ZTV27CMmMtpDpMetadataVideoAccess @ 267 NONAME - _ZTV29CMmMtpDpMetadataAccessWrapper @ 268 NONAME - _ZThn28_N11CSendObject13UsbDisconnectEv @ 269 NONAME - _ZThn28_N17CRequestProcessor12HandleEventLERK13TMTPTypeEvent @ 270 NONAME - _ZThn28_N17CRequestProcessor13UsbDisconnectEv @ 271 NONAME - _ZThn28_N17CRequestProcessor14HandleRequestLERK15TMTPTypeRequest20TMTPTransactionPhase @ 272 NONAME - _ZThn28_N17CRequestProcessor7ReleaseEv @ 273 NONAME - _ZThn28_N17CRequestProcessor9SessionIdEv @ 274 NONAME - _ZThn28_NK11CSendObject5MatchERK15TMTPTypeRequestR14MMTPConnection @ 275 NONAME - _ZThn28_NK15CRequestUnknown5MatchERK15TMTPTypeRequestR14MMTPConnection @ 276 NONAME - _ZThn28_NK17CRequestProcessor10ConnectionEv @ 277 NONAME - _ZThn28_NK17CRequestProcessor5MatchERK13TMTPTypeEventR14MMTPConnection @ 278 NONAME - _ZThn28_NK17CRequestProcessor5MatchERK15TMTPTypeRequestR14MMTPConnection @ 279 NONAME - _ZThn28_NK17CRequestProcessor7RequestEv @ 280 NONAME + _ZN15CRequestUnknownD0Ev @ 54 NONAME + _ZN15CRequestUnknownD1Ev @ 55 NONAME + _ZN15CRequestUnknownD2Ev @ 56 NONAME + _ZN17CGetPartialObject13CheckRequestLEv @ 57 NONAME + _ZN17CGetPartialObject22DoHandleResponsePhaseLEv @ 58 NONAME + _ZN17CGetPartialObject4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 59 NONAME + _ZN17CGetPartialObject8ServiceLEv @ 60 NONAME + _ZN17CGetPartialObjectD0Ev @ 61 NONAME + _ZN17CGetPartialObjectD1Ev @ 62 NONAME + _ZN17CGetPartialObjectD2Ev @ 63 NONAME + _ZN17CRequestProcessor12HandleEventLERK13TMTPTypeEvent @ 64 NONAME + _ZN17CRequestProcessor12ReceiveDataLER8MMTPType @ 65 NONAME + _ZN17CRequestProcessor13CheckRequestLEv @ 66 NONAME + _ZN17CRequestProcessor13SendResponseLE16TMTPResponseCodeiPm @ 67 NONAME + _ZN17CRequestProcessor13UsbDisconnectEv @ 68 NONAME + _ZN17CRequestProcessor14HandleRequestLERK15TMTPTypeRequest20TMTPTransactionPhase @ 69 NONAME + _ZN17CRequestProcessor18DoHandleRToIPhaseLEv @ 70 NONAME + _ZN17CRequestProcessor21DoHandleRequestPhaseLEv @ 71 NONAME + _ZN17CRequestProcessor22DoHandleDataIToRPhaseLEv @ 72 NONAME + _ZN17CRequestProcessor22DoHandleResponsePhaseLEv @ 73 NONAME + _ZN17CRequestProcessor24DoHandleCompletingPhaseLEv @ 74 NONAME + _ZN17CRequestProcessor4RunLEv @ 75 NONAME + _ZN17CRequestProcessor7ReleaseEv @ 76 NONAME + _ZN17CRequestProcessor8DoCancelEv @ 77 NONAME + _ZN17CRequestProcessor8RunErrorEi @ 78 NONAME + _ZN17CRequestProcessor9SendDataLERK8MMTPType @ 79 NONAME + _ZN17CRequestProcessor9SessionIdEv @ 80 NONAME + _ZN17CRequestProcessorC2ER25MMTPDataProviderFrameworkR14MMTPConnectioniPK22TMTPRequestElementInfo @ 81 NONAME + _ZN17CRequestProcessorD0Ev @ 82 NONAME + _ZN17CRequestProcessorD1Ev @ 83 NONAME + _ZN17CRequestProcessorD2Ev @ 84 NONAME + _ZN18CGetObjectPropDesc13CheckRequestLEv @ 85 NONAME + _ZN18CGetObjectPropDesc4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 86 NONAME + _ZN18CGetObjectPropDesc8ServiceLEv @ 87 NONAME + _ZN18CGetObjectPropDescD0Ev @ 88 NONAME + _ZN18CGetObjectPropDescD1Ev @ 89 NONAME + _ZN18CGetObjectPropDescD2Ev @ 90 NONAME + _ZN18CGetObjectPropList10ConstructLEv @ 91 NONAME + _ZN18CGetObjectPropList13CheckRequestLEv @ 92 NONAME + _ZN18CGetObjectPropList4RunLEv @ 93 NONAME + _ZN18CGetObjectPropList8DoCancelEv @ 94 NONAME + _ZN18CGetObjectPropList8RunErrorEi @ 95 NONAME + _ZN18CGetObjectPropList8ServiceLEv @ 96 NONAME + _ZN18CGetObjectPropListC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 97 NONAME + _ZN18CGetObjectPropListD0Ev @ 98 NONAME + _ZN18CGetObjectPropListD1Ev @ 99 NONAME + _ZN18CGetObjectPropListD2Ev @ 100 NONAME + _ZN18CSetObjectPropList13CheckRequestLEv @ 101 NONAME + _ZN18CSetObjectPropList22DoHandleResponsePhaseLEv @ 102 NONAME + _ZN18CSetObjectPropList4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 103 NONAME + _ZN18CSetObjectPropList4RunLEv @ 104 NONAME + _ZN18CSetObjectPropList8DoCancelEv @ 105 NONAME + _ZN18CSetObjectPropList8RunErrorEi @ 106 NONAME + _ZN18CSetObjectPropList8ServiceLEv @ 107 NONAME + _ZN18CSetObjectPropListD0Ev @ 108 NONAME + _ZN18CSetObjectPropListD1Ev @ 109 NONAME + _ZN18CSetObjectPropListD2Ev @ 110 NONAME + _ZN19CDescriptionUtility24NewRangeFormDescriptionLEtmmmi @ 111 NONAME + _ZN19CDescriptionUtilityC2Ev @ 112 NONAME + _ZN19CDescriptionUtilityD0Ev @ 113 NONAME + _ZN19CDescriptionUtilityD1Ev @ 114 NONAME + _ZN19CDescriptionUtilityD2Ev @ 115 NONAME + _ZN19CGetObjectPropValue13CheckRequestLEv @ 116 NONAME + _ZN19CGetObjectPropValue27ServiceMetaDataFromWrapperLEtR8MMTPTypeRK18CMTPObjectMetaData @ 117 NONAME + _ZN19CGetObjectPropValue8ServiceLEv @ 118 NONAME + _ZN19CGetObjectPropValueC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 119 NONAME + _ZN19CGetObjectPropValueD0Ev @ 120 NONAME + _ZN19CGetObjectPropValueD1Ev @ 121 NONAME + _ZN19CGetObjectPropValueD2Ev @ 122 NONAME + _ZN19CSetObjectPropValue13CheckRequestLEv @ 123 NONAME + _ZN19CSetObjectPropValue22DoHandleResponsePhaseLEv @ 124 NONAME + _ZN19CSetObjectPropValue25ServiceMetaDataToWrapperLEtR8MMTPTypeRK18CMTPObjectMetaData @ 125 NONAME + _ZN19CSetObjectPropValue8ServiceLEv @ 126 NONAME + _ZN19CSetObjectPropValueC2ER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 127 NONAME + _ZN19CSetObjectPropValueD0Ev @ 128 NONAME + _ZN19CSetObjectPropValueD1Ev @ 129 NONAME + _ZN19CSetObjectPropValueD2Ev @ 130 NONAME + _ZN20CGetObjectReferences4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 131 NONAME + _ZN20CGetObjectReferencesD0Ev @ 132 NONAME + _ZN20CGetObjectReferencesD1Ev @ 133 NONAME + _ZN20CGetObjectReferencesD2Ev @ 134 NONAME + _ZN20CSetObjectReferences22DoHandleResponsePhaseLEv @ 135 NONAME + _ZN20CSetObjectReferences4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 136 NONAME + _ZN20CSetObjectReferences8ServiceLEv @ 137 NONAME + _ZN20CSetObjectReferencesD0Ev @ 138 NONAME + _ZN20CSetObjectReferencesD1Ev @ 139 NONAME + _ZN20CSetObjectReferencesD2Ev @ 140 NONAME + _ZN22CGetFormatCapabilities13CheckRequestLEv @ 141 NONAME + _ZN22CGetFormatCapabilities4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 142 NONAME + _ZN22CGetFormatCapabilities8ServiceLEv @ 143 NONAME + _ZN22CGetFormatCapabilitiesD0Ev @ 144 NONAME + _ZN22CGetFormatCapabilitiesD1Ev @ 145 NONAME + _ZN22CGetFormatCapabilitiesD2Ev @ 146 NONAME + _ZN23CMmMtpDpAccessSingleton12OpenSessionLEv @ 147 NONAME + _ZN23CMmMtpDpAccessSingleton13CloseSessionLEv @ 148 NONAME + _ZN23CMmMtpDpAccessSingleton17GetAccessWrapperLEv @ 149 NONAME + _ZN23CMmMtpDpAccessSingleton24ActiveToIdleStatusChangeEv @ 150 NONAME + _ZN23CMmMtpDpAccessSingleton30CancelActiveToIdleStatusChangeEv @ 151 NONAME + _ZN23CMmMtpDpAccessSingleton7CreateLER25MMTPDataProviderFramework @ 152 NONAME + _ZN23CMmMtpDpAccessSingleton7ReleaseEv @ 153 NONAME + _ZN23CPropertySettingUtility20SetMetaDataToWrapperER14MMmMtpDpConfigtR8MMTPTypeRK18CMTPObjectMetaData @ 154 NONAME + _ZN23CPropertySettingUtilityC2Ev @ 155 NONAME + _ZN23CPropertySettingUtilityD0Ev @ 156 NONAME + _ZN23CPropertySettingUtilityD1Ev @ 157 NONAME + _ZN23CPropertySettingUtilityD2Ev @ 158 NONAME + _ZN24CGetObjectPropsSupported4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 159 NONAME + _ZN24CGetObjectPropsSupported8ServiceLEv @ 160 NONAME + _ZN24CGetObjectPropsSupportedD0Ev @ 161 NONAME + _ZN24CGetObjectPropsSupportedD1Ev @ 162 NONAME + _ZN24CGetObjectPropsSupportedD2Ev @ 163 NONAME + _ZN26CGetInterdependentPropDesc13CheckRequestLEv @ 164 NONAME + _ZN26CGetInterdependentPropDesc4NewLER25MMTPDataProviderFrameworkR14MMTPConnectionR14MMmMtpDpConfig @ 165 NONAME + _ZN26CGetInterdependentPropDesc8ServiceLEv @ 166 NONAME + _ZN26CGetInterdependentPropDescD0Ev @ 167 NONAME + _ZN26CGetInterdependentPropDescD1Ev @ 168 NONAME + _ZN26CGetInterdependentPropDescD2Ev @ 169 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper10AddObjectLERK18CMTPObjectMetaData @ 170 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper13AddDummyFileLERK7TDesC16 @ 171 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper13DeleteObjectLERK18CMTPObjectMetaData @ 172 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper13RenameObjectLERK18CMTPObjectMetaDataRK7TDesC16 @ 173 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper13SetReferenceLERK18CMTPObjectMetaDataR12CDesC16Array @ 174 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper15CreateDummyFileERK7TDesC16 @ 175 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper15DeleteDummyFileERK7TDesC16 @ 176 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper16CleanupDatabaseLEv @ 177 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper16GetAllReferenceLERK18CMTPObjectMetaDataR12CDesC16Array @ 178 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper19GetModifiedContentLERK7TDesC16RiR12CDesC16Array @ 179 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper20GetAllAbstractMediaLERK7TDesC16R12CDesC16Array19TMPXGeneralCategory @ 180 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper22UpdateMusicCollectionLERK7TDesC16 @ 181 NONAME + _ZN29CMmMtpDpMetadataAccessWrapper23GetObjectMetadataValueLEtR8MMTPTypeRK18CMTPObjectMetaData @ 182 NONAME + _ZNK11CSendObject12HasDataphaseEv @ 183 NONAME + _ZNK11CSendObject5MatchERK15TMTPTypeRequestR14MMTPConnection @ 184 NONAME + _ZNK15CRequestUnknown5MatchERK15TMTPTypeRequestR14MMTPConnection @ 185 NONAME + _ZNK17CRequestProcessor10ConnectionEv @ 186 NONAME + _ZNK17CRequestProcessor12HasDataphaseEv @ 187 NONAME + _ZNK17CRequestProcessor5MatchERK13TMTPTypeEventR14MMTPConnection @ 188 NONAME + _ZNK17CRequestProcessor5MatchERK15TMTPTypeRequestR14MMTPConnection @ 189 NONAME + _ZNK17CRequestProcessor7RequestEv @ 190 NONAME + _ZNK18CSetObjectPropList12HasDataphaseEv @ 191 NONAME + _ZNK19CSetObjectPropValue12HasDataphaseEv @ 192 NONAME + _ZNK20CSetObjectReferences12HasDataphaseEv @ 193 NONAME + _ZTI10CGetObject @ 194 NONAME + _ZTI11CCopyObject @ 195 NONAME + _ZTI11CMoveObject @ 196 NONAME + _ZTI11CSendObject @ 197 NONAME + _ZTI13CDeleteObject @ 198 NONAME + _ZTI13CRenameObject @ 199 NONAME + _ZTI14CGetObjectInfo @ 200 NONAME + _ZTI15CRequestChecker @ 201 NONAME + _ZTI15CRequestUnknown @ 202 NONAME + _ZTI15TMTPTypeFlatBuf @ 203 NONAME + _ZTI17CGetPartialObject @ 204 NONAME + _ZTI17CRequestProcessor @ 205 NONAME + _ZTI18CGetObjectPropDesc @ 206 NONAME + _ZTI18CGetObjectPropList @ 207 NONAME + _ZTI18CHXMetaDataUtility @ 208 NONAME + _ZTI18CSetObjectPropList @ 209 NONAME + _ZTI19CDescriptionUtility @ 210 NONAME + _ZTI19CGetObjectPropValue @ 211 NONAME + _ZTI19CSetObjectPropValue @ 212 NONAME + _ZTI20CGetObjectReferences @ 213 NONAME + _ZTI20CSetObjectReferences @ 214 NONAME + _ZTI22CGetFormatCapabilities @ 215 NONAME + _ZTI23CMmMtpDpAccessSingleton @ 216 NONAME + _ZTI23CPropertySettingUtility @ 217 NONAME + _ZTI24CGetObjectPropsSupported @ 218 NONAME + _ZTI25CMmMtpDpMetadataMpxAccess @ 219 NONAME + _ZTI26CGetInterdependentPropDesc @ 220 NONAME + _ZTI27CMmMtpDpMetadataVideoAccess @ 221 NONAME + _ZTI29CMmMtpDpMetadataAccessWrapper @ 222 NONAME + _ZTV10CGetObject @ 223 NONAME + _ZTV11CCopyObject @ 224 NONAME + _ZTV11CMoveObject @ 225 NONAME + _ZTV11CSendObject @ 226 NONAME + _ZTV13CDeleteObject @ 227 NONAME + _ZTV13CRenameObject @ 228 NONAME + _ZTV14CGetObjectInfo @ 229 NONAME + _ZTV15CRequestChecker @ 230 NONAME + _ZTV15CRequestUnknown @ 231 NONAME + _ZTV15TMTPTypeFlatBuf @ 232 NONAME + _ZTV17CGetPartialObject @ 233 NONAME + _ZTV17CRequestProcessor @ 234 NONAME + _ZTV18CGetObjectPropDesc @ 235 NONAME + _ZTV18CGetObjectPropList @ 236 NONAME + _ZTV18CHXMetaDataUtility @ 237 NONAME + _ZTV18CSetObjectPropList @ 238 NONAME + _ZTV19CDescriptionUtility @ 239 NONAME + _ZTV19CGetObjectPropValue @ 240 NONAME + _ZTV19CSetObjectPropValue @ 241 NONAME + _ZTV20CGetObjectReferences @ 242 NONAME + _ZTV20CSetObjectReferences @ 243 NONAME + _ZTV22CGetFormatCapabilities @ 244 NONAME + _ZTV23CMmMtpDpAccessSingleton @ 245 NONAME + _ZTV23CPropertySettingUtility @ 246 NONAME + _ZTV24CGetObjectPropsSupported @ 247 NONAME + _ZTV25CMmMtpDpMetadataMpxAccess @ 248 NONAME + _ZTV26CGetInterdependentPropDesc @ 249 NONAME + _ZTV27CMmMtpDpMetadataVideoAccess @ 250 NONAME + _ZTV29CMmMtpDpMetadataAccessWrapper @ 251 NONAME + _ZThn28_N11CSendObject13UsbDisconnectEv @ 252 NONAME + _ZThn28_N17CRequestProcessor12HandleEventLERK13TMTPTypeEvent @ 253 NONAME + _ZThn28_N17CRequestProcessor13UsbDisconnectEv @ 254 NONAME + _ZThn28_N17CRequestProcessor14HandleRequestLERK15TMTPTypeRequest20TMTPTransactionPhase @ 255 NONAME + _ZThn28_N17CRequestProcessor7ReleaseEv @ 256 NONAME + _ZThn28_N17CRequestProcessor9SessionIdEv @ 257 NONAME + _ZThn28_NK11CSendObject5MatchERK15TMTPTypeRequestR14MMTPConnection @ 258 NONAME + _ZThn28_NK15CRequestUnknown5MatchERK15TMTPTypeRequestR14MMTPConnection @ 259 NONAME + _ZThn28_NK17CRequestProcessor10ConnectionEv @ 260 NONAME + _ZThn28_NK17CRequestProcessor5MatchERK13TMTPTypeEventR14MMTPConnection @ 261 NONAME + _ZThn28_NK17CRequestProcessor5MatchERK15TMTPTypeRequestR14MMTPConnection @ 262 NONAME + _ZThn28_NK17CRequestProcessor7RequestEv @ 263 NONAME diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cdeleteobject.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cdeleteobject.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cdeleteobject.h Wed Jun 09 10:13:45 2010 +0300 @@ -55,7 +55,7 @@ * @param aConnection The connection from which the request comes * @param aWrapper medadata access interface */ - IMPORT_C CDeleteObject( MMTPDataProviderFramework& aFramework, + CDeleteObject( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectinfo.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectinfo.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectinfo.h Wed Jun 09 10:13:45 2010 +0300 @@ -61,7 +61,7 @@ * @param aConnection The connection from which the request comes * @param aWrapper medadata access interface */ - IMPORT_C CGetObjectInfo( MMTPDataProviderFramework& aFramework, + CGetObjectInfo( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectreferences.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectreferences.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetobjectreferences.h Wed Jun 09 10:13:45 2010 +0300 @@ -20,6 +20,7 @@ #define CGETOBJECTREFERENCES_H #include "crequestprocessor.h" +#include "cmmmtpdpperflog.h" // forward declaration class CMTPTypeArray; @@ -62,16 +63,31 @@ * @param aWrapper Medadata access interface */ CGetObjectReferences( MMTPDataProviderFramework& aFramework, - MMTPConnection& aConnection ); + MMTPConnection& aConnection, + MMmMtpDpConfig& aDpConfig ); /** * Two-phase construction */ void ConstructL(); + /** + * Add references of specified object into reference db, + * for the insertion delayed until the first time it was queried by pc + * @param aRefOwnerSuid, specify the reference owner of which references should be added into db + * @param aReferences, suid array which stored references + */ + void AddReferencesL( const TDesC& aRefOwnerSuid, + CDesCArray& aReferences ); + private: // Array object to store object references CMTPTypeArray* iReferences; + MMmMtpDpConfig& iDpConfig; + +#if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) + CMmMtpDpPerfLog* iPerfLog; +#endif }; diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetpartialobject.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetpartialobject.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/cgetpartialobject.h Wed Jun 09 10:13:45 2010 +0300 @@ -53,7 +53,7 @@ * @param aFramework The data provider framework * @param aConnection The connection from which the request comes */ - IMPORT_C CGetPartialObject( MMTPDataProviderFramework& aFramework, + CGetPartialObject( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection ); protected: diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/crequestunknown.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/crequestunknown.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/crequestunknown.h Wed Jun 09 10:13:45 2010 +0300 @@ -45,7 +45,7 @@ /** * Standard c++ constructor */ - IMPORT_C CRequestUnknown( MMTPDataProviderFramework& aFramework, + CRequestUnknown( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection ); protected: diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csetobjectreferences.h --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csetobjectreferences.h Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/inc/csetobjectreferences.h Wed Jun 09 10:13:45 2010 +0300 @@ -57,7 +57,7 @@ * @param aConnection The connection from which the request comes * @param aWrapper medadata access interface */ - IMPORT_C CSetObjectReferences( MMTPDataProviderFramework& aFramework, + CSetObjectReferences( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/ccopyobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/ccopyobject.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/ccopyobject.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -450,7 +450,6 @@ case EMTPObjectPropCodeNonConsumable: iTargetObject->SetUint( CMTPObjectMetaData::ENonConsumable, element.Uint8L( CMTPTypeObjectPropListElement::EValue ) ); - // TODO: need to reconsider, // should wait all property setting finished then insert object, or not? // need to investigate if it will affect performance result iFramework.ObjectMgr().ModifyObjectL( *iTargetObject ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdeleteobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdeleteobject.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdeleteobject.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -103,7 +103,7 @@ // EXPORT_C void CDeleteObject::ServiceL() { - MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive); + MmMtpDpUtility::SetPSStatus( EMtpPSStatusActive ); iObjectsToDelete.Reset(); iDeleteError = KErrNone; @@ -126,7 +126,6 @@ { iIsMultiDelete = EFalse; // Not Owned the object - // TODO: need to check if this is best way and if it is applicable to other processors CMTPObjectMetaData* objectInfo = iRequestChecker->GetObjectInfo( objectHandle ); if ( objectInfo->Uint( CMTPObjectMetaData::EFormatCode ) == EMTPFormatCodeAssociation ) @@ -192,8 +191,9 @@ TUint32 handle = iObjectsToDelete[0]; iFramework.ObjectMgr().ObjectL( handle, *objectInfo ); - TFileName fileName( objectInfo->DesC( CMTPObjectMetaData::ESuid ) ); - PRINT2( _L( "MM MTP <> CDeleteObject::RunL delete object handle is 0x%x, fileName is %S" ), handle, &fileName ); + PRINT2( _L( "MM MTP <> CDeleteObject::RunL delete object handle is 0x%x, fileName is %S" ), + handle, + &( objectInfo->DesC( CMTPObjectMetaData::ESuid ) ) ); if ( objectInfo->Uint( CMTPObjectMetaData::EFormatCode ) == EMTPFormatCodeAssociation ) { @@ -222,7 +222,7 @@ // void CDeleteObject::DeleteObjectL( const CMTPObjectMetaData& aObjectInfo ) { - TFileName fileName( aObjectInfo.DesC( CMTPObjectMetaData::ESuid ) ); + TPtrC fileName( aObjectInfo.DesC( CMTPObjectMetaData::ESuid ) ); PRINT1( _L( "MM MTP <> CDeleteObject::DeleteObjectL fileName = %S" ), &fileName ); // To capture special situation: After copy, move, rename playlist folder name, diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdescriptionutility.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdescriptionutility.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cdescriptionutility.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -134,7 +134,7 @@ TUint32 CDescriptionUtility::GetGroupCode( TUint32 aPropCode ) { TInt count = sizeof( KPropGroupMapTable ) / sizeof( KPropGroupMapTable[0] ); - // TODO: if need to refine the search approach to improve performance + for( TInt i = 0; i < count; i++ ) { if ( aPropCode == KPropGroupMapTable[i].iPropCode ) diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetformatcapabilities.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetformatcapabilities.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetformatcapabilities.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -46,7 +46,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CGetFormatCapabilities::CGetFormatCapabilities( MMTPDataProviderFramework& aFramework, +CGetFormatCapabilities::CGetFormatCapabilities( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ) : CRequestProcessor( aFramework, aConnection, 0, NULL ), @@ -60,7 +60,7 @@ // The second phase constructor // ----------------------------------------------------------------------------- // -EXPORT_C void CGetFormatCapabilities::ConstructL() +void CGetFormatCapabilities::ConstructL() { // Do nothing } diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetinterdependentpropdesc.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetinterdependentpropdesc.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetinterdependentpropdesc.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -56,7 +56,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CGetInterdependentPropDesc::CGetInterdependentPropDesc( MMTPDataProviderFramework& aFramework, +CGetInterdependentPropDesc::CGetInterdependentPropDesc( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ) : CRequestProcessor( aFramework, aConnection, 0, NULL ), @@ -70,7 +70,7 @@ // Two-phase construction method // ----------------------------------------------------------------------------- // -EXPORT_C void CGetInterdependentPropDesc::ConstructL() +void CGetInterdependentPropDesc::ConstructL() { // Do nothing } diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropdesc.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropdesc.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropdesc.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -57,7 +57,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CGetObjectPropDesc::CGetObjectPropDesc( MMTPDataProviderFramework& aFramework, +CGetObjectPropDesc::CGetObjectPropDesc( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ) : CRequestProcessor( aFramework, aConnection, 0, NULL ), @@ -72,7 +72,7 @@ // The second phase constructor // ----------------------------------------------------------------------------- // -EXPORT_C void CGetObjectPropDesc::ConstructL() +void CGetObjectPropDesc::ConstructL() { // Do nothing } diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectproplist.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectproplist.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectproplist.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -486,7 +486,7 @@ PRINT1( _L( "MM MTP => CGetObjectPropList::ServiceAllPropertiesL aHandle = 0x%x" ), aHandle ); // Append the current object info onto our list - TFileName fileName( iObject->DesC( CMTPObjectMetaData::ESuid ) ); + TPtrC fileName( iObject->DesC( CMTPObjectMetaData::ESuid ) ); TUint32 formatCode = iObject->Uint( CMTPObjectMetaData::EFormatCode ); PRINT2( _L( "MM MTP <> CGetObjectPropList::ServiceAllPropertiesL, fileName = %S, formatCode = 0x%x" ), @@ -534,7 +534,7 @@ { PRINT1( _L( "MM MTP => CGetObjectPropList::ServiceGroupPropertiesL aHandle = 0x%x" ), aHandle ); - TFileName fileName( iObject->DesC( CMTPObjectMetaData::ESuid ) ); + TPtrC fileName( iObject->DesC( CMTPObjectMetaData::ESuid ) ); TUint32 formatCode = iObject->Uint( CMTPObjectMetaData::EFormatCode ); PRINT2( _L( "MM MTP <> CGetObjectPropList::ServiceGroupPropertiesL, fileName = %S, formatCode = 0x%x" ), diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropvalue.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropvalue.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectpropvalue.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -95,10 +95,13 @@ return EMTPRespCodeInvalidObjectHandle; } - TFileName fileName = objectInfo->DesC( CMTPObjectMetaData::ESuid ); TUint32 formatCode = objectInfo->Uint( CMTPObjectMetaData::EFormatCode ); - PRINT3( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL, handle = 0x%x, filename = %S, formatCode = 0x%x" ), objectHandle, &fileName, formatCode); + PRINT3( _L( "MM MTP <> CGetObjectPropValue::CheckRequestL, handle = 0x%x, filename = %S, formatCode = 0x%x" ), + objectHandle, + &( objectInfo->DesC( CMTPObjectMetaData::ESuid ) ), + formatCode ); + const RArray* properties = iDpConfig.GetSupportedPropertiesL( formatCode ); TInt count = properties->Count(); @@ -130,7 +133,7 @@ { PRINT( _L( "MM MTP => CGetObjectPropValue::ServiceL" ) ); - MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive); + MmMtpDpUtility::SetPSStatus( EMtpPSStatusActive ); //Get the request information TUint32 objectHandle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 ); @@ -142,7 +145,6 @@ iObjectInfo = iRequestChecker->GetObjectInfo( objectHandle ); TPtrC suid( iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL object file name is %S" ), &suid ); - TParsePtrC parse( suid ); if ( iMTPTypeString != NULL ) { @@ -177,8 +179,7 @@ case EMTPObjectPropCodeProtectionStatus: { iMTPTypeUint16.Set( 0 ); - iMTPTypeUint16 = MmMtpDpUtility::GetProtectionStatusL( iFramework.Fs(), - iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); + iMTPTypeUint16 = MmMtpDpUtility::GetProtectionStatusL( iFramework.Fs(), suid ); SendDataL( iMTPTypeUint16 ); } break; @@ -187,8 +188,7 @@ case EMTPObjectPropCodeObjectSize: { iMTPTypeUint64.Set( 0 ); - iMTPTypeUint64 = MmMtpDpUtility::GetObjectSizeL( iFramework.Fs(), - iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); + iMTPTypeUint64 = MmMtpDpUtility::GetObjectSizeL( iFramework.Fs(), suid ); SendDataL( iMTPTypeUint64 ); } break; @@ -196,11 +196,7 @@ // Filename case EMTPObjectPropCodeObjectFileName: { - const TDesC& suid( iObjectInfo->DesC( CMTPObjectMetaData::ESuid ) ); - PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL SUID = %S" ), &suid ); - - TPtrC path( suid.Ptr(), suid.Length() ); - TParsePtrC parse( path ); + TParsePtrC parse( suid ); iMTPTypeString = CMTPTypeString::NewL( parse.NameAndExt() ); SendDataL( *iMTPTypeString ); } @@ -238,9 +234,7 @@ case EMTPObjectPropCodeDateModified: { TBuf timeStr; - MmMtpDpUtility::GetObjectDateModifiedL( iFramework.Fs(), - iObjectInfo->DesC( CMTPObjectMetaData::ESuid ), - timeStr ); + MmMtpDpUtility::GetObjectDateModifiedL( iFramework.Fs(), suid, timeStr ); PRINT1( _L( "MM MTP <> CGetObjectPropValue::ServiceL Date time %S" ), &timeStr ); iMTPTypeString = CMTPTypeString::NewL( timeStr ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetobjectreferences.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -18,14 +18,26 @@ #include #include +#include #ifdef _DEBUG -#include #include #endif #include "cgetobjectreferences.h" #include "mmmtpdputility.h" #include "mmmtpdplogger.h" +#include "cmmmtpdpperflog.h" +#include "mmmtpdpconfig.h" +#include "cmmmtpdpmetadataaccesswrapper.h" +#include "tmmmtpdppanic.h" + +const TInt KMTPDriveGranularity = 5; + +#if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) +_LIT( KMpxQueryAbstractMediaReference, "MpxQueryAbstractMediaReference" ); +_LIT( KReferenceManagerSetReference, "ReferenceManagerSetReference" ); +_LIT( KObjectManagerHandle, "ObjectManagerHandle" ); +#endif // ----------------------------------------------------------------------------- // Verification data for the GetReferences request @@ -50,10 +62,11 @@ // EXPORT_C MMmRequestProcessor* CGetObjectReferences::NewL( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, - MMmMtpDpConfig& /*aDpConfig*/ ) + MMmMtpDpConfig& aDpConfig ) { CGetObjectReferences* self = new ( ELeave ) CGetObjectReferences( aFramework, - aConnection ); + aConnection, + aDpConfig ); CleanupStack::PushL( self ); self->ConstructL(); CleanupStack::Pop( self ); @@ -68,6 +81,9 @@ // void CGetObjectReferences::ConstructL() { +#if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) + iPerfLog = CMmMtpDpPerfLog::NewL( _L( "CAbstractMediaMtpDataProviderEnumerator" ) ); +#endif } // ----------------------------------------------------------------------------- @@ -78,6 +94,10 @@ EXPORT_C CGetObjectReferences::~CGetObjectReferences() { delete iReferences; + +#if defined(_DEBUG) || defined(MMMTPDP_PERFLOG) + delete iPerfLog; +#endif // _DEBUG } // ----------------------------------------------------------------------------- @@ -86,11 +106,13 @@ // ----------------------------------------------------------------------------- // CGetObjectReferences::CGetObjectReferences( MMTPDataProviderFramework& aFramework, - MMTPConnection& aConnection ) : - CRequestProcessor( aFramework, - aConnection, - sizeof ( KMTPGetObjectReferencesPolicy ) / sizeof( TMTPRequestElementInfo ), - KMTPGetObjectReferencesPolicy ) + MMTPConnection& aConnection, + MMmMtpDpConfig& aDpConfig ) : + CRequestProcessor( aFramework, + aConnection, + sizeof ( KMTPGetObjectReferencesPolicy ) / sizeof( TMTPRequestElementInfo ), + KMTPGetObjectReferencesPolicy ), + iDpConfig( aDpConfig ) { PRINT( _L( "Operation: GetObjectReferences(0x9810)" ) ); } @@ -104,14 +126,44 @@ { PRINT( _L( "MM MTP => CGetObjectReferences::ServiceL" ) ); - MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive); + MmMtpDpUtility::SetPSStatus( EMtpPSStatusActive ); TUint32 objectHandle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 ); PRINT1( _L( "MM MTP <> CGetObjectReferences::ServiceL objectHandle = 0x%x" ), - objectHandle ); - MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr(); + objectHandle ); + + CMTPObjectMetaData* parentObject = iRequestChecker->GetObjectInfo( objectHandle ); + __ASSERT_DEBUG( parentObject, Panic( EMmMTPDpObjectNull ) ); + + iFramework.ObjectMgr().ObjectL( objectHandle, *parentObject ); + TUint subFormatCode = parentObject->Uint( CMTPObjectMetaData::EFormatSubCode ); + PRINT1( _L( "MM MTP <> CGetObjectReferences::ServiceL subFormatCode = 0x%x" ), + subFormatCode ); + + if ( MmMtpDpUtility::HasReference( parentObject->Uint( CMTPObjectMetaData::EFormatCode ) ) + && ( subFormatCode == EMTPSubFormatCodeUnknown ) ) + { + CDesCArray* references = new ( ELeave ) CDesCArrayFlat( KMTPDriveGranularity ); + CleanupStack::PushL( references ); // + references + + PERFLOGSTART( KMpxQueryAbstractMediaReference ); + TRAP_IGNORE( iDpConfig.GetWrapperL().GetAllReferenceL( *parentObject, *references ) ); + PERFLOGSTOP( KMpxQueryAbstractMediaReference ); + + // insert references into reference db + TPtrC parentSuid( parentObject->DesC( CMTPObjectMetaData::ESuid ) ); + AddReferencesL( parentSuid, *references ); + + CleanupStack::PopAndDestroy( references ); // - references + + parentObject->SetUint( CMTPObjectMetaData::EFormatSubCode, EMTPSubFormatCodeUndefined ); // set it to something else + iFramework.ObjectMgr().ModifyObjectL( *parentObject ); + } + + delete iReferences; iReferences = NULL; + MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr(); iReferences = referenceMgr.ReferencesLC( TMTPTypeUint32( objectHandle ) ); CleanupStack::Pop( iReferences ); SendDataL( *iReferences ); @@ -140,4 +192,44 @@ PRINT( _L( "MM MTP <= CGetObjectReferences::ServiceL" ) ); } +// ----------------------------------------------------------------------------- +// CGetObjectReferences::AddReferencesL +// GetObjectInfo request handler +// ----------------------------------------------------------------------------- +// +void CGetObjectReferences::AddReferencesL( const TDesC& aRefOwnerSuid, + CDesCArray& aReferences ) + { + TInt count = aReferences.Count(); + 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++ ) + { + TInt index = i - removeCount; + TPtrC temp( aReferences[index] ); + PRINT2( _L( "MM MTP <> CGetObjectReferences::AddReferencesL ref[%d]'s name = %S" ), index, &temp ); + PERFLOGSTART( KObjectManagerHandle ); + TUint32 handle = iFramework.ObjectMgr().HandleL( temp ); + PERFLOGSTOP( KObjectManagerHandle ); + if ( handle == KMTPHandleNone ) // object doesn't exist + { + 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++; + } + } + + // add all references into references db + MMTPReferenceMgr& referenceMgr = iFramework.ReferenceMgr(); + PERFLOGSTART( KReferenceManagerSetReference ); + referenceMgr.SetReferencesL( aRefOwnerSuid, aReferences ); + PERFLOGSTOP( KReferenceManagerSetReference ); + + PRINT( _L( "MM MTP <= CGetObjectReferences::AddReferencesL" ) ); + } + // end of file diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetpartialobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetpartialobject.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cgetpartialobject.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -63,7 +63,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CGetPartialObject::CGetPartialObject( MMTPDataProviderFramework& aFramework, +CGetPartialObject::CGetPartialObject( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection ) : CRequestProcessor( aFramework, aConnection, @@ -154,12 +154,10 @@ CMTPObjectMetaData* objectInfo = iRequestChecker->GetObjectInfo( iObjectHandle ); __ASSERT_DEBUG( objectInfo, Panic( EMmMTPDpObjectNull ) ); - // NOTE: Change all TBuf into TFileName for easily change when fs change the limitation of filename - TFileName fileSuid; - fileSuid.Append( objectInfo->DesC( CMTPObjectMetaData::ESuid ) ); + TPtrC fileName = objectInfo->DesC( CMTPObjectMetaData::ESuid ); iFileObject = CMTPTypeFile::NewL( iFramework.Fs(), - fileSuid, + fileName, ( TFileMode ) ( EFileRead | EFileShareReadersOnly ), iPartialDataLength, iOffset ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/cmoveobject.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -279,9 +279,9 @@ // void CMoveObject::MoveFileL( const TDesC& aNewFileName ) { - TFileName oldFileName = iObjectInfo->DesC( CMTPObjectMetaData::ESuid ); + HBufC* oldFileName = iObjectInfo->DesC( CMTPObjectMetaData::ESuid ).AllocLC(); // + oldFileName PRINT2( _L( "MM MTP => CMoveObject::MoveFileL old name = %S, aNewFileName = %S" ), - &oldFileName, + oldFileName, &aNewFileName ); if ( iStorageId == iObjectInfo->Uint( CMTPObjectMetaData::EStorageId ) ) @@ -295,7 +295,9 @@ TRAPD( err, SetPropertiesL( aNewFileName ) ); CFileMan* fileMan = CFileMan::NewL( iFramework.Fs() ); - err = fileMan->Move( oldFileName, aNewFileName ); + err = fileMan->Move( *oldFileName, aNewFileName ); + + CleanupStack::PopAndDestroy( oldFileName ); // - oldFileName if ( err != KErrNone ) PRINT1( _L( "MM MTP <> CMoveObject::MoveFileL err = %d" ), err ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestprocessor.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestprocessor.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestprocessor.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -137,7 +137,6 @@ // EXPORT_C void CRequestProcessor::UsbDisconnect() { - // TODO: reset the CenRep value } // ----------------------------------------------------------------------------- diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestunknown.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestunknown.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestunknown.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -60,7 +60,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CRequestUnknown::CRequestUnknown( MMTPDataProviderFramework& aFramework, +CRequestUnknown::CRequestUnknown( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection ) : CRequestProcessor( aFramework, aConnection, 0, NULL ) { diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csendobject.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csendobject.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csendobject.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -129,7 +129,6 @@ PRINT1( _L( "MM MTP <> CSendObject::ConstructL DataProviderId = 0x%x" ), iFramework.DataProviderId()); - PRINT( _L( "MM MTP <= CSendObject::ConstructL" ) ); } @@ -1035,6 +1034,7 @@ TBool result( EFalse ); + TParsePtrC parser( aFileName ); if ( aFileName.Length() > 0 ) { iFullPath.Zero(); @@ -1044,7 +1044,6 @@ // Only add extension for alb to pass winlogo test cases TInt length = iFullPath.Length() + aFileName.Length(); - TParsePtrC parser( aFileName ); TBool isAlbWithoutExt = ( ( iObjectFormat == EMTPFormatCodeAbstractAudioAlbum ) && ( !parser.ExtPresent() ) ); if ( isAlbWithoutExt ) @@ -1062,8 +1061,7 @@ if ( result && ( iObjectFormat != MmMtpDpUtility::FormatFromFilename( iFullPath ) ) ) { - TParsePtrC file( aFileName ); - if ( ( iObjectFormat == EMTPFormatCode3GPContainer ) && (file.Ext().CompareF( KTxtExtensionODF ) == 0)) + if ( ( iObjectFormat == EMTPFormatCode3GPContainer ) && ( parser.Ext().CompareF( KTxtExtensionODF ) == 0)) { PRINT( _L( "MM MTP <> might happen if function is called before physical file arrives" ) ); // might happen if function is called before physical file arrives @@ -1267,6 +1265,11 @@ iDpConfig.GetWrapperL().AddDummyFileL( iFullPath ); } + // Set subformat code to avoid MPX query for the first time to GetObjectReference, + // in which case references has been kept in fw. + if ( MmMtpDpUtility::HasReference( iObjectFormat ) ) + iReceivedObjectInfo->SetUint( CMTPObjectMetaData::EFormatSubCode, EMTPSubFormatCodeUndefined ); + // add playlist to MPX DB TRAPD( err, AddMediaToStoreL() ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectpropvalue.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectpropvalue.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectpropvalue.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -154,7 +154,7 @@ return EMTPRespCodeInvalidObjectHandle; } - TFileName fileName = objectInfo->DesC( CMTPObjectMetaData::ESuid ); + 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, @@ -199,7 +199,7 @@ { PRINT( _L( "MM MTP => CSetObjectPropValue::ServiceL" ) ); - MmMtpDpUtility::SetPSStatus(EMtpPSStatusActive); + MmMtpDpUtility::SetPSStatus( EMtpPSStatusActive ); __ASSERT_DEBUG( iRequestChecker, Panic( EMmMTPDpRequestCheckNull ) ); TUint32 handle = Request().Uint32( TMTPTypeRequest::ERequestParameter1 ); diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectreferences.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectreferences.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/csetobjectreferences.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -88,7 +88,7 @@ // Standard c++ constructor // ----------------------------------------------------------------------------- // -EXPORT_C CSetObjectReferences::CSetObjectReferences( MMTPDataProviderFramework& aFramework, +CSetObjectReferences::CSetObjectReferences( MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection, MMmMtpDpConfig& aDpConfig ) : CRequestProcessor( aFramework, @@ -105,7 +105,7 @@ // set references to DB // ----------------------------------------------------------------------------- // -EXPORT_C void CSetObjectReferences::DoSetObjectReferencesL( const CMTPObjectMetaData& aObject ) +void CSetObjectReferences::DoSetObjectReferencesL( const CMTPObjectMetaData& aObject ) { TUint formatCode = aObject.Uint( CMTPObjectMetaData::EFormatCode ); TBool hasReference = MmMtpDpUtility::HasReference( formatCode ); @@ -164,6 +164,10 @@ iFramework.ObjectMgr().ObjectL( objectHandle, *object ); PRINT1( _L( "MM MTP <> object file name is %S" ), &(object->DesC( CMTPObjectMetaData::ESuid ) ) ); DoSetObjectReferencesL( *object ); + + // set it to something else other than EMTPSubFormatCodeUnknown to prevent being queried from MPX later in the same session + object->SetUint( CMTPObjectMetaData::EFormatSubCode, EMTPSubFormatCodeUndefined ); + iFramework.ObjectMgr().ModifyObjectL( *object ); CleanupStack::PopAndDestroy( object ); // - object diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadataaccesswrapper.cpp --- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadataaccesswrapper.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadataaccesswrapper.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -502,7 +502,7 @@ // CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL // // --------------------------------------------------------------------------- -EXPORT_C void CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL( const TDesC& aStoreRoot, CMPXMediaArray** aAbstractMedias, TMPXGeneralCategory aCategory ) +EXPORT_C void CMmMtpDpMetadataAccessWrapper::GetAllAbstractMediaL( const TDesC& aStoreRoot, CDesCArray& aAbstractMedias, TMPXGeneralCategory aCategory ) { iMmMtpDpMetadataMpxAccess->GetAllAbstractMediaL( aStoreRoot, aAbstractMedias, aCategory ); } @@ -512,19 +512,11 @@ // // --------------------------------------------------------------------------- // -EXPORT_C void CMmMtpDpMetadataAccessWrapper::GetAllReferenceL( CMPXMedia* aAbstractMedia, CDesCArray& aReferences ) +EXPORT_C void CMmMtpDpMetadataAccessWrapper::GetAllReferenceL( const CMTPObjectMetaData& aRefOwner, CDesCArray& aReferences ) { - iMmMtpDpMetadataMpxAccess->GetAllReferenceL( aAbstractMedia, aReferences ); - } - -// --------------------------------------------------------------------------- -// CMmMtpDpMetadataAccessWrapper::GetAbstractMediaNameL -// -// --------------------------------------------------------------------------- -// -EXPORT_C HBufC* CMmMtpDpMetadataAccessWrapper::GetAbstractMediaNameL( CMPXMedia* aAbstractMedia, TMPXGeneralCategory aCategory ) - { - return iMmMtpDpMetadataMpxAccess->GetAbstractMediaNameL( aAbstractMedia, aCategory ); + TMPXGeneralCategory category = Category( aRefOwner ); + if ( category == EMPXPlaylist || category == EMPXAbstractAlbum ) + iMmMtpDpMetadataMpxAccess->GetAllReferenceL( aRefOwner.DesC( CMTPObjectMetaData::ESuid ), category, aReferences ); } // ----------------------------------------------------------------------------- diff -r 6f9f6e99a23e -r e257e2b6459d mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp --- a/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/src/cmmmtpdpmetadatampxaccess.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -67,10 +67,6 @@ _LIT( KSetMetadataValue, "SetMetadataValueL" ); #endif -#ifdef _DEBUG -_LIT( KMtpMpxPanic, "CMmMtpDpMetadataMpxAccess" ); -#endif - CMmMtpDpMetadataMpxAccess* CMmMtpDpMetadataMpxAccess::NewL( RFs& aRfs ) { CMmMtpDpMetadataMpxAccess* self = new( ELeave ) CMmMtpDpMetadataMpxAccess( aRfs ); @@ -81,9 +77,10 @@ return self; } -CMmMtpDpMetadataMpxAccess::CMmMtpDpMetadataMpxAccess( RFs& aRfs ): +CMmMtpDpMetadataMpxAccess::CMmMtpDpMetadataMpxAccess( RFs& aRfs ) : iRfs( aRfs ), - iSampleData( NULL ) + iSampleData( NULL ), + iHasCleanUp( EFalse ) { // Do nothing } @@ -149,6 +146,7 @@ iCollectionHelper = NULL; } + iHasCleanUp = EFalse; // must reset, as class is not always destoryed PRINT( _L( "MM MTP <= CMmMtpDpMetadataMpxAccess::CloseSession" ) ); } @@ -597,9 +595,14 @@ // as there is NOT a separate database for deleted files. PRINT( _L( "MM MTP <> Deleting metadata for deleted files" ) ); - PERFLOGSTART( KMpxCollectionCleanupDeletedMediasL ); - CollectionHelperL()->CleanupDeletedMediasL(); - PERFLOGSTOP( KMpxCollectionCleanupDeletedMediasL ); + if ( !iHasCleanUp ) + { + PERFLOGSTART( KMpxCollectionCleanupDeletedMediasL ); + CollectionHelperL()->CleanupDeletedMediasL(); + PERFLOGSTOP( KMpxCollectionCleanupDeletedMediasL ); + + iHasCleanUp = ETrue; + } PRINT( _L( "MM MTP <= CMmMtpDpMetadataMpxAccess::UpdateMusicCollectionL" ) ); } @@ -1000,7 +1003,6 @@ EMPXSong ); // File Path // - TParsePtrC parse( aFullFileName ); media->SetTextValueL( KMPXMediaGeneralUri, aFullFileName ); media->SetTextValueL( KMPXMediaGeneralDrive, parse.Drive() ); @@ -1336,7 +1338,7 @@ // --------------------------------------------------------------------------- // void CMmMtpDpMetadataMpxAccess::GetAllAbstractMediaL( const TDesC& aStoreRoot, - CMPXMediaArray** aAbstractMedias, + CDesCArray& aAbstractMedias, TMPXGeneralCategory aCategory ) { PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAllAbstractMediaL" ) ); @@ -1387,8 +1389,9 @@ User::Leave( KErrNotSupported ); } - *aAbstractMedias = - CMPXMediaArray::NewL( *( foundMedia->Value ( KMPXMediaArrayContents ) ) ); + CMPXMediaArray* mediaArray = foundMedia->Value ( KMPXMediaArrayContents ); + for ( TInt i = 0; i < count; i++ ) + aAbstractMedias.AppendL( ( *mediaArray )[i]->ValueText( KMPXMediaGeneralUri ) ); } CleanupStack::PopAndDestroy( foundMedia ); // - foundMedia @@ -1401,15 +1404,36 @@ // Get all references of specified playlist // --------------------------------------------------------------------------- // -void CMmMtpDpMetadataMpxAccess::GetAllReferenceL( CMPXMedia* aAbstractMedia, +void CMmMtpDpMetadataMpxAccess::GetAllReferenceL( const TDesC& aRefOwnerSuid, + TMPXGeneralCategory aCategory, CDesCArray& aReferences ) { PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAllReferenceL" ) ); - __ASSERT_DEBUG( aAbstractMedia, User::Panic( KMtpMpxPanic, KErrArgument ) ); + // 1. Get CMPXMedia object by the reference owner suid + RArray attributes; + CleanupClosePushL( attributes ); // + attributes + attributes.AppendL( KMPXMediaGeneralId ); + attributes.AppendL( KMPXMediaGeneralTitle ); + attributes.AppendL( KMPXMediaGeneralUri ); + + CMPXMedia* refOwner = CollectionHelperL()->GetL( aRefOwnerSuid, + attributes.Array(), + aCategory ); - // Extract the playlist id from the found object - TUint32 abstractMediaId = *( *aAbstractMedia ).Value( KMPXMediaGeneralId ); + __ASSERT_DEBUG( refOwner, Panic( EMmMTPDpObjectNull ) ); + + CleanupStack::PushL( refOwner ); // + refOwner + + // 2. Extract the general id from the found object + if ( !refOwner->IsSupported( KMPXMediaGeneralId ) ) + PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAllReferenceL Before GeneralId" ) ); + + TUint32 abstractMediaId = *( *refOwner ).Value( KMPXMediaGeneralId ); + PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAllReferenceL After GeneralId" ) ); + + CleanupStack::PopAndDestroy( refOwner ); // - refOwner + CleanupStack::PopAndDestroy( &attributes ); // - attributes // find the media object that contains a list of songs in the playlist RArray contentIDs; @@ -1467,7 +1491,7 @@ // may replace the following 3 statements into the following: // AppendL(refMedia->ValueText(KMPXMediaGeneralUri)); - HBufC* musicFileLocation = refMedia->ValueText( KMPXMediaGeneralUri ).AllocLC(); + HBufC* musicFileLocation = refMedia->ValueText( KMPXMediaGeneralUri ).AllocLC(); // + musicFileLocation aReferences.AppendL( *musicFileLocation ); PRINT1( _L("MM MTP <> CMmMtpDpMetadataMpxAccess::GetAllReferenceL, [%S] found from MPX db"), musicFileLocation ); @@ -1482,33 +1506,6 @@ } // --------------------------------------------------------------------------- -// CMmMtpDpMetadataMpxAccess::GetAbstractMediaNameL -// -// --------------------------------------------------------------------------- -// -HBufC* CMmMtpDpMetadataMpxAccess::GetAbstractMediaNameL( CMPXMedia* aAbstractMedia, - TMPXGeneralCategory aCategory ) - { - PRINT( _L( "MM MTP => CMmMtpDpMetadataMpxAccess::GetAbstractMediaNameL" ) ); - HBufC* name = NULL; - if ( aCategory == EMPXPlaylist || aCategory == EMPXAbstractAlbum ) - { - if( !aAbstractMedia->IsSupported( KMPXMediaGeneralUri ) ) - { - User::Leave( KErrNotSupported ); - } - name = aAbstractMedia->ValueText( KMPXMediaGeneralUri ).AllocL(); - } - else - { - User::Leave( KErrNotSupported ); - } - - PRINT( _L( "MM MTP <= CMmMtpDpMetadataMpxAccess::GetAbstractMediaNameL" ) ); - return name; - } - -// --------------------------------------------------------------------------- // CMmMtpDpMetadataMpxAccess::GetModifiedContentL // Get modified content // --------------------------------------------------------------------------- diff -r 6f9f6e99a23e -r e257e2b6459d mpx/collectionframework/collectionserver/src/mpxcollectionserver.cpp --- a/mpx/collectionframework/collectionserver/src/mpxcollectionserver.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mpx/collectionframework/collectionserver/src/mpxcollectionserver.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -72,8 +72,8 @@ CleanupStack::PushL(server); RProcess::Rendezvous(KErrNone); CActiveScheduler::Start(); + CleanupStack::PopAndDestroy(server); CActiveScheduler::Install(NULL); - CleanupStack::PopAndDestroy(server); CleanupStack::PopAndDestroy(scheduler); } diff -r 6f9f6e99a23e -r e257e2b6459d mpx/playbackframework/playbackserver/src/mpxplaybackserver.cpp --- a/mpx/playbackframework/playbackserver/src/mpxplaybackserver.cpp Tue May 25 13:14:13 2010 +0300 +++ b/mpx/playbackframework/playbackserver/src/mpxplaybackserver.cpp Wed Jun 09 10:13:45 2010 +0300 @@ -72,8 +72,8 @@ CleanupStack::PushL(server); RProcess::Rendezvous(KErrNone); CActiveScheduler::Start(); + CleanupStack::PopAndDestroy(server); CActiveScheduler::Install(NULL); - CleanupStack::PopAndDestroy(server); CleanupStack::PopAndDestroy(scheduler); }