18 #ifndef hifi_ScriptValueIteratorV8Wrapper_h
19 #define hifi_ScriptValueIteratorV8Wrapper_h
21 #include <QtCore/QPointer>
23 #include "../ScriptValueIterator.h"
24 #include "ScriptEngineV8.h"
25 #include "ScriptValueV8Wrapper.h"
27 class V8ScriptValueIterator {
29 V8ScriptValueIterator(ScriptEngineV8* engine, v8::Local<v8::Value>
object);
30 ~V8ScriptValueIterator();
34 V8ScriptValue value();
36 v8::UniquePersistent<v8::Array> _propertyNames;
37 v8::UniquePersistent<v8::Object> _object;
38 v8::UniquePersistent<v8::Context> _context;
41 ScriptEngineV8 *_engine;
42 Q_DISABLE_COPY(V8ScriptValueIterator)
49 _engine(engine), _value(
new V8ScriptValueIterator(engine, ScriptValueV8Wrapper::fullUnwrap(engine,
object).get())) {}
51 _engine(engine), _value(
new V8ScriptValueIterator(engine,
object.constGet())) {}
54 virtual ScriptValue::PropertyFlags flags()
const override;
55 virtual bool hasNext()
const override;
56 virtual QString name()
const override;
57 virtual void next()
override;
61 ScriptEngineV8 *_engine;
62 std::shared_ptr<V8ScriptValueIterator> _value;
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40
[ScriptInterface] Provides an engine-independent interface for QScriptValueIterator
Definition: ScriptValueIterator.h:30
[V8] Implements ScriptValueIterator for V8 and translates calls for V8ScriptValueIterator
Definition: ScriptValueIteratorV8Wrapper.h:46