1 /*
2     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
3     SPDX-FileCopyrightText: 2015 Vyacheslav Matyushin
4 
5     SPDX-License-Identifier: GPL-2.0-or-later
6 */
7 
8 #pragma once
9 
10 #include "analyzer.h"
11 #include "logFile.h"
12 
13 class JournaldAnalyzer : public Analyzer
14 {
15     Q_OBJECT
16 
17 public:
18     explicit JournaldAnalyzer(LogMode *mode);
19 
20     LogViewColumns initColumns() override;
21 
22     void setLogFiles(const QVector<LogFile> &logFiles) override;
23 
24     virtual QStringList units() const = 0;
25 
26     virtual QStringList syslogIdentifiers() const = 0;
27 
28 protected:
29     struct JournalEntry {
30         QDateTime date;
31         QString unit;
32         QString message;
33         int priority;
34         QString bootID;
35     };
36 
37     int updateModel(QList<JournalEntry> &entries, ReadingMode readingMode);
38 };
39 
40