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

0001 /*
0002     SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com>
0003     SPDX-FileCopyrightText: 2015 Vyacheslav Matyushin
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #pragma once
0009 
0010 /**
0011  * Journald Log Mode Identifier
0012  */
0013 #define JOURNALD_LOG_MODE_ID "journaldLogMode"
0014 
0015 /**
0016  * Journald Log Icon
0017  */
0018 #define JOURNALD_MODE_ICON "preferences-system-startup"
0019 
0020 #include "logFile.h"
0021 #include "logMode.h"
0022 
0023 #include "journaldTypes.h"
0024 
0025 using namespace JournaldTypes;
0026 
0027 Q_DECLARE_METATYPE(JournaldAnalyzerOptions)
0028 
0029 class JournaldLogMode : public LogMode
0030 {
0031     Q_OBJECT
0032 
0033 public:
0034     explicit JournaldLogMode();
0035 
0036     Analyzer *createAnalyzer(const QVariant &analyzerOptions = QVariant()) override;
0037 
0038     QVector<LogFile> createLogFiles() override;
0039 
0040     void updateJournalFilters(const JournalAddress &address, const JournalFilters &filters);
0041     JournalFilters filters(const JournalAddress &address) const;
0042 
0043 private:
0044     QMap<JournalAddress, JournalFilters> mRemoteJournalFilters;
0045 };