1 #pragma once
2 
3 #include <QMap>
4 
5 #include "auditConvertor.h"
6 #include "fileAnalyzer.h"
7 
8 #include "auditLogMode.h"
9 
10 class AuditAnalyzer : public FileAnalyzer
11 {
12     Q_OBJECT
13 
14 public:
15     explicit AuditAnalyzer(LogMode *logMode);
16 
17     LogViewColumns initColumns() override;
18 
19     void setLogFiles(const QVector<LogFile> &logFiles) override;
20 
21 protected:
22     LogFileReader *createLogFileReader(const LogFile &logFile) override;
23     Analyzer::LogFileSortMode logFileSortMode() override;
24     LogLine *parseMessage(const QString &logLine, const LogFile &originalFile) override;
25 
26 private:
27     void deleteLogFiles();
28 
29     /**
30      * Parse and insert the buffered lines in the model
31      * Returns the count of inserted lines
32      */
33     int insertLines(const QStringList &bufferedLines, const LogFile &logFile, ReadingMode readingMode);
34 
35     /**
36      * Parse and insert a line in the model
37      * Returns false if it was not inserted, true if it was
38      */
39     bool insertLine(const QStringList &event, const LogFile &originalFile, ReadingMode readingMode);
40 
41     QString getMsgField(const QString &logLine);
42 
43     LogLine *parseEvent(const QStringList &event, const LogFile &originalFile);
44 
45 private Q_SLOTS:
46     void logFileChanged(LogFileReader *logFileReader, Analyzer::ReadingMode readingMode, const QStringList &content);
47 
48 private:
49     AuditConvertor m_conv;
50 };
51 
52