logsui/logsengine/logssymbianos/inc/logsremove.h
changeset 16 c5af8598d22c
parent 14 f27aebe284bb
--- a/logsui/logsengine/logssymbianos/inc/logsremove.h	Wed Aug 18 09:49:12 2010 +0300
+++ b/logsui/logsengine/logssymbianos/inc/logsremove.h	Thu Sep 02 20:27:05 2010 +0300
@@ -22,6 +22,7 @@
 #include "logsworker.h"
 #include "logsmodel.h"
 #include "logsremovestatecontext.h"
+#include "logsremoveobserver.h"
 
 // FORWARDS DECLARATIONS
 class CLogClient;
@@ -33,7 +34,9 @@
 /**
  *	Clearing class.
  */
-class LogsRemove : public LogsWorker, public LogsRemoveStateContext
+class LogsRemove : public LogsWorker, 
+                   public LogsRemoveStateContext, 
+                   public LogsRemoveObserver
     {
     public:
         friend class UT_LogsRemove;
@@ -54,7 +57,7 @@
 
         bool clearList(LogsModel::ClearType cleartype);
         
-        int clearEvents(const QList<int>& eventIds, bool& async);
+        int clearEvents(const QList<LogsEvent*>& events, bool& async);
         
     protected: // from CActive
         
@@ -63,21 +66,28 @@
     private: // From LogsRemoveStateContext
         
         inline LogsRemoveObserver& observer();
-        inline QList<int>& removedEvents();
+        inline QList<LogsEvent>& removedEvents();
         inline int clearType();
         
+    private: // From LogsRemoveObserver
+        
+        void removeCompleted();
+        void logsRemoveErrorOccured(int err);
+        
     private:
         
         void initL();
         bool clearListL(LogsModel::ClearType cleartype);
-        void clearEventsL(const QList<int>& eventIds, bool& async);
+        void clearEventsL(const QList<LogsEvent*>& events, bool& async);
         void initializeClearAllL();
         void initializeIdBasedRemovalL();
         bool startClearingL();
+        void removeAssociatedDuplicatesL();
         
     private: // data
         LogsRemoveObserver& mObserver;
-        QList<int> mRemovedEvents;
+        QList<LogsEvent> mRemovedEvents;
+        QList<LogsEvent> mRemovedEventDuplicates;
      
         RFs* mFsSession;