summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptvalue_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/api/qscriptvalue_p.h')
-rw-r--r--src/script/api/qscriptvalue_p.h40
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