Added parsing of CSV-formatted Symbian event logs
[qwerkisync] / DBBackends / RtcomEventLogger.h
index d99d4c4..e00f205 100644 (file)
 #define DBBACKENDS_RTCOMEVENTLOGGER_H
 
 #include "iDBBackend.h"
-
-class Settings;
+#include "Settings.h"
 
 class _RTComElAttachment;
 typedef _RTComElAttachment RTComElAttachment;
 class _RTComElEvent;
 typedef _RTComElEvent RTComElEvent;
+class _RTComEl;
+typedef _RTComEl RTComEl;
 
 template <typename T1> class QList;
+class QString;
 
 #include <QHash>
 
@@ -41,6 +43,7 @@ namespace DBBackends
                RtcomEventLogger(const Settings &settings, const EventTypes::RtcomEvent &event);
 
                virtual void Insert(EventTypes::iEvent &event, const NumberToNameLookup &numberToNameLookup);
+               virtual void PostInsert();
                virtual void Process(EventProcessors::iEventProcessor &eventProcessor);
 
        protected:
@@ -48,20 +51,23 @@ namespace DBBackends
 
        protected:
                virtual EventTypes::iEvent *const CreateEvent(RTComElEvent &revent, QList<RTComElAttachment*> &rattachments);
+               void ProcessService(EventProcessors::iEventProcessor &processor, const EventTypes::eEventTypes service, const RTComEl &el);
+
+               virtual const QList<int> &InsertedIDs() const { return m_InsertedIDs; }
+
+       public:
+               virtual void ClearInsertedIDs();
 
        private:
-               const Settings &m_Settings;
+               void Reindex();
+               QList<int> &InsertedIDs() { return m_InsertedIDs; }
 
-               enum ServiceID
-               {
-                       SERVICE_ID_CALL,
-                       SERVICE_ID_CHAT,
-                       SERVICE_ID_SMS,
-                       SERVICE_ID_MMS,
-                       SERVICE_ID_SIZE
-               };
+       private:
+               const Settings &m_Settings;
+               const QString mk_DBPath;
+               QList<int> m_InsertedIDs;
 
-               QHash<ServiceID, int> m_ServiceIDs;
+               QHash<EventTypes::eEventTypes, int> m_ServiceIDs;
        };
 }