diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-09-09 10:34:48 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-02 13:21:09 +0200 |
commit | d621027babff9a30d56ab6af871a465108c9eaba (patch) | |
tree | 54a5ccff0410476538929e4ab1f1400075c0df81 /src/qml/qml/qqmlprivate.h | |
parent | ed7719a3af58b9ba36a6fbaccd08c85b78f8a961 (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.h | 13 |
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 *); |