113QGeoAreaMonitorSource *QGeoAreaMonitorSource::createDefaultSource(QObject *parent)
115 const QList<QCborMap> plugins = QGeoPositionInfoSourcePrivate::pluginsSorted();
116 for (
const QCborMap &obj : plugins) {
117 if (obj.value(QStringLiteral(
"Monitor")).isBool()
118 && obj.value(QStringLiteral(
"Monitor")).toBool())
120 QGeoAreaMonitorSource *s =
nullptr;
121 auto factory = QGeoPositionInfoSourcePrivate::loadFactory(obj);
123 s = factory->areaMonitor(parent, QVariantMap());
125 s->d_func()->providerName = obj.value(QStringLiteral(
"Provider")).toString();
138QGeoAreaMonitorSource *QGeoAreaMonitorSource::createSource(
const QString &sourceName, QObject *parent)
140 auto plugins = QGeoPositionInfoSourcePrivate::plugins();
141 if (plugins.contains(sourceName)) {
142 const auto metaData = plugins.value(sourceName);
143 QGeoAreaMonitorSource *s =
nullptr;
144 auto factory = QGeoPositionInfoSourcePrivate::loadFactory(metaData);
146 s = factory->areaMonitor(parent, QVariantMap());
148 s->d_func()->providerName = metaData.value(QStringLiteral(
"Provider")).toString();
159QStringList QGeoAreaMonitorSource::availableSources()
162 const auto meta = QGeoPositionInfoSourcePrivate::plugins();
163 for (
auto it = meta.cbegin(), end = meta.cend(); it != end; ++it) {
164 if (it.value().value(QStringLiteral(
"Monitor")).isBool()
165 && it.value().value(QStringLiteral(
"Monitor")).toBool()) {