source: trunk/src/scripttools/debugging/qscriptdebuggercommand_p.h@ 1168

Last change on this file since 1168 was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 9.6 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4** All rights reserved.
5** Contact: Nokia Corporation ([email protected])
6**
7** This file is part of the QtSCriptTools module of the Qt Toolkit.
8**
9** $QT_BEGIN_LICENSE:LGPL$
10** Commercial Usage
11** Licensees holding valid Qt Commercial licenses may use this file in
12** accordance with the Qt Commercial License Agreement provided with the
13** Software or, alternatively, in accordance with the terms contained in
14** a written agreement between you and Nokia.
15**
16** GNU Lesser General Public License Usage
17** Alternatively, this file may be used under the terms of the GNU Lesser
18** General Public License version 2.1 as published by the Free Software
19** Foundation and appearing in the file LICENSE.LGPL included in the
20** packaging of this file. Please review the following information to
21** ensure the GNU Lesser General Public License version 2.1 requirements
22** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
23**
24** In addition, as a special exception, Nokia gives you certain additional
25** rights. These rights are described in the Nokia Qt LGPL Exception
26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
27**
28** GNU General Public License Usage
29** Alternatively, this file may be used under the terms of the GNU
30** General Public License version 3.0 as published by the Free Software
31** Foundation and appearing in the file LICENSE.GPL included in the
32** packaging of this file. Please review the following information to
33** ensure the GNU General Public License version 3.0 requirements will be
34** met: http://www.gnu.org/copyleft/gpl.html.
35**
36** If you have questions regarding the use of this file, please contact
37** Nokia at [email protected].
38** $QT_END_LICENSE$
39**
40****************************************************************************/
41
42#ifndef QSCRIPTDEBUGGERCOMMAND_P_H
43#define QSCRIPTDEBUGGERCOMMAND_P_H
44
45//
46// W A R N I N G
47// -------------
48//
49// This file is not part of the Qt API. It exists purely as an
50// implementation detail. This header file may change from version to
51// version without notice, or even be removed.
52//
53// We mean it.
54//
55
56#include <QtCore/qobjectdefs.h>
57#include <QtCore/qscopedpointer.h>
58#include <QtCore/qhash.h>
59#include <QtCore/qvariant.h>
60
61QT_BEGIN_NAMESPACE
62
63class QDataStream;
64class QScriptBreakpointData;
65class QScriptDebuggerValue;
66
67class QScriptDebuggerCommandPrivate;
68class Q_AUTOTEST_EXPORT QScriptDebuggerCommand
69{
70public:
71 friend Q_AUTOTEST_EXPORT QDataStream &operator<<(QDataStream &, const QScriptDebuggerCommand &);
72 friend Q_AUTOTEST_EXPORT QDataStream &operator>>(QDataStream &, QScriptDebuggerCommand &);
73
74 enum Type {
75 None,
76
77 Interrupt,
78 Continue,
79 StepInto,
80 StepOver,
81 StepOut,
82 RunToLocation,
83 RunToLocationByID,
84 ForceReturn,
85 Resume,
86
87 SetBreakpoint,
88 DeleteBreakpoint,
89 DeleteAllBreakpoints,
90 GetBreakpoints,
91 GetBreakpointData,
92 SetBreakpointData,
93
94 GetScripts,
95 GetScriptData,
96 ScriptsCheckpoint,
97 GetScriptsDelta,
98 ResolveScript,
99
100 GetBacktrace,
101 GetContextCount,
102 GetContextInfo,
103 GetContextState,
104 GetContextID,
105 GetThisObject,
106 GetActivationObject,
107 GetScopeChain,
108 ContextsCheckpoint,
109 GetPropertyExpressionValue,
110 GetCompletions,
111
112 NewScriptObjectSnapshot,
113 ScriptObjectSnapshotCapture,
114 DeleteScriptObjectSnapshot,
115
116 NewScriptValueIterator,
117 GetPropertiesByIterator,
118 DeleteScriptValueIterator,
119
120 Evaluate,
121
122 SetScriptValueProperty,
123 ScriptValueToString,
124
125 ClearExceptions,
126
127 UserCommand = 1000,
128 MaxUserCommand = 32767
129 };
130
131 enum Attribute {
132 ScriptID,
133 FileName,
134 LineNumber,
135 Program,
136 BreakpointID,
137 BreakpointData,
138 ContextIndex,
139 ScriptValue,
140 StepCount,
141 IteratorID,
142 Name,
143 SubordinateScriptValue,
144 SnapshotID,
145 UserAttribute = 1000,
146 MaxUserAttribute = 32767
147 };
148
149 QScriptDebuggerCommand();
150 QScriptDebuggerCommand(Type type);
151 QScriptDebuggerCommand(const QScriptDebuggerCommand &other);
152 ~QScriptDebuggerCommand();
153
154 Type type() const;
155
156 QVariant attribute(Attribute attribute, const QVariant &defaultValue = QVariant()) const;
157 void setAttribute(Attribute attribute, const QVariant &value);
158 QHash<Attribute, QVariant> attributes() const;
159
160 QString fileName() const;
161 void setFileName(const QString &fileName);
162
163 int lineNumber() const;
164 void setLineNumber(int lineNumber);
165
166 qint64 scriptId() const;
167 void setScriptId(qint64 id);
168
169 QString program() const;
170 void setProgram(const QString &program);
171
172 int breakpointId() const;
173 void setBreakpointId(int id);
174
175 QScriptBreakpointData breakpointData() const;
176 void setBreakpointData(const QScriptBreakpointData &data);
177
178 QScriptDebuggerValue scriptValue() const;
179 void setScriptValue(const QScriptDebuggerValue &value);
180
181 int contextIndex() const;
182 void setContextIndex(int index);
183
184 int iteratorId() const;
185 void setIteratorId(int id);
186
187 QString name() const;
188 void setName(const QString &name);
189
190 QScriptDebuggerValue subordinateScriptValue() const;
191 void setSubordinateScriptValue(const QScriptDebuggerValue &value);
192
193 int snapshotId() const;
194 void setSnapshotId(int id);
195
196 QScriptDebuggerCommand &operator=(const QScriptDebuggerCommand &other);
197
198 bool operator==(const QScriptDebuggerCommand &other) const;
199 bool operator!=(const QScriptDebuggerCommand &other) const;
200
201 static QScriptDebuggerCommand interruptCommand();
202 static QScriptDebuggerCommand continueCommand();
203 static QScriptDebuggerCommand stepIntoCommand(int count = 1);
204 static QScriptDebuggerCommand stepOverCommand(int count = 1);
205 static QScriptDebuggerCommand stepOutCommand();
206 static QScriptDebuggerCommand runToLocationCommand(const QString &fileName, int lineNumber);
207 static QScriptDebuggerCommand runToLocationCommand(qint64 scriptId, int lineNumber);
208 static QScriptDebuggerCommand forceReturnCommand(int contextIndex, const QScriptDebuggerValue &value);
209 static QScriptDebuggerCommand resumeCommand();
210
211 static QScriptDebuggerCommand setBreakpointCommand(const QString &fileName, int lineNumber);
212 static QScriptDebuggerCommand setBreakpointCommand(const QScriptBreakpointData &data);
213 static QScriptDebuggerCommand deleteBreakpointCommand(int id);
214 static QScriptDebuggerCommand deleteAllBreakpointsCommand();
215 static QScriptDebuggerCommand getBreakpointsCommand();
216 static QScriptDebuggerCommand getBreakpointDataCommand(int id);
217 static QScriptDebuggerCommand setBreakpointDataCommand(int id, const QScriptBreakpointData &data);
218
219 static QScriptDebuggerCommand getScriptsCommand();
220 static QScriptDebuggerCommand getScriptDataCommand(qint64 id);
221 static QScriptDebuggerCommand scriptsCheckpointCommand();
222 static QScriptDebuggerCommand getScriptsDeltaCommand();
223 static QScriptDebuggerCommand resolveScriptCommand(const QString &fileName);
224
225 static QScriptDebuggerCommand getBacktraceCommand();
226 static QScriptDebuggerCommand getContextCountCommand();
227 static QScriptDebuggerCommand getContextStateCommand(int contextIndex);
228 static QScriptDebuggerCommand getContextInfoCommand(int contextIndex);
229 static QScriptDebuggerCommand getContextIdCommand(int contextIndex);
230 static QScriptDebuggerCommand getThisObjectCommand(int contextIndex);
231 static QScriptDebuggerCommand getActivationObjectCommand(int contextIndex);
232 static QScriptDebuggerCommand getScopeChainCommand(int contextIndex);
233 static QScriptDebuggerCommand contextsCheckpoint();
234 static QScriptDebuggerCommand getPropertyExpressionValue(int contextIndex, int lineNumber,
235 const QStringList &path);
236 static QScriptDebuggerCommand getCompletions(int contextIndex, const QStringList &path);
237
238 static QScriptDebuggerCommand newScriptObjectSnapshotCommand();
239 static QScriptDebuggerCommand scriptObjectSnapshotCaptureCommand(int id, const QScriptDebuggerValue &object);
240 static QScriptDebuggerCommand deleteScriptObjectSnapshotCommand(int id);
241
242 static QScriptDebuggerCommand newScriptValueIteratorCommand(const QScriptDebuggerValue &object);
243 static QScriptDebuggerCommand getPropertiesByIteratorCommand(int id, int count);
244 static QScriptDebuggerCommand deleteScriptValueIteratorCommand(int id);
245
246 static QScriptDebuggerCommand evaluateCommand(int contextIndex, const QString &program,
247 const QString &fileName = QString(),
248 int lineNumber = 1);
249
250 static QScriptDebuggerCommand setScriptValuePropertyCommand(const QScriptDebuggerValue &object,
251 const QString &name,
252 const QScriptDebuggerValue &value);
253 static QScriptDebuggerCommand scriptValueToStringCommand(const QScriptDebuggerValue &value);
254
255 static QScriptDebuggerCommand clearExceptionsCommand();
256
257private:
258 QScopedPointer<QScriptDebuggerCommandPrivate> d_ptr;
259
260 Q_DECLARE_PRIVATE(QScriptDebuggerCommand)
261};
262
263Q_AUTOTEST_EXPORT QDataStream &operator<<(QDataStream &, const QScriptDebuggerCommand &);
264Q_AUTOTEST_EXPORT QDataStream &operator>>(QDataStream &, QScriptDebuggerCommand &);
265
266QT_END_NAMESPACE
267
268#endif
Note: See TracBrowser for help on using the repository browser.