: QObject(parent),
m_liblocationWrapper(0),
m_initialized(false),
+ m_powerSave(false),
m_running(false),
m_updateInterval(DEFAULT_UPDATE_INTERVAL)
{
m_parent = static_cast<GPSPosition*>(parent);
}
+void GPSPositionPrivate::enablePowerSave(bool enabled)
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ if (isRunning()) {
+ m_powerSave = enabled;
+ if (enabled)
+ m_liblocationWrapper->stopUpdates();
+ else
+ m_liblocationWrapper->startUpdates();
+ }
+ else {
+ m_powerSave = false;
+ }
+}
+
bool GPSPositionPrivate::isInitialized()
{
qDebug() << __PRETTY_FUNCTION__;
}
}
+void GPSPositionPrivate::requestUpdate()
+{
+ qDebug() << __PRETTY_FUNCTION__;
+
+ if (m_powerSave)
+ m_liblocationWrapper->startUpdates();
+}
+
void GPSPositionPrivate::positionUpdated(const GeoPositionInfo &positionInfo)
{
qDebug() << __PRETTY_FUNCTION__;
emit m_parent->position(QPointF(coordinate.longitude(), coordinate.latitude()),
accuracy(positionInfo));
}
+
+ if (m_powerSave)
+ m_liblocationWrapper->stopUpdates();
}
void GPSPositionPrivate::locationError(const QString &errorMessage)