Added CSV parsing and export of Symbian-format Event logs that have had their tables...
[qwerkisync] / EventParsers / CSVSymbianEventLogParser.h
index 102d210..b57b60a 100644 (file)
 #ifndef EVENTPARSERS_CSVSYMBIANEVENTLOGPARSER_H
 #define EVENTPARSERS_CSVSYMBIANEVENTLOGPARSER_H
 
+#include "EventFormats/SymbianEventLog.h"
 #include "iEventParser.h"
-class Settings;
+#include "Settings.h"
 
 #include <QHash>
 class QChar;
 class QFile;
 class QString;
+class QStringList;
 
 namespace EventParsers
 {
-       class CSVSymbianEventLogParser : public iEventParser
+       class CSVSymbianEventLogParser : public iEventParser, public SymbianEventLog
        {
        public:
                typedef QHash<QString, int> ColumnIndicesHash;
 
                static iEventParser *IsValid(const Settings &currentSettings, QFile &eventFile);
 
-               CSVSymbianEventLogParser(const Settings &currentSettings, const QString &filename, const QChar delimiter, const int numColumnsPerRecord, const ColumnIndicesHash &columns);
+               CSVSymbianEventLogParser(const Settings &currentSettings, const QString &filename);
 
                virtual EventTypes::EventFromFileList ParseFile(QFile &eventFile, const QList<unsigned int> &recordsToReturn);
 
+       private:
+               Settings::eDirection ReadDirection(const uint value);
+
        protected:
                const Settings &CurrentSettings() const { return m_Settings; }
+               const StringsLookup &Strings() const { return m_Strings; }
+               StringsLookup &Strings() { return m_Strings; }
+
+       protected:
+               void Strings(const StringsLookup &strings) { m_Strings = strings; }
 
        private:
                const Settings &m_Settings;
-               const QChar m_Delimiter;
-               const int m_NumColumnsPerRecord;
-               const ColumnIndicesHash m_HeadingIndices;
+               StringsLookup m_Strings;
        };
 }