summaryrefslogtreecommitdiffstats
path: root/src/script/bridge/qscriptvariant_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/bridge/qscriptvariant_p.h')
-rw-r--r--src/script/bridge/qscriptvariant_p.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/script/bridge/qscriptvariant_p.h b/src/script/bridge/qscriptvariant_p.h
new file mode 100644
index 0000000..da0bb26
--- /dev/null
+++ b/src/script/bridge/qscriptvariant_p.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $TROLLTECH_DUAL_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSCRIPTVARIANT_P_H
+#define QSCRIPTVARIANT_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qvariant.h>
+
+#ifndef QT_NO_SCRIPT
+
+#include "JSObject.h"
+
+QT_BEGIN_NAMESPACE
+
+namespace QScript
+{
+
+class QVariantWrapperObject : public JSC::JSObject
+{
+public:
+ // work around CELL_SIZE limitation
+ struct Data
+ {
+ QVariant value;
+ };
+
+ explicit QVariantWrapperObject(WTF::PassRefPtr<JSC::Structure> sid);
+ ~QVariantWrapperObject();
+
+ virtual const JSC::ClassInfo* classInfo() const { return &info; }
+ static const JSC::ClassInfo info;
+
+ inline const QVariant &value() const { return data->value; }
+ inline void setValue(const QVariant &value) { data->value = value; }
+
+private:
+ Data *data;
+};
+
+class QVariantPrototype : public QVariantWrapperObject
+{
+public:
+ QVariantPrototype(JSC::ExecState*, WTF::PassRefPtr<JSC::Structure>,
+ JSC::Structure* prototypeFunctionStructure);
+};
+
+} // namespace QScript
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_SCRIPT
+
+#endif