mpx/collectionframework/collectionengine/src/mpxcollectionengine.cpp
branchRCL_3
changeset 24 6c1dfe4da5dd
parent 13 4740b34b83ce
child 25 63223d4fd956
equal deleted inserted replaced
23:e42293e811d8 24:6c1dfe4da5dd
    34 #include <mpxcollectionplugin.h>
    34 #include <mpxcollectionplugin.h>
    35 #include <mpxcollectionmessagedefs.h>
    35 #include <mpxcollectionmessagedefs.h>
    36 #include <mpxmessagegeneraldefs.h>
    36 #include <mpxmessagegeneraldefs.h>
    37 #include <mpxmessagecontainerdefs.h>
    37 #include <mpxmessagecontainerdefs.h>
    38 #include <mpxmessagepluginupdatedefs.h>
    38 #include <mpxmessagepluginupdatedefs.h>
       
    39 #include <mmf/common/mmfcontrollerpluginresolver.h>
    39 
    40 
    40 #include "mpxcollectionpluginhandler.h"
    41 #include "mpxcollectionpluginhandler.h"
    41 #include "mpxcollectioncache.h"
    42 #include "mpxcollectioncache.h"
    42 #include "mpxcollectionengine.h"
    43 #include "mpxcollectionengine.h"
    43 
    44 
   209             // Clear the cache
   210             // Clear the cache
   210             clearCache = ETrue;
   211             clearCache = ETrue;
   211             break;
   212             break;
   212             }
   213             }
   213         case EMcMsgDiskInserted:        	
   214         case EMcMsgDiskInserted:        	
       
   215             {
       
   216             // inverting the notification order, this to get the message to 
       
   217             // the UI faster.
   214             for( TInt i=0; i<count; ++i )
   218             for( TInt i=0; i<count; ++i )
   215                 {
   219                 {
   216                 context = iContexts[i];
   220                 context = iContexts[i];
   217                 context->NotifyL( aMsg, aData );
   221                 context->NotifyL( aMsg, aData );
   218                 }
   222                 }
   219             notify = EFalse;
   223             notify = EFalse;
       
   224             command = EMcReOpenCollection;
       
   225             data = aData;
       
   226             // Clear the cache
       
   227         	  clearCache = ETrue;
       
   228             break;
       
   229             }
   220         case EMcMsgFormatEnd:
   230         case EMcMsgFormatEnd:
   221         case EMcMsgUSBMassStorageEnd:
   231         case EMcMsgUSBMassStorageEnd:
   222             {
   232             {
   223             command = EMcReOpenCollection;
   233             command = EMcReOpenCollection;
   224             data = aData;
   234             data = aData;
   225             
   235             
   226             // Clear the cache
   236             // Clear the cache
   227         	clearCache = ETrue;
   237         	  clearCache = ETrue;
   228             break;
   238             break;
   229             }
   239             }
   230         case EMcMsgUSBMTPStart:
   240         case EMcMsgUSBMTPStart:
   231             {
   241             {
   232             iRefreshing = ETrue;
   242             iRefreshing = ETrue;
   314 // ----------------------------------------------------------------------------
   324 // ----------------------------------------------------------------------------
   315 //
   325 //
   316 EXPORT_C void CMPXCollectionEngine::GetSupportedTypesL(
   326 EXPORT_C void CMPXCollectionEngine::GetSupportedTypesL(
   317                                     RPointerArray<CMPXCollectionType>& aArray )
   327                                     RPointerArray<CMPXCollectionType>& aArray )
   318     {
   328     {
       
   329     CleanupResetAndDestroyPushL(aArray); 
   319     RArray<TUid> uids;
   330     RArray<TUid> uids;
   320     CleanupClosePushL(uids);
   331     CleanupClosePushL(uids);
   321     iPluginHandler->GetPluginUids(uids);
   332     iPluginHandler->GetPluginUids(uids);
   322 
   333 
   323     for (TInt i=0; i<uids.Count();++i)
   334     for (TInt i=0; i<uids.Count();++i)
   338         CleanupStack::PushL(type);
   349         CleanupStack::PushL(type);
   339         aArray.AppendL( type );
   350         aArray.AppendL( type );
   340         CleanupStack::Pop(type);
   351         CleanupStack::Pop(type);
   341         }
   352         }
   342     CleanupStack::PopAndDestroy(&uids);
   353     CleanupStack::PopAndDestroy(&uids);
       
   354     CleanupStack::Pop(&aArray); 
   343     }
   355     }
   344 
   356 
   345 // ----------------------------------------------------------------------------
   357 // ----------------------------------------------------------------------------
   346 // Virtual collection ID to implementation ID lookup
   358 // Virtual collection ID to implementation ID lookup
   347 // ----------------------------------------------------------------------------
   359 // ----------------------------------------------------------------------------