harvester/server/src/harvesterao.cpp
changeset 60 79f826a55db2
parent 48 1389872e7c51
equal deleted inserted replaced
58:fe894bb075c2 60:79f826a55db2
   504 // HandleUnmount
   504 // HandleUnmount
   505 // ---------------------------------------------------------------------------
   505 // ---------------------------------------------------------------------------
   506 //
   506 //
   507 void CHarvesterAO::HandleUnmount( TUint32 aMediaId )
   507 void CHarvesterAO::HandleUnmount( TUint32 aMediaId )
   508 	{
   508 	{
   509     WRITELOG1( "CHarvesterAO::HandleUnmount(%d)", aMediaId );    
   509     WRITELOG1( "CHarvesterAO::HandleUnmount(%u)", aMediaId );    
   510 	OstTrace1( TRACE_NORMAL, CHARVESTERAO_HANDLEUNMOUNT, "CHarvesterAO::HandleUnmount;aMediaId=%d", aMediaId );
   510 	OstTrace1( TRACE_NORMAL, CHARVESTERAO_HANDLEUNMOUNT, "CHarvesterAO::HandleUnmount;aMediaId=%d", aMediaId );
   511     
   511     
   512     iUnmountDetected = ETrue;
   512     iUnmountDetected = ETrue;
   513     iUnmountHandlingOngoing = ETrue;
   513     iUnmountHandlingOngoing = ETrue;
   514     
   514     
  3124 	
  3124 	
  3125 #if defined(__WINSCW__) || defined(FF_PLATFORM_SIMULATOR)
  3125 #if defined(__WINSCW__) || defined(FF_PLATFORM_SIMULATOR)
  3126 	partialRestore = ETrue;
  3126 	partialRestore = ETrue;
  3127 #endif
  3127 #endif
  3128 	
  3128 	
  3129 	if ( !partialRestore )
       
  3130 		{
       
  3131 		return;
       
  3132 		}
       
  3133 	
       
  3134 	if( !iMdeSessionInitialized )
  3129 	if( !iMdeSessionInitialized )
  3135 	    {
  3130 	    {
  3136 	    return;
  3131 	    return;
  3137 	    }
  3132 	    }
  3138 	
  3133 	
  3139 	iMdEHarvesterSession->ChangeCDriveMediaId();
  3134     if( partialRestore )
  3140 
  3135         {
  3141 	WRITELOG("CHarvesterAO::BootPartialRestoreScanL() - partial restore");
  3136         iMdEHarvesterSession->ChangeCDriveMediaId();
  3142     OstTrace0( TRACE_NORMAL, CHARVESTERAO_BOOTPARTIALRESTORESCANL, "CHarvesterAO::BootPartialRestoreScanL - partial restore" );
  3137 
       
  3138         WRITELOG("CHarvesterAO::BootPartialRestoreScanL() - partial restore");  
       
  3139         }
       
  3140     else
       
  3141         {
       
  3142         WRITELOG("CHarvesterAO::BootPartialRestoreScanL() - preinstalled content bootup scan");
       
  3143         }
       
  3144     OstTrace0( TRACE_NORMAL, CHARVESTERAO_BOOTPARTIALRESTORESCANL, "CHarvesterAO::BootPartialRestoreScanL - prepare bootup scan" );
  3143     
  3145     
  3144 	RPointerArray<TScanItem> scanItems;
  3146 	RPointerArray<TScanItem> scanItems;
  3145 	TCleanupItem cleanupItem( MdsUtils::CleanupPtrArray<TScanItem>, &scanItems );
  3147 	TCleanupItem cleanupItem( MdsUtils::CleanupPtrArray<TScanItem>, &scanItems );
  3146     CleanupStack::PushL( cleanupItem );
  3148     CleanupStack::PushL( cleanupItem );
  3147 
  3149 
  3148 	CHarvesterCenRepUtil::GetPartialRestorePathsL( scanItems );
  3150     if( partialRestore )
       
  3151         {
       
  3152         CHarvesterCenRepUtil::GetPartialRestorePathsL( scanItems );
       
  3153         }
       
  3154 
       
  3155     RPointerArray<TScanItem> preinstalledItems;
       
  3156     TCleanupItem cleanupItem2( MdsUtils::CleanupPtrArray<TScanItem>, &preinstalledItems );
       
  3157     CleanupStack::PushL( cleanupItem2 );
       
  3158     
       
  3159     // Scan for preinstalled content anyways
       
  3160     CHarvesterCenRepUtil::GetAlwaysScanOnBootPathsL( preinstalledItems );
       
  3161 
       
  3162     for( TInt i = preinstalledItems.Count() - 1; i >=0; i-- )
       
  3163         {
       
  3164         TScanItem* preinstalledLocation = preinstalledItems[i];
       
  3165         preinstalledLocation->iPreinstalled = MdeConstants::MediaObject::EPreinstalled;
       
  3166         scanItems.Append( preinstalledLocation );
       
  3167         }
       
  3168     preinstalledItems.Reset(); 
  3149 
  3169 
  3150 	RPointerArray<HBufC> ignorePaths;
  3170 	RPointerArray<HBufC> ignorePaths;
  3151 	TCleanupItem cleanupItem2( MdsUtils::CleanupPtrArray<HBufC>, &ignorePaths );
  3171 	TCleanupItem cleanupItem3( MdsUtils::CleanupPtrArray<HBufC>, &ignorePaths );
  3152     CleanupStack::PushL( cleanupItem2 );
  3172     CleanupStack::PushL( cleanupItem3 );
  3153 
  3173 
  3154 	CHarvesterCenRepUtil::GetIgnoredPartialRestorePathsL( ignorePaths );
  3174 	CHarvesterCenRepUtil::GetIgnoredPartialRestorePathsL( ignorePaths );
  3155 
  3175 
  3156 	BootScanL( scanItems, ignorePaths, EFalse );
  3176 	BootScanL( scanItems, ignorePaths, EFalse );
  3157 	
  3177 	
  3159 	OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERAO_BOOTPARTIALRESTORESCANL, "CHarvesterAO::BootPartialRestoreScanL - iRestoreWatcher->UnregisterL()" );
  3179 	OstTrace0( TRACE_NORMAL, DUP1_CHARVESTERAO_BOOTPARTIALRESTORESCANL, "CHarvesterAO::BootPartialRestoreScanL - iRestoreWatcher->UnregisterL()" );
  3160 	
  3180 	
  3161 	iRestoreWatcher->UnregisterL();
  3181 	iRestoreWatcher->UnregisterL();
  3162 
  3182 
  3163 	CleanupStack::PopAndDestroy( &ignorePaths );
  3183 	CleanupStack::PopAndDestroy( &ignorePaths );
       
  3184 	CleanupStack::PopAndDestroy( &preinstalledItems );
  3164 	CleanupStack::PopAndDestroy( &scanItems );
  3185 	CleanupStack::PopAndDestroy( &scanItems );
  3165 	}
  3186 	}
  3166 
  3187 
  3167 TBool CHarvesterAO::IsDescInArray(const TPtrC& aSearch, const RPointerArray<HBufC>& aArray)
  3188 TBool CHarvesterAO::IsDescInArray(const TPtrC& aSearch, const RPointerArray<HBufC>& aArray)
  3168 	{
  3189 	{
  3268 						WRITELOG("CHarvesterAO::BootScanL() - scanFolders.AppendL");
  3289 						WRITELOG("CHarvesterAO::BootScanL() - scanFolders.AppendL");
  3269 						OstTrace0( TRACE_NORMAL, DUP2_CHARVESTERAO_BOOTSCANL, "CHarvesterAO::BootScanL - scanFolders.AppendL" );
  3290 						OstTrace0( TRACE_NORMAL, DUP2_CHARVESTERAO_BOOTSCANL, "CHarvesterAO::BootScanL - scanFolders.AppendL" );
  3270 						TScanItem* item = new (ELeave) TScanItem();
  3291 						TScanItem* item = new (ELeave) TScanItem();
  3271 						CleanupStack::PushL( item );
  3292 						CleanupStack::PushL( item );
  3272 						item->iPath = name->AllocL();
  3293 						item->iPath = name->AllocL();
  3273 						item->iPreinstalled = MdeConstants::MediaObject::ENotPreinstalled;
  3294 						item->iPreinstalled = preinstalled;
  3274 						CleanupStack::Pop( item );
  3295 						CleanupStack::Pop( item );
  3275 						aScanItems.AppendL( item ); // ownership is transferred
  3296 						aScanItems.AppendL( item ); // ownership is transferred
  3276 						}
  3297 						}
  3277 					}
  3298 					}
  3278 				else
  3299 				else