aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqml.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-02-26 09:48:43 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-03-12 10:38:40 +0100
commitf78e542053cfc1d5c1b26d6fa4d18ef1698359a0 (patch)
tree6786ce197dbf98f54e321c357e74bb3d5c29b8b3 /src/qml/qml/qqml.h
parent547b4d2c2d9424fdcc694e291fe543a4f52cb684 (diff)
Clean up type registration structs
* reset all structVersions to 0, removing checks for higher versions * add structVerions where they are missing * consistently check for compatibility in qqmlmetatype.cpp * remove unused members * rename RegisterSingletonFunctor Fixes: QTBUG-82241 Change-Id: I74f1876b3298dbb60ff7cfab8c13e8ad4f9f8cdc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqml.h')
-rw-r--r--src/qml/qml/qqml.h56
1 files changed, 32 insertions, 24 deletions
diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h
index fff1db5125..7404a62d23 100644
--- a/src/qml/qml/qqml.h
+++ b/src/qml/qml/qqml.h
@@ -228,7 +228,7 @@ template<typename T, int metaObjectRevision>
int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason)
{
QQmlPrivate::RegisterType type = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -302,7 +302,7 @@ int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int ve
}
QQmlPrivate::RegisterType type = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -363,7 +363,7 @@ template<typename T, int metaObjectRevision>
int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
{
QQmlPrivate::RegisterType type = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -392,7 +392,7 @@ template<typename T, int metaObjectRevision>
int qmlRegisterRevision(const char *uri, int versionMajor, int versionMinor)
{
QQmlPrivate::RegisterType type = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -504,7 +504,7 @@ int qmlRegisterInterface(const char *typeName)
QByteArray listName("QQmlListProperty<" + name + '>');
QQmlPrivate::RegisterInterface qmlInterface = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -522,7 +522,7 @@ template<typename T>
int qmlRegisterInterface(const char *uri, int versionMajor)
{
QQmlPrivate::RegisterInterface qmlInterface = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
qobject_interface_iid<T *>(),
@@ -569,7 +569,7 @@ int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor,
const char *qmlName, QQmlCustomParser *parser)
{
QQmlPrivate::RegisterType type = {
- 1,
+ 0,
QMetaType::fromType<T *>(),
QMetaType::fromType<QQmlListProperty<T> >(),
@@ -690,24 +690,27 @@ inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versi
uri, QTypeRevision::fromVersion(versionMajor, versionMinor), typeName,
- callback, nullptr, nullptr, QMetaType(), QTypeRevision::zero(), {}
+ callback, nullptr, nullptr, QMetaType(), QTypeRevision::zero()
};
return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);
}
-enum { QmlCurrentSingletonTypeRegistrationVersion = 3 };
template <typename T>
-inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName,
- QObject *(*callback)(QQmlEngine *, QJSEngine *))
+inline int qmlRegisterSingletonType(
+ const char *uri, int versionMajor, int versionMinor, const char *typeName,
+ QObject *(*callback)(QQmlEngine *, QJSEngine *))
{
QQmlPrivate::RegisterSingletonType api = {
- QmlCurrentSingletonTypeRegistrationVersion,
-
- uri, QTypeRevision::fromVersion(versionMajor, versionMinor), typeName,
-
-
- nullptr, nullptr, &T::staticMetaObject, QMetaType::fromType<T *>(), QTypeRevision::zero(), callback
+ 0,
+ uri,
+ QTypeRevision::fromVersion(versionMajor, versionMinor),
+ typeName,
+ nullptr,
+ callback,
+ &T::staticMetaObject,
+ QMetaType::fromType<T *>(),
+ QTypeRevision::zero()
};
return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);
@@ -719,12 +722,15 @@ inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versi
F&& callback)
{
QQmlPrivate::RegisterSingletonType api = {
- QmlCurrentSingletonTypeRegistrationVersion,
-
- uri, QTypeRevision::fromVersion(versionMajor, versionMinor), typeName,
-
-
- nullptr, nullptr, &T::staticMetaObject, QMetaType::fromType<T *>(), QTypeRevision::zero(), callback
+ 0,
+ uri,
+ QTypeRevision::fromVersion(versionMajor, versionMinor),
+ typeName,
+ nullptr,
+ callback,
+ &T::staticMetaObject,
+ QMetaType::fromType<T *>(),
+ QTypeRevision::zero()
};
return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);
@@ -734,7 +740,7 @@ template<typename T>
inline auto qmlRegisterSingletonInstance(const char *uri, int versionMajor, int versionMinor,
const char *typeName, T *cppObject) -> typename std::enable_if<std::is_base_of<QObject, T>::value, int>::type
{
- QQmlPrivate::RegisterSingletonFunctor registrationFunctor;
+ QQmlPrivate::SingletonFunctor registrationFunctor;
registrationFunctor.m_object = cppObject;
return qmlRegisterSingletonType<T>(uri, versionMajor, versionMinor, typeName, registrationFunctor);
}
@@ -748,6 +754,7 @@ inline int qmlRegisterSingletonType(const QUrl &url, const char *uri, int versio
}
QQmlPrivate::RegisterCompositeSingletonType type = {
+ 0,
url,
uri,
QTypeRevision::fromVersion(versionMajor, versionMinor),
@@ -766,6 +773,7 @@ inline int qmlRegisterType(const QUrl &url, const char *uri, int versionMajor, i
}
QQmlPrivate::RegisterCompositeType type = {
+ 0,
url,
uri,
QTypeRevision::fromVersion(versionMajor, versionMinor),