2 * Copyright (C) 2011, Jamie Thompson
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License as published by the Free Software Foundation; either
7 * version 3 of the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public
15 * License along with this program; If not, see
16 * <http://www.gnu.org/licenses/>.
19 #ifndef EVENTWRITERS_CSVSYMBIANEVENTLOGWRITER_H
20 #define EVENTWRITERS_CSVSYMBIANEVENTLOGWRITER_H
22 #include "EventFormats/SymbianEventLog.h"
23 #include "iEventWriter.h"
25 class NumberToNameLookup;
35 namespace EventWriters
37 class CSVSymbianEventLogWriter : public iEventWriter, public SymbianEventLog
40 typedef QVector<QString> ColumnIndicesByIndexHash;
42 CSVSymbianEventLogWriter(const Settings &settings, const NumberToNameLookup &numberToNameLookup);
43 ~CSVSymbianEventLogWriter();
45 virtual void Write(EventTypes::iEvent &event);
52 void WriteStrings(QTextStream &stringsStream);
56 const Settings &CurrentSettings() const { return m_Settings; }
57 const NumberToNameLookup &NameLookup() const { return m_NumberToNameLookup; }
58 QTextStream *const Stream() const { return m_Stream; }
59 const ColumnIndicesByIndexHash Headers() const { return m_Headers; }
60 const QChar Delimiter() const { return m_Delimiter; }
61 StringsLookup &Strings() { return m_Strings; }
64 const Settings &m_Settings;
65 const NumberToNameLookup &m_NumberToNameLookup;
67 void Stream(QTextStream *const stream) { m_Stream = stream; }
68 QTextStream *m_Stream;
69 void Headers(ColumnIndicesByIndexHash &headers) { m_Headers = headers; }
70 ColumnIndicesByIndexHash m_Headers;
71 void Delimiter(QChar delimiter) { m_Delimiter = delimiter; }
73 void Strings(StringsLookup &strings) { m_Strings = strings; }
74 StringsLookup m_Strings;
76 QFile *const File() const { return m_File; }
77 void File(QFile *const file) { m_File = file; }
82 #endif // EVENTWRITERS_CSVSYMBIANEVENTLOGWRITER_H