File indexing completed on 2024-05-12 05:48:34

0001 #pragma once
0002 
0003 #include "auditConvertor.h"
0004 #include "fileAnalyzer.h"
0005 
0006 #include "auditLogMode.h"
0007 
0008 class AuditAnalyzer : public FileAnalyzer
0009 {
0010     Q_OBJECT
0011 
0012 public:
0013     explicit AuditAnalyzer(LogMode *logMode);
0014 
0015     LogViewColumns initColumns() override;
0016 
0017     void setLogFiles(const QVector<LogFile> &logFiles) override;
0018 
0019 protected:
0020     LogFileReader *createLogFileReader(const LogFile &logFile) override;
0021     Analyzer::LogFileSortMode logFileSortMode() override;
0022     LogLine *parseMessage(const QString &logLine, const LogFile &originalFile) override;
0023 
0024 private:
0025     void deleteLogFiles();
0026 
0027     /**
0028      * Parse and insert the buffered lines in the model
0029      * Returns the count of inserted lines
0030      */
0031     int insertLines(const QStringList &bufferedLines, const LogFile &logFile, ReadingMode readingMode);
0032 
0033     /**
0034      * Parse and insert a line in the model
0035      * Returns false if it was not inserted, true if it was
0036      */
0037     bool insertLine(const QStringList &event, const LogFile &originalFile, ReadingMode readingMode);
0038 
0039     QString getMsgField(const QString &logLine);
0040 
0041     LogLine *parseEvent(const QStringList &event, const LogFile &originalFile);
0042 
0043 private Q_SLOTS:
0044     void logFileChanged(LogFileReader *logFileReader, Analyzer::ReadingMode readingMode, const QStringList &content);
0045 
0046 private:
0047     AuditConvertor m_conv;
0048 };