void tst_PositionPlugin::getUpdates() { QGeoPositionInfoSource *src = QGeoPositionInfoSource::createSource("test.source", 0); src->setUpdateInterval(1000); QSignalSpy spy(src, SIGNAL(positionUpdated(QGeoPositionInfo))); src->startUpdates(); QTest::qWait(1500); QCOMPARE(spy.count(), 1); QCOMPARE(spy[0].size(), 1); QGeoPositionInfo info = qvariant_cast<QGeoPositionInfo>(spy[0][0]); QCOMPARE(info.coordinate().latitude(), 0.1); QCOMPARE(info.coordinate().longitude(), 0.1); }
void GpsLocation::serviceEnable(bool toggle) { QGeoPositionInfoSource *gpsSource = getGpsSource(); if (haveSource != HAVEGPS) { if (toggle) status("Can't start location service, no location source available"); return; } if (toggle) { gpsSource->startUpdates(); status(QString("Starting Subsurface GPS service with update interval %1").arg(gpsSource->updateInterval())); } else { gpsSource->stopUpdates(); status("Stopping Subsurface GPS service"); } }