--- a/logsui/logsengine/logssymbianos/inc/logsreaderstates.h Fri Aug 06 14:57:47 2010 +0300
+++ b/logsui/logsengine/logssymbianos/inc/logsreaderstates.h Mon Aug 23 18:14:51 2010 +0300
@@ -23,6 +23,7 @@
#include <e32std.h>
#include <logclientchangeobserver.h>
#include <logviewchangeobserver.h>
+#include "logsduplicatelookup.h"
// FORWARD DECLARATION
class LogsReaderStateContext;
@@ -198,9 +199,18 @@
* Synchronously fills details from phonebook
*/
void fillDetails();
-
+
public: // From LogsReaderStateBase
virtual bool enterL();
+ private:
+ void mergeDuplicates( LogsEvent& usedEvent, LogsEvent& discardedEvent ) const;
+
+ private:
+ LogsDuplicateLookup mDuplicateLookup;
+
+ private: // For testing
+
+ friend class UT_LogsReaderStates;
};
/**
@@ -254,7 +264,7 @@
};
/**
- * Marking duplicate events state
+ * Reading duplicate events state
*/
class LogsReaderStateReadingDuplicates : public LogsReaderStateBase
{
@@ -270,6 +280,21 @@
};
/**
+ * Merging duplicate events state
+ */
+class LogsReaderStateMergingDuplicates : public LogsReaderStateBase
+{
+ friend class UT_LogsReaderStates;
+
+ public:
+ LogsReaderStateMergingDuplicates(LogsStateBaseContext& context, LogsReaderStateContext& readerContext);
+ virtual ~LogsReaderStateMergingDuplicates(){}
+
+ public: // From LogsReaderStateBase
+ virtual bool enterL();
+};
+
+/**
* Modifying done state
*/
class LogsReaderStateModifyingDone : public LogsReaderStateBase