logsui/logsengine/logssymbianos/inc/logsremovestates.h
changeset 9 68f3171a5819
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/logsui/logsengine/logssymbianos/inc/logsremovestates.h	Thu Jul 08 11:31:03 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef LOGSREMOVESTATES_H
+#define LOGSREMOVESTATES_H
+
+//  INCLUDES
+#include <QList>
+#include "logsstatebase.h"
+
+class LogsRemoveStateContext;
+
+/**
+ * Base for remove states
+ */
+class LogsRemoveStateBase : public LogsStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateBase(LogsStateBaseContext& context, LogsRemoveStateContext& removeContext);
+        virtual ~LogsRemoveStateBase(){}
+
+    protected:
+        LogsRemoveStateContext& mContext;
+};
+
+/**
+ * State for clearing all events or specific event types from main db view
+ */
+class LogsRemoveStateClearAll : public LogsRemoveStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateClearAll(
+            LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : 
+                LogsRemoveStateBase(context, removeContext) {}
+        virtual ~LogsRemoveStateClearAll(){}
+    
+    public: // From LogsReaderStateBase
+        virtual bool enterL();
+        virtual bool continueL();
+};
+
+/**
+ * State for initializing removal from recent db view
+ */
+class LogsRemoveStateInit : public LogsRemoveStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateInit(
+            LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : 
+                LogsRemoveStateBase(context, removeContext) {}
+        virtual ~LogsRemoveStateInit(){}
+    
+    public: // From LogsReaderStateBase
+        virtual bool enterL();
+        virtual bool continueL();
+};
+
+/**
+ * State for event id based deletion of events from main db view
+ */
+class LogsRemoveStateDelete : public LogsRemoveStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateDelete(
+            LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : 
+                LogsRemoveStateBase(context, removeContext), mRemoveIndex(0) {}
+        virtual ~LogsRemoveStateDelete(){}
+    
+    public: // From LogsReaderStateBase
+        virtual bool enterL();
+        virtual bool continueL();
+    protected:
+        bool deleteNextEvent();
+    protected:
+        int mRemoveIndex;
+};
+
+/**
+ * State for deleting duplicate events from recent db view
+ */
+class LogsRemoveStateDeleteDuplicates : public LogsRemoveStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateDeleteDuplicates(
+            LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : 
+                LogsRemoveStateBase(context, removeContext) {}
+        virtual ~LogsRemoveStateDeleteDuplicates(){}
+    
+    public: // From LogsReaderStateBase
+        virtual bool enterL();
+        virtual bool continueL();
+    protected:
+            bool deleteNextEvent();   
+    protected:
+        bool mDeleting;
+        QList<int> mDeleteDuplicateIds;
+};
+
+/**
+ * Completion state
+ */
+class LogsRemoveStateDone : public LogsRemoveStateBase {
+
+    friend class UT_LogsRemoveStates;
+    
+    public:
+        LogsRemoveStateDone(
+            LogsStateBaseContext& context, LogsRemoveStateContext& removeContext) : 
+                LogsRemoveStateBase(context, removeContext) {}
+        virtual ~LogsRemoveStateDone(){}
+    
+    public: // From LogsReaderStateBase
+        virtual bool enterL();
+};
+
+
+
+#endif      // LOGSREMOVESTATES_H
+
+
+// End of File
+      
+
+        
+