1st attempt at an initial import.
[qwerkisync] / EventParsers / CSVSymbianEventLogParser.h
1 /*
2  * Copyright (C) 2011, Jamie Thompson
3  *
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.
8  *
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.
13  *
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/>.
17  */
18
19 #ifndef EVENTPARSERS_CSVSYMBIANEVENTLOGPARSER_H
20 #define EVENTPARSERS_CSVSYMBIANEVENTLOGPARSER_H
21
22 #include "iEventParser.h"
23
24 template <typename T1, typename T2> class QHash;
25 class QFile;
26 class QString;
27
28 namespace EventParsers
29 {
30         class CSVSymbianEventLogParser : public iEventParser
31         {
32         public:
33                 typedef QHash<QString, int> ColumnIndicesHash;
34
35                 static iEventParser *IsValid(QFile &eventFile);
36
37                 CSVSymbianEventLogParser(const QString &filename, const ColumnIndicesHash &columns);
38
39                 virtual EventTypes::EventFromFileList ParseFile(QFile &eventFile, const QList<unsigned int> &recordsToReturn);
40         };
41 }
42
43 #endif // EVENTPARSERS_CSVSYMBIANEVENTLOGPARSER_H