18 #ifndef hifi_ScriptContextV8Wrapper_h
19 #define hifi_ScriptContextV8Wrapper_h
21 #include <QtCore/QString>
23 #include "../ScriptContext.h"
24 #include "../ScriptValue.h"
26 #include <libplatform/libplatform.h>
35 ScriptContextV8Wrapper(ScriptEngineV8* engine,
const v8::Local<v8::Context> context, ScriptContextPointer parent);
36 ScriptContextV8Wrapper(ScriptEngineV8* engine,
const v8::FunctionCallbackInfo<v8::Value> *functionCallbackInfo,
37 const v8::Local<v8::Context> context, ScriptContextPointer parent);
38 ScriptContextV8Wrapper(ScriptEngineV8* engine,
const v8::PropertyCallbackInfo<v8::Value> *propertyCallbackInfo,
39 const v8::Local<v8::Context> context, ScriptContextPointer parent);
45 virtual int argumentCount()
const override;
46 virtual ScriptValue argument(
int index)
const override;
47 virtual QStringList backtrace()
const override;
50 virtual int currentLineNumber()
const override;
53 virtual QString currentFileName()
const override;
56 virtual ScriptEnginePointer engine()
const override;
57 virtual ScriptFunctionContextPointer functionContext()
const override;
58 virtual ScriptContextPointer parentContext()
const override;
60 virtual ScriptValue throwError(
const QString& text)
override;
64 v8::Local<v8::Context> toV8Value()
const;
67 const v8::FunctionCallbackInfo<v8::Value> *_functionCallbackInfo;
68 const v8::PropertyCallbackInfo<v8::Value> *_propertyCallbackInfo;
69 ScriptEngineV8* _engine;
70 v8::Persistent<v8::Context> _context;
71 ScriptContextPointer _parentContext;
77 ScriptFunctionContextV8Wrapper(ScriptEngineV8* engine,
const v8::Local<v8::Context> context);
78 virtual ~ScriptFunctionContextV8Wrapper();
81 virtual QString fileName()
const override;
82 virtual QString functionName()
const override;
83 virtual FunctionType functionType()
const override;
84 virtual int lineNumber()
const override;
87 ScriptEngineV8* _engine;
88 v8::Persistent<v8::Context> _context;
89 Q_DISABLE_COPY(ScriptFunctionContextV8Wrapper)
[ScriptInterface] Provides an engine-independent interface for QScriptContext
Definition: ScriptContext.h:55
[V8] Implements ScriptContext for V8 and translates calls for V8ScriptContextInfo
Definition: ScriptContextV8Wrapper.h:33
[ScriptInterface] Provides an engine-independent interface for QScriptContextInfo
Definition: ScriptContext.h:35
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40