File indexing completed on 2024-04-14 15:32:44

0001 /*
0002     SPDX-FileCopyrightText: 2009-2010 George Kiagiadakis <kiagiadakis.george@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #ifndef BACKTRACEPARSERGDB_H
0007 #define BACKTRACEPARSERGDB_H
0008 
0009 #include "backtraceparser.h"
0010 class BacktraceParserGdbPrivate;
0011 
0012 class BacktraceLineGdb : public BacktraceLine
0013 {
0014 public:
0015     BacktraceLineGdb(const QString &line);
0016 
0017 private:
0018     void parse();
0019     void rate();
0020 };
0021 
0022 class BacktraceParserGdb : public BacktraceParser
0023 {
0024     Q_OBJECT
0025     Q_DECLARE_PRIVATE(BacktraceParserGdb)
0026 public:
0027     explicit BacktraceParserGdb(QObject *parent = nullptr);
0028 
0029     QString parsedBacktrace() const override;
0030     QList<BacktraceLine> parsedBacktraceLines() const override;
0031     static const QLatin1String KCRASH_INFO_MESSAGE;
0032 
0033 protected:
0034     BacktraceParserPrivate *constructPrivate() const override;
0035 
0036 protected Q_SLOTS:
0037     void newLine(const QString &lineStr) override;
0038 
0039 private:
0040     void parseLine(const QString &lineStr);
0041 };
0042 
0043 #endif // BACKTRACEPARSERGDB_H