1 | // Copyright (C) 2018 The Qt Company Ltd. |
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
3 | |
4 | #ifndef QV4DEBUGCLIENT_P_H |
5 | #define QV4DEBUGCLIENT_P_H |
6 | |
7 | #include "qqmldebugclient_p.h" |
8 | #include <QtCore/qjsonvalue.h> |
9 | |
10 | // |
11 | // W A R N I N G |
12 | // ------------- |
13 | // |
14 | // This file is not part of the Qt API. It exists purely as an |
15 | // implementation detail. This header file may change from version to |
16 | // version without notice, or even be removed. |
17 | // |
18 | // We mean it. |
19 | // |
20 | |
21 | QT_BEGIN_NAMESPACE |
22 | |
23 | class QV4DebugClientPrivate; |
24 | class QV4DebugClient : public QQmlDebugClient |
25 | { |
26 | Q_OBJECT |
27 | Q_DECLARE_PRIVATE(QV4DebugClient) |
28 | |
29 | public: |
30 | enum StepAction |
31 | { |
32 | Continue, |
33 | In, |
34 | Out, |
35 | Next |
36 | }; |
37 | |
38 | enum Exception |
39 | { |
40 | All, |
41 | Uncaught |
42 | }; |
43 | |
44 | struct Response |
45 | { |
46 | QString command; |
47 | QJsonValue body; |
48 | }; |
49 | |
50 | QV4DebugClient(QQmlDebugConnection *connection); |
51 | |
52 | void connect(); |
53 | void disconnect(); |
54 | |
55 | void interrupt(); |
56 | void continueDebugging(StepAction stepAction); |
57 | void evaluate(const QString &expr, int frame = -1, int context = -1); |
58 | void lookup(const QList<int> &handles, bool includeSource = false); |
59 | void backtrace(int fromFrame = -1, int toFrame = -1, bool bottom = false); |
60 | void frame(int number = -1); |
61 | void scope(int number = -1, int = -1); |
62 | void scripts(int types = 4, const QList<int> &ids = QList<int>(), bool includeSource = false); |
63 | void setBreakpoint(const QString &target, int line = -1, int column = -1, bool enabled = true, |
64 | const QString &condition = QString(), int ignoreCount = -1); |
65 | void clearBreakpoint(int breakpoint); |
66 | void changeBreakpoint(int breakpoint, bool enabled); |
67 | void setExceptionBreak(Exception type, bool enabled = false); |
68 | void version(); |
69 | |
70 | Response response() const; |
71 | |
72 | protected: |
73 | void messageReceived(const QByteArray &data) override; |
74 | |
75 | Q_SIGNALS: |
76 | void connected(); |
77 | void interrupted(); |
78 | void result(); |
79 | void failure(); |
80 | void stopped(); |
81 | }; |
82 | |
83 | QT_END_NAMESPACE |
84 | |
85 | #endif // QV4DEBUGCLIENT_P_H |
86 | |