1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2015 The Qt Company Ltd. 4 ** Contact: http://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtScript module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL-ONLY$ 9 ** GNU Lesser General Public License Usage 10 ** This file may be used under the terms of the GNU Lesser 11 ** General Public License version 2.1 as published by the Free Software 12 ** Foundation and appearing in the file LICENSE.LGPL included in the 13 ** packaging of this file. Please review the following information to 14 ** ensure the GNU Lesser General Public License version 2.1 requirements 15 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. 16 ** 17 ** If you have questions regarding the use of this file, please contact 18 ** us via http://www.qt.io/contact-us/. 19 ** 20 ** $QT_END_LICENSE$ 21 ** 22 ****************************************************************************/ 23 24 #ifndef QSCRIPTCONTEXT_H 25 #define QSCRIPTCONTEXT_H 26 27 #include <QtCore/qobjectdefs.h> 28 29 #include <QtScript/qscriptvalue.h> 30 31 QT_BEGIN_HEADER 32 33 QT_BEGIN_NAMESPACE 34 QT_MODULE(Script)35QT_MODULE(Script) 36 37 class QScriptContextPrivate; 38 39 class Q_SCRIPT_EXPORT QScriptContext 40 { 41 public: 42 enum ExecutionState { 43 NormalState, 44 ExceptionState 45 }; 46 47 enum Error { 48 UnknownError, 49 ReferenceError, 50 SyntaxError, 51 TypeError, 52 RangeError, 53 URIError 54 }; 55 56 ~QScriptContext(); 57 58 QScriptContext *parentContext() const; 59 QScriptEngine *engine() const; 60 61 ExecutionState state() const; 62 QScriptValue callee() const; 63 64 int argumentCount() const; 65 QScriptValue argument(int index) const; 66 QScriptValue argumentsObject() const; 67 68 QScriptValueList scopeChain() const; 69 void pushScope(const QScriptValue &object); 70 QScriptValue popScope(); 71 72 QScriptValue returnValue() const; 73 void setReturnValue(const QScriptValue &result); 74 75 QScriptValue activationObject() const; 76 void setActivationObject(const QScriptValue &activation); 77 78 QScriptValue thisObject() const; 79 void setThisObject(const QScriptValue &thisObject); 80 81 bool isCalledAsConstructor() const; 82 83 QScriptValue throwValue(const QScriptValue &value); 84 QScriptValue throwError(Error error, const QString &text); 85 QScriptValue throwError(const QString &text); 86 87 QStringList backtrace() const; 88 89 QString toString() const; 90 91 private: 92 QScriptContext(); 93 94 QScriptContextPrivate *d_ptr; 95 96 Q_DECLARE_PRIVATE(QScriptContext) 97 Q_DISABLE_COPY(QScriptContext) 98 }; 99 100 QT_END_NAMESPACE 101 102 QT_END_HEADER 103 104 #endif 105