photosgallery/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcetaskmdscommand.cpp
branchRCL_3
changeset 24 ea65f74e6de4
parent 19 420f6808bf21
equal deleted inserted replaced
23:b023a8d2866a 24:ea65f74e6de4
  1017         CMdEObject& object = static_cast<CMdEObject&>(aQuery.ResultItem(queryPos));
  1017         CMdEObject& object = static_cast<CMdEObject&>(aQuery.ResultItem(queryPos));
  1018         //Removes the Read Only attributes of the file 
  1018         //Removes the Read Only attributes of the file 
  1019         fs.SetAtt(object.Uri(), 0, KEntryAttReadOnly);
  1019         fs.SetAtt(object.Uri(), 0, KEntryAttReadOnly);
  1020         TInt err = manager->DeleteFile(object.Uri());
  1020         TInt err = manager->DeleteFile(object.Uri());
  1021         if (err != KErrNone)
  1021         if (err != KErrNone)
  1022         	{
  1022             {
  1023         	lastErr = err;
  1023             const TInt KDelayInterval = 250000;
  1024         	}    
  1024             const TInt KMaxRetries = 4;
       
  1025             for (TInt i = 0; ((i < KMaxRetries) && err == KErrInUse
       
  1026                     && queryCount == 1); i++)
       
  1027                 {
       
  1028                 User::After(KDelayInterval);
       
  1029                 err = manager->DeleteFile(object.Uri());
       
  1030                 }
       
  1031             lastErr = err;
       
  1032             }
  1025         else
  1033         else
  1026             {    
  1034             {
  1027             // On successful deletion, delete the same from database
  1035             // On successful deletion, delete the same from database
  1028             objectsForRemoval.AppendL(object.Id());
  1036             objectsForRemoval.AppendL(object.Id());
  1029             }
  1037             }
  1030 			 
  1038 			 
  1031         // After every 10 items are deleted, break from the for loop 
  1039         // After every 10 items are deleted, break from the for loop