aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmltypewrapper_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-04-29 16:59:16 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2014-07-22 13:49:07 +0200
commitd84b1535ddfcbd153402c0f5a13811461c4df162 (patch)
treeb333a170e2e34b8529ce19c747f5e70de814e836 /src/qml/qml/qqmltypewrapper_p.h
parent07e27d030fb181bd9d9c38de6ee08ad15a9171fd (diff)
Convert type wrapper to new data layout
Change-Id: Ie569c4419addf31fc0297bbc4acdf08269a3e80e Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/qml/qqmltypewrapper_p.h')
-rw-r--r--src/qml/qml/qqmltypewrapper_p.h33
1 files changed, 22 insertions, 11 deletions
diff --git a/src/qml/qml/qqmltypewrapper_p.h b/src/qml/qml/qqmltypewrapper_p.h
index 355a6751a9..aaf35bdcd9 100644
--- a/src/qml/qml/qqmltypewrapper_p.h
+++ b/src/qml/qml/qqmltypewrapper_p.h
@@ -68,13 +68,33 @@ namespace QV4 {
struct Q_QML_EXPORT QmlTypeWrapper : Object
{
- V4_OBJECT
+ enum TypeNameMode { IncludeEnums, ExcludeEnums };
+
+ struct Data : Object::Data {
+ QV8Engine *v8;
+ TypeNameMode mode;
+ QPointer<QObject> object;
+
+ QQmlType *type;
+ QQmlTypeNameCache *typeNamespace;
+ const void *importNamespace;
+ };
+ struct {
+ QV8Engine *v8;
+ TypeNameMode mode;
+ QPointer<QObject> object;
+
+ QQmlType *type;
+ QQmlTypeNameCache *typeNamespace;
+ const void *importNamespace;
+ } __data;
+
+ V4_OBJECT_NEW
private:
QmlTypeWrapper(QV8Engine *engine);
~QmlTypeWrapper();
public:
- enum TypeNameMode { IncludeEnums, ExcludeEnums };
bool isSingleton() const;
@@ -89,17 +109,8 @@ public:
static PropertyAttributes query(const Managed *, StringRef name);
static void destroy(Managed *that);
-protected:
static bool isEqualTo(Managed *that, Managed *o);
-private:
- QV8Engine *v8;
- TypeNameMode mode;
- QPointer<QObject> object;
-
- QQmlType *type;
- QQmlTypeNameCache *typeNamespace;
- const void *importNamespace;
};
}