phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp
branchRCL_3
changeset 85 38bb213f60ba
parent 63 f4a778e096c2
--- a/phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp	Wed Sep 15 11:56:55 2010 +0300
+++ b/phonebookui/Phonebook2/UIControls/src/CPbk2FetchResults.cpp	Wed Oct 13 14:15:33 2010 +0300
@@ -38,7 +38,6 @@
 
 // System includes
 #include <coemain.h>
-#include <akninputblock.h>
 
 // Debugging headers
 #include <Pbk2Debug.h>
@@ -57,9 +56,7 @@
                 iFetchDlg( aFetchDlg ),
                 iPages( aPages ),
                 iObserver( aObserver ),
-                iResultsObserver( aResultsObserver ),
-                iWaitingForDelayedAppend( EFalse ),
-                iInputBlock( NULL )
+                iResultsObserver( aResultsObserver )
     {
     }
 
@@ -89,8 +86,6 @@
         
         delete iOperationQueue;
         }
-    
-    delete iWaitForAllOperationComplete;
     }
 
 // --------------------------------------------------------------------------
@@ -112,8 +107,6 @@
         }
     
     iOperationQueue = new (ELeave) CArrayFixFlat<CFRConatactOperation*>(4);
-    
-    iWaitForAllOperationComplete = new (ELeave) CActiveSchedulerWait();
     }
 
 // --------------------------------------------------------------------------
@@ -140,17 +133,10 @@
 // --------------------------------------------------------------------------
 //
 void CPbk2FetchResults::AppendL( const MVPbkContactLink& aLink )
-    { 
-    if ( iFetchDlg.IsSelectPermitted() )
-        {
-        CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContact );
-        AppendContactOperationL(newAppendOperation);
-        ProcessNextContactOperationL();
-        }
-    else
-        {
-        iPages.SelectContactL( aLink, EFalse );
-        }
+    {
+    CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContact );
+    AppendContactOperationL(newAppendOperation);
+    ProcessNextContactOperationL();
     }
 
 // --------------------------------------------------------------------------
@@ -159,24 +145,8 @@
 //
 void CPbk2FetchResults::AppendDelayedL( const MVPbkContactLink& aLink )
     {
-    // Add the feedback contact's operation to the head of the queue
-    // in order to ensure that the checked contact's operation to be
-    // handled firstly when phonebook receives the client feedback.
     CFRConatactOperation* newAppendOperation = CFRConatactOperation::NewL( aLink, CFRConatactOperation::EAppendContactDelayed );
-    iOperationQueue->InsertL( 0, newAppendOperation ); 
-    // Waiting is over.
-    iWaitingForDelayedAppend = EFalse;
-    ProcessNextContactOperationL();
-    }
-
-// --------------------------------------------------------------------------
-// CPbk2FetchResults::DenyAppendDelayedL
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchResults::DenyAppendDelayedL( const MVPbkContactLink& aLink )
-    {
-    // Waiting is over, process next contact operation
-    iWaitingForDelayedAppend = EFalse;
+    AppendContactOperationL(newAppendOperation);
     ProcessNextContactOperationL();
     }
 
@@ -206,21 +176,6 @@
     }
 
 // --------------------------------------------------------------------------
-// CPbk2FetchResults::WaitOperationsCompleteL
-// --------------------------------------------------------------------------
-//
-void CPbk2FetchResults::WaitOperationsCompleteL()
-    {
-    if ( iWaitingForDelayedAppend || iOperationQueue->Count()>0 )
-        {
-        iInputBlock = CAknInputBlock::NewLC();
-        CleanupStack::Pop( iInputBlock );
-        
-        iWaitForAllOperationComplete->Start();
-        }
-    }
-
-// --------------------------------------------------------------------------
 // CPbk2FetchResults::Count
 // --------------------------------------------------------------------------
 //
@@ -373,13 +328,6 @@
         {
         // Observer needs to asked
         accept = iObserver.AcceptFetchSelectionL( count, *link );
-        // Determine whether accept query is needed
-        if ( MPbk2FetchDlgObserver::EFetchDelayed == accept )
-            {
-            // Start to wait client feedback, block the operation queue,
-            // process next operation until receive client feedback.
-            iWaitingForDelayedAppend = ETrue;
-            }
         }
 
     if ( accept == MPbk2FetchDlgObserver::EFetchNo )
@@ -541,6 +489,8 @@
     // Remove executed operation from queue
     RemoveCurrentContactOperation();
     
+    // Initialize next operation from queue
+    ProcessNextContactOperationL();   
     
     /**********************************************************************/
     /**************! Dont use class members after SWITCH !*****************/
@@ -555,26 +505,17 @@
         case CFRConatactOperation::EAppendContact:
             {
             DoAppendContactL( *aContact, EFalse );
-            // Check whether next operation can be processed
-            // after sending check request to client.
-            ProcessNextContactOperationL();
             break;
             }
             
         case CFRConatactOperation::EAppendContactDelayed:
             {
-            // Process new contact opretation before appending 
-            // the delayed contact to results. It can save time.
-            ProcessNextContactOperationL();   
             DoAppendContactL( *aContact, ETrue );
             break;
             }
         
         case CFRConatactOperation::ERemoveContact:
             {
-            // Process new contact opretation before removing contact 
-            // from results. It can save time.
-            ProcessNextContactOperationL();   
             DoRemoveContactL( *aContact );
             break;
             }
@@ -589,7 +530,7 @@
 //
 void CPbk2FetchResults::ProcessNextContactOperationL()
     {
-    if( !iRetrieveOperation && !iWaitingForDelayedAppend )
+    if( !iRetrieveOperation )
         {        
         // No operation is executing -> process next one
         
@@ -597,23 +538,13 @@
             {
             // Start asynchronous contact retrieve operation, which completes
             // in CPbk2FetchResults::HandleContactOperationCompleteL.
-			iRetrieveOperation =  iContactManager.RetrieveContactL( 
-                    *( GetCurrentContactOperation()->GetContactLink() ),
-                    *this );
+            iRetrieveOperation =  iContactManager.RetrieveContactL( *( GetCurrentContactOperation()->GetContactLink() ),
+                                                                   *this );
             }
         else
             {
-            if ( !iWaitingForDelayedAppend )
-                {
-                // Every seleced contacts' operation finishes,
-                // stop the scheduler waiting for every operation.
-                if (iWaitForAllOperationComplete->IsStarted())
-                    iWaitForAllOperationComplete->AsyncStop();
-                
-                // Stop blocking input 
-                delete iInputBlock;
-                iInputBlock = NULL;
-                }
+            // Empty operation queue -> do nothing
+            PBK2_DEBUG_PRINT(PBK2_DEBUG_STRING( "CPbk2FetchResults::ProcessNextContactOperationL emtpy queue" ));
             }
         }
     else