emailservices/emailstore/message_store/server/src/ContainerStoreDeleteHandler.cpp
branchRCL_3
changeset 29 6b8f3b30d0ec
parent 0 8466d47a6819
--- a/emailservices/emailstore/message_store/server/src/ContainerStoreDeleteHandler.cpp	Tue May 25 12:23:16 2010 +0300
+++ b/emailservices/emailstore/message_store/server/src/ContainerStoreDeleteHandler.cpp	Wed Jun 09 09:22:57 2010 +0300
@@ -115,7 +115,7 @@
 // ==========================================================================
 void CDeleteHandler::FindContainerToDeleteL()
     {
-    TBool done = EFalse;
+    TBool done(EFalse);
     
     TContainerId containerId = KToBeDeletedContainers;
     if ( iState == ERetryDelete )
@@ -163,7 +163,7 @@
     // Delete the lowest node in the hierarchy.        
     TRAPD( result, FindContainerToDeleteL() );
 
-    TBool more = EFalse;    
+    TBool more ( EFalse );    
         
     if( result == KErrNone )
         {        
@@ -201,7 +201,18 @@
         {   
         if ( iState == ERetryDelete )
             {
-            iState = EDelete;
+            //next state
+            iState = EDeleteFromSortingTable;
+            more = ETrue;
+            }
+        else if(iState == EDeleteFromSortingTable)
+            {
+            //check sorting table for containers that have been marked for deletion
+            if(!iContainerStore.DeleteFromSortingTable())
+                {
+                //if nor more then set to next state
+                iState = EDelete;
+                }
             more = ETrue;
             }
         else
@@ -214,21 +225,3 @@
     return more;
     
     } // end DoNextDelete
-
-// ==========================================================================
-// FUNCTION: FinishDeletes
-// ==========================================================================
-void CDeleteHandler::FinishDeletes()
-    {
-    if( IsActive() )
-        {
-        Cancel();
-        
-        // Loop until all deletes are done.
-        while( DoNextDelete() )
-            {
-            }        
-        
-        } // end if
-    
-    } // end FinishDeletes