photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdscommand.cpp
branchRCL_3
changeset 19 420f6808bf21
parent 13 bcb43dc84c44
child 24 ea65f74e6de4
equal deleted inserted replaced
18:78ad99c24f08 19:420f6808bf21
  1026             {    
  1026             {    
  1027             // On successful deletion, delete the same from database
  1027             // On successful deletion, delete the same from database
  1028             objectsForRemoval.AppendL(object.Id());
  1028             objectsForRemoval.AppendL(object.Id());
  1029             }
  1029             }
  1030 			 
  1030 			 
  1031         // After every 50 items are deleted, break from the for loop 
  1031         // After every 10 items are deleted, break from the for loop 
  1032         // and process other pending requests if any
  1032         // and process other pending requests if any
  1033         if(deleteItemCounter == KDeletedItemCount)
  1033         if(deleteItemCounter == KDeletedItemCount)
  1034 			{	
  1034 			{	
  1035 			iTimer->Start( KDeleteOperationInterval, KDeleteOperationInterval,
  1035 			iTimer->Start( KDeleteOperationInterval, KDeleteOperationInterval,
  1036 							TCallBack( &SchedulerStopCallback, (TAny *)this ) );	
  1036 							TCallBack( &SchedulerStopCallback, (TAny *)this ) );	
  1037 			iSchedulerWait->Start();  
  1037 			iSchedulerWait->Start();  
  1038 			deleteItemCounter = 0;
  1038 			deleteItemCounter = 0;
       
  1039 			if(objectsForRemoval.Count()>0)
       
  1040 				{
       
  1041 				// Inform the MdS for media items Delete Updation in batches of 10
       
  1042 				DataSource()->Session().RemoveObjectsL(objectsForRemoval,
       
  1043 						sucessfullyRemovedObjects);
       
  1044 				objectsForRemoval.Reset();
       
  1045 				}
  1039 			}     
  1046 			}     
  1040         deleteItemCounter++;     
  1047         deleteItemCounter++;     
  1041         }
  1048         }
  1042     // Calling Close() on file server session 
  1049     // Calling Close() on file server session 
  1043     CleanupStack::PopAndDestroy( &fs );
  1050     CleanupStack::PopAndDestroy( &fs );
  1044     
  1051     
  1045     User::LeaveIfError(lastErr);
  1052     User::LeaveIfError(lastErr);
  1046     
  1053     
  1047     if (queryCount)
  1054     if (queryCount && objectsForRemoval.Count()>0)
  1048     	{
  1055     	{
  1049     	// Some objects may have already been removed by the harvester
  1056     	// Some objects may have already been removed by the harvester
  1050     	DataSource()->Session().RemoveObjectsL(objectsForRemoval, sucessfullyRemovedObjects);
  1057     	DataSource()->Session().RemoveObjectsL(objectsForRemoval, sucessfullyRemovedObjects);
  1051     	}
  1058     	}
  1052     
  1059