diff options
Diffstat (limited to 'src/script/api/qscriptvalue_p.h')
-rw-r--r-- | src/script/api/qscriptvalue_p.h | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/src/script/api/qscriptvalue_p.h b/src/script/api/qscriptvalue_p.h index bbe0ed0..3e952af 100644 --- a/src/script/api/qscriptvalue_p.h +++ b/src/script/api/qscriptvalue_p.h @@ -68,40 +68,42 @@ class QScriptValuePrivate { Q_DISABLE_COPY(QScriptValuePrivate); public: + void* operator new(size_t, QScriptEnginePrivate*); + void operator delete(void*); + enum Type { JSC, Number, String }; - QScriptValuePrivate(); - ~QScriptValuePrivate(); + inline QScriptValuePrivate(QScriptEnginePrivate*); + inline ~QScriptValuePrivate(); - void initFrom(JSC::JSValue value); - void initFrom(double value); - void initFrom(const QString &value); + inline void initFrom(JSC::JSValue value); + inline void initFrom(double value); + inline void initFrom(const QString &value); - bool isJSC() const; + inline bool isJSC() const; QVariant &variantValue() const; void setVariantValue(const QVariant &value); - static QScriptValuePrivate *get(const QScriptValue &q) + static inline QScriptValuePrivate *get(const QScriptValue &q) { return q.d_ptr.data(); } - static QScriptValue toPublic(QScriptValuePrivate *d) + static inline QScriptValue toPublic(QScriptValuePrivate *d) { - QScriptValue tmp; - tmp.d_ptr = d; - d->ref.ref(); - return tmp; + return QScriptValue(d); } QScriptValue property(const JSC::Identifier &id, int resolveMode) const; QScriptValue property(quint32 index, int resolveMode) const; - QScriptValue property(const QString &, int resolveMode) const; + inline QScriptValue property(const QString &, int resolveMode) const; + void setProperty(const JSC::Identifier &id, const QScriptValue &value, + const QScriptValue::PropertyFlags &flags); void detachFromEngine(); @@ -129,6 +131,18 @@ public: QBasicAtomicInt ref; }; +inline QScriptValuePrivate::QScriptValuePrivate(QScriptEnginePrivate *e) + : engine(e), prev(0), next(0) +{ + ref = 0; +} + +inline bool QScriptValuePrivate::isJSC() const +{ + return (type == JSC); +} + +// Rest of inline functions implemented in qscriptengine_p.h QT_END_NAMESPACE |