File indexing completed on 2024-05-19 05:49:17

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 "ksystemlog_debug.h"
0014 
0015 #include "localLogFileReader.h"
0016 #include "parsingHelper.h"
0017 #include "sambaLogMode.h"
0018 
0019 class SambaAnalyzer : public FileAnalyzer
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     explicit SambaAnalyzer(LogMode *logMode);
0025 
0026     ~SambaAnalyzer() override
0027     {
0028     }
0029 
0030     LogViewColumns initColumns() override;
0031 
0032 protected:
0033     LogFileReader *createLogFileReader(const LogFile &logFile) override;
0034 
0035     Analyzer::LogFileSortMode logFileSortMode() override;
0036 
0037     /*
0038      * Log line examples :
0039      * [2005/06/27 21:06:01, 0] nmbd/nmbd.c:main(668)
0040      * Netbios nameserver version 3.0.14a started.
0041      * Copyright Andrew Tridgell and the Samba Team 1994-2004
0042      * [2005/06/27 21:11:46, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(396)
0043      *  *****
0044      *  Samba name server STEAKHACHE is now a local master browser for workgroup MAISON on subnet 192.168.1.33
0045      *
0046      *  *****
0047      * [2005/06/28 06:41:03, 0] nmbd/nmbd.c:terminate(56)
0048      * Got SIGTERM: going down...
0049      * [2005/06/28 18:08:11, 0] nmbd/nmbd.c:main(668)
0050      * Netbios nameserver version 3.0.14a started.
0051      * Copyright Andrew Tridgell and the Samba Team 1994-2004
0052      *
0053      * Note:
0054      * This analyzer nevers return the last line of a log file because it's never sure
0055      * that the last file line is the last message of the current log line.
0056      * So the previous last line will be returned at the next file update,
0057      */
0058     LogLine *parseMessage(const QString &logLine, const LogFile &originalLogFile) override;
0059 
0060     LogLine *mCurrentLogLine;
0061 };