diff options
-rw-r--r-- | src/declarative/qml/qdeclarativemetatype.cpp | 15 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativemetatype_p.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativemetatype.cpp b/src/declarative/qml/qdeclarativemetatype.cpp index 5577993fc5..9e178c630e 100644 --- a/src/declarative/qml/qdeclarativemetatype.cpp +++ b/src/declarative/qml/qdeclarativemetatype.cpp @@ -1056,6 +1056,21 @@ QDeclarativeMetaType::moduleApi(const QString &uri, int versionMajor, int versio return ModuleApi(); } +QHash<QString, QList<QDeclarativeMetaType::ModuleApi> > QDeclarativeMetaType::moduleApis() +{ + QReadLocker lock(metaTypeDataLock()); + QDeclarativeMetaTypeData *data = metaTypeData(); + + QHash<QString, QList<ModuleApi> > moduleApis; + QHashIterator<QString, QDeclarativeMetaTypeData::ModuleApiList> it(data->moduleApis); + while (it.hasNext()) { + it.next(); + moduleApis[it.key()] = it.value().moduleApis; + } + + return moduleApis; +} + QObject *QDeclarativeMetaType::toQObject(const QVariant &v, bool *ok) { if (!isQObject(v.userType())) { diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h index 39e8b850d0..4488600de1 100644 --- a/src/declarative/qml/qdeclarativemetatype_p.h +++ b/src/declarative/qml/qdeclarativemetatype_p.h @@ -129,6 +129,7 @@ public: QObject *(*qobject)(QDeclarativeEngine *, QJSEngine *); }; static ModuleApi moduleApi(const QString &, int, int); + static QHash<QString, QList<ModuleApi> > moduleApis(); }; class QHashedStringRef; |