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 /** 11 * Journald Log Mode Identifier 12 */ 13 #define JOURNALD_LOG_MODE_ID "journaldLogMode" 14 15 /** 16 * Journald Log Icon 17 */ 18 #define JOURNALD_MODE_ICON "preferences-system-startup" 19 20 #include <QList> 21 22 #include "logFile.h" 23 #include "logMode.h" 24 25 #include "journaldTypes.h" 26 27 using namespace JournaldTypes; 28 Q_DECLARE_METATYPE(JournaldAnalyzerOptions)29Q_DECLARE_METATYPE(JournaldAnalyzerOptions) 30 31 class JournaldLogMode : public LogMode 32 { 33 Q_OBJECT 34 35 public: 36 explicit JournaldLogMode(); 37 38 Analyzer *createAnalyzer(const QVariant &analyzerOptions = QVariant()) override; 39 40 QVector<LogFile> createLogFiles() override; 41 42 void updateJournalFilters(const JournalAddress &address, const JournalFilters &filters); 43 JournalFilters filters(const JournalAddress &address) const; 44 45 private: 46 QMap<JournalAddress, JournalFilters> mRemoteJournalFilters; 47 }; 48 49