diff options
Diffstat (limited to 'src/qml/qml/qqmlmetatype_p.h')
-rw-r--r-- | src/qml/qml/qqmlmetatype_p.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/qml/qml/qqmlmetatype_p.h b/src/qml/qml/qqmlmetatype_p.h index 6c2b0bb2a6..0c5bc043c4 100644 --- a/src/qml/qml/qqmlmetatype_p.h +++ b/src/qml/qml/qqmlmetatype_p.h @@ -63,6 +63,15 @@ class QQmlError; namespace QV4 { class ExecutableCompilationUnit; } +struct CompositeMetaTypeIds +{ + int id = -1; + int listId = -1; + CompositeMetaTypeIds() = default; + CompositeMetaTypeIds(int id, int listId) : id(id), listId(listId) {} + bool isValid() const { return id != -1 && listId != -1; } +}; + class Q_QML_PRIVATE_EXPORT QQmlMetaType { public: @@ -80,11 +89,10 @@ public: static void unregisterType(int type); - static void registerInternalCompositeType(QV4::ExecutableCompilationUnit *compilationUnit); - static void unregisterInternalCompositeType(QV4::ExecutableCompilationUnit *compilationUnit); - + static CompositeMetaTypeIds registerInternalCompositeType(const QByteArray &className); + static void unregisterInternalCompositeType(const CompositeMetaTypeIds &typeIds); static void registerModule(const char *uri, int versionMajor, int versionMinor); - static bool protectModule(const char *uri, int majVersion); + static bool protectModule(const QString &uri, int majVersion); static int typeId(const char *uri, int versionMajor, int versionMinor, const char *qmlName); @@ -188,6 +196,14 @@ public: static void clone(QMetaObjectBuilder &builder, const QMetaObject *mo, const QMetaObject *ignoreStart, const QMetaObject *ignoreEnd); + + static void qmlInsertModuleRegistration(const QString &uri, int majorVersion, + void (*registerFunction)()); + static void qmlRemoveModuleRegistration(const QString &uri, int majorVersion); + + static bool qmlRegisterModuleTypes(const QString &uri, int majorVersion); + + static int qmlRegisteredListTypeCount(); }; Q_DECLARE_TYPEINFO(QQmlMetaType, Q_MOVABLE_TYPE); |