File indexing completed on 2024-05-05 05:51:35
0001 // 0002 // Description: GDB variable parser 0003 // 0004 // SPDX-FileCopyrightText: 2010 Kåre Särs <kare.sars@iki.fi> 0005 // SPDX-FileCopyrightText: 2023 Rémi Peuchot <kde.remi@proton.me> 0006 // 0007 // SPDX-License-Identifier: LGPL-2.0-only 0008 0009 #pragma once 0010 0011 #include "dap/entities.h" 0012 #include <QObject> 0013 0014 class GDBVariableParser : public QObject 0015 { 0016 Q_OBJECT 0017 public: 0018 GDBVariableParser(QObject *parent = nullptr); 0019 0020 void insertVariable(const QString &name, const QString &value, const QString &type, bool changed = false); 0021 0022 Q_SIGNALS: 0023 void variable(int parentId, const dap::Variable &variable); 0024 0025 private: 0026 int createAndSignalVariable(int parentId, const QStringView name, const QStringView value, const QString &type, bool changed); 0027 void insertVariable(int parentId, int itemIndex, QStringView &tail, const QString &type, bool changed); 0028 void insertNamedVariable(int parentId, QStringView name, int itemIndex, QStringView &tail, const QString &type, bool changed); 0029 0030 int m_variableId = 0; 0031 };