diff -r d881023c13eb -r cbb1bfb7ebfb mpx/collectionframework/collectionengine/src/mpxcollectionengine.cpp --- a/mpx/collectionframework/collectionengine/src/mpxcollectionengine.cpp Mon May 03 12:58:40 2010 +0300 +++ b/mpx/collectionframework/collectionengine/src/mpxcollectionengine.cpp Fri May 14 16:21:14 2010 +0300 @@ -194,6 +194,9 @@ TInt command = KErrNotSupported; TInt data = 0; TBool clearCache ( EFalse ); + TBool notify( ETrue ); + TInt count = iContexts.Count(); + CMPXCollectionClientContext* context( NULL ); switch( aMsg ) { case EMcMsgFormatStart: @@ -207,8 +210,14 @@ clearCache = ETrue; break; } + case EMcMsgDiskInserted: + for( TInt i=0; iNotifyL( aMsg, aData ); + } + notify = EFalse; case EMcMsgFormatEnd: - case EMcMsgDiskInserted: case EMcMsgUSBMassStorageEnd: { command = EMcReOpenCollection; @@ -253,12 +262,7 @@ } if( command != KErrNotSupported ) { - TArray plugins = iPluginHandler->LoadedPlugins(); - for( TInt i=0; iCommandL( (TMPXCollectionCommand)command, data)); - } + Command( (TMPXCollectionCommand)command, data ); } if( clearCache ) @@ -286,12 +290,22 @@ rfs.Close(); } - TInt count = iContexts.Count(); - for( TInt i=0; iNotifyL( aMsg, aData ); + } + } + } +void CMPXCollectionEngine::Command( TMPXCollectionCommand aCmd, TInt aData ) + { + TArray plugins = iPluginHandler->LoadedPlugins(); + for( TInt i=0; iNotifyL( aMsg, aData ); + CMPXCollectionPlugin* plugin = plugins[i]; + TRAP_IGNORE(plugin->CommandL( aCmd, aData)); } }