File indexing completed on 2024-05-12 05:48:41
0001 /* 0002 SPDX-FileCopyrightText: 2007 Nicolas Ternisien <nicolas.ternisien@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include <KLocalizedString> 0010 0011 #include "fileAnalyzer.h" 0012 0013 #include "localLogFileReader.h" 0014 #include "parsingHelper.h" 0015 0016 #include "xsessionConfiguration.h" 0017 #include "xsessionLogMode.h" 0018 0019 class XSessionAnalyzer : public FileAnalyzer 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit XSessionAnalyzer(LogMode *logMode); 0025 0026 ~XSessionAnalyzer() override 0027 { 0028 } 0029 0030 LogViewColumns initColumns() override; 0031 0032 protected: 0033 LogFileReader *createLogFileReader(const LogFile &logFile) override 0034 { 0035 return new LocalLogFileReader(logFile); 0036 } 0037 0038 Analyzer::LogFileSortMode logFileSortMode() override; 0039 0040 LogLine *parseMessage(const QString &logLine, const LogFile &originalFile) override; 0041 0042 private: 0043 bool isXorgError(const QString &program); 0044 0045 bool hasWarningKeywords(const QString &message); 0046 0047 bool hasErrorKeywords(const QString &message); 0048 0049 bool hasKeywords(const QString &message, const QStringList &keywords); 0050 0051 QDateTime mCurrentDateTime; 0052 };