114QGeoAreaMonitorSource *QGeoAreaMonitorSource::createDefaultSource(QObject *parent)
116 const QList<QCborMap> plugins = QGeoPositionInfoSourcePrivate::pluginsSorted();
117 for (
const QCborMap &obj : plugins) {
118 if (obj.value(QStringLiteral(
"Monitor")).isBool()
119 && obj.value(QStringLiteral(
"Monitor")).toBool())
121 QGeoAreaMonitorSource *s =
nullptr;
122 auto factory = QGeoPositionInfoSourcePrivate::loadFactory(obj);
124 s = factory->areaMonitor(parent, QVariantMap());
126 s->d_func()->providerName = obj.value(QStringLiteral(
"Provider")).toString();
139QGeoAreaMonitorSource *QGeoAreaMonitorSource::createSource(
const QString &sourceName, QObject *parent)
141 auto plugins = QGeoPositionInfoSourcePrivate::plugins();
142 if (plugins.contains(sourceName)) {
143 const auto metaData = plugins.value(sourceName);
144 QGeoAreaMonitorSource *s =
nullptr;
145 auto factory = QGeoPositionInfoSourcePrivate::loadFactory(metaData);
147 s = factory->areaMonitor(parent, QVariantMap());
149 s->d_func()->providerName = metaData.value(QStringLiteral(
"Provider")).toString();
160QStringList QGeoAreaMonitorSource::availableSources()
163 const auto meta = QGeoPositionInfoSourcePrivate::plugins();
164 for (
auto it = meta.cbegin(), end = meta.cend(); it != end; ++it) {
165 if (it.value().value(QStringLiteral(
"Monitor")).isBool()
166 && it.value().value(QStringLiteral(
"Monitor")).toBool()) {