aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-10-04 14:17:52 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-25 13:13:26 +0200
commitd00427d0a530a7f698d3daa3e831f4dbd00b9cb2 (patch)
tree377abec1a6555634ef0736ded8e638bb68774e16
parentd45b69ab3d80049503dd8d0fc3e973cd60726ff3 (diff)
Allow access to all registered module apis.
Change-Id: I02a5ff116fe77871dc6bb1b31e0870e51653f7ac Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
-rw-r--r--src/declarative/qml/qdeclarativemetatype.cpp15
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h1
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;