aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlprivate.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-09-09 10:34:48 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-10-02 13:21:09 +0200
commitd621027babff9a30d56ab6af871a465108c9eaba (patch)
tree54a5ccff0410476538929e4ab1f1400075c0df81 /src/qml/qml/qqmlprivate.h
parented7719a3af58b9ba36a6fbaccd08c85b78f8a961 (diff)
V4: Rewrite qv4sequenceobject based on QMetaSequence
This avoids the template explosion and makes the mechanism extendable. You can now register additional anonymous sequential containers. Fixes: QTBUG-71574 Task-number: QTBUG-82443 Change-Id: I5b9ed9af1533a3b7df8fc5bb37bbb73b8304e592 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlprivate.h')
-rw-r--r--src/qml/qml/qqmlprivate.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlprivate.h b/src/qml/qml/qqmlprivate.h
index 91b8eb5283..00d277a9f7 100644
--- a/src/qml/qml/qqmlprivate.h
+++ b/src/qml/qml/qqmlprivate.h
@@ -66,6 +66,7 @@
#include <QtCore/qversionnumber.h>
#include <QtCore/qmetaobject.h>
+#include <QtCore/qmetacontainer.h>
#include <QtCore/qdebug.h>
QT_BEGIN_NAMESPACE
@@ -460,6 +461,15 @@ namespace QQmlPrivate
const char *typeName;
};
+ struct RegisterSequentialContainer {
+ int structVersion;
+ const char *uri;
+ QTypeRevision version;
+ const char *typeName;
+ QMetaType typeId;
+ QMetaSequence metaSequence;
+ };
+
struct AOTCompiledFunction {
int index;
QMetaType returnType;
@@ -487,7 +497,8 @@ namespace QQmlPrivate
CompositeSingletonRegistration = 5,
QmlUnitCacheHookRegistration = 6,
TypeAndRevisionsRegistration = 7,
- SingletonAndRevisionsRegistration = 8
+ SingletonAndRevisionsRegistration = 8,
+ SequentialContainerRegistration = 9,
};
int Q_QML_EXPORT qmlregister(RegistrationType, void *);