1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef DAPPROXY_H
6#define DAPPROXY_H
7
8#include "dap/protocol.h"
9#include <QObject>
10
11class DapProxy final: public QObject
12{
13 Q_OBJECT
14public:
15 static DapProxy *instance();
16
17Q_SIGNALS:
18 void sigStart();
19 void sigQuit();
20 void sigKill();
21 void sigLaunchLocal();
22 void sigLaunchRemote(const QString& remoteTarget);
23 void sigAttachProcess(const int pid);
24 void sigAttachThreadGroup(const QString& gid);
25 void sigDetachProcess(const int pid);
26 void sigDetachThreadGroup(const QString& gid);
27 void sigDetach();
28 void sigDisconnect();
29 void sigContinue();
30 void sigPause();
31 void sigNext();
32 void sigStepin();
33 void sigStepout();
34 void sigStepover();
35 void sigBreakInsert(const QString& path);
36 void sigThreads();
37 void sigSelectThread(const int threadId);
38 void sigStackTrace();
39 void sigSelectStackFrame(const dap::StackFrame& stackFrame);
40 void sigScopes(const qint64 frame);
41 void sigVariables();
42 void sigSource();
43 void sigStreamOutput(const QString sOut);
44 void sigBreakRemoveAll();
45
46private:
47 explicit DapProxy(QObject *parent = nullptr);
48 virtual ~DapProxy();
49};
50
51#endif //DAPPROXY_H
52