summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/position/geoclue/qgeocluemaster.cpp8
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp61
-rw-r--r--src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp4
-rw-r--r--src/plugins/position/geoclue/qgeosatelliteinfosource_geocluemaster.cpp3
4 files changed, 47 insertions, 29 deletions
diff --git a/src/plugins/position/geoclue/qgeocluemaster.cpp b/src/plugins/position/geoclue/qgeocluemaster.cpp
index db074f59..b7f4c6a3 100644
--- a/src/plugins/position/geoclue/qgeocluemaster.cpp
+++ b/src/plugins/position/geoclue/qgeocluemaster.cpp
@@ -37,6 +37,10 @@
#include <geoclue_interface.h>
#include <masterclient_interface.h>
+#include <QtCore/QLoggingCategory>
+
+Q_DECLARE_LOGGING_CATEGORY(lcPositioningGeoclue)
+
QT_BEGIN_NAMESPACE
QGeoclueMaster::QGeoclueMaster(QObject *parent)
@@ -61,11 +65,13 @@ bool QGeoclueMaster::createMasterClient(Accuracy::Level accuracyLevel, ResourceF
Q_ASSERT(!m_provider || !m_client);
if (!m_master) {
+ qCDebug(lcPositioningGeoclue) << "creating master interface";
m_master = new OrgFreedesktopGeoclueMasterInterface(QStringLiteral("org.freedesktop.Geoclue.Master"),
QStringLiteral("/org/freedesktop/Geoclue/Master"),
QDBusConnection::sessionBus());
}
+ qCDebug(lcPositioningGeoclue) << "creating client";
QDBusPendingReply<QDBusObjectPath> client = m_master->Create();
if (client.isError()) {
QDBusError e = client.error();
@@ -74,7 +80,7 @@ bool QGeoclueMaster::createMasterClient(Accuracy::Level accuracyLevel, ResourceF
return false;
}
- qDebug() << "Geoclue client path:" << client.value().path();
+ qCDebug(lcPositioningGeoclue) << "Geoclue client path:" << client.value().path();
m_provider = new OrgFreedesktopGeoclueInterface(QStringLiteral("org.freedesktop.Geoclue.Master"),
client.value().path(), QDBusConnection::sessionBus());
diff --git a/src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp b/src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp
index cc0a8119..5311e18f 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp
+++ b/src/plugins/position/geoclue/qgeopositioninfosource_geocluemaster.cpp
@@ -45,16 +45,15 @@
#include <QtCore/QStandardPaths>
#include <QtCore/QVariantMap>
#include <QtCore/QtNumeric>
+#include <QtCore/QLoggingCategory>
#include <QtDBus/QDBusMetaType>
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
-#include <QDebug>
-#endif
-
#ifndef QT_NO_DATASTREAM
#include <QtCore/QDataStream>
#endif
+Q_DECLARE_LOGGING_CATEGORY(lcPositioningGeoclue)
+
#define MINIMUM_UPDATE_INTERVAL 1000
#define UPDATE_TIMEOUT_COLD_START 120000
@@ -117,9 +116,7 @@ QGeoPositionInfoSourceGeoclueMaster::~QGeoPositionInfoSourceGeoclueMaster()
void QGeoPositionInfoSourceGeoclueMaster::positionUpdateFailed()
{
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "QGeoPositionInfoSourceGeoclueMaster regular update failed.";
-#endif
+ qCDebug(lcPositioningGeoclue) << "position update failed.";
m_lastVelocityIsFresh = false;
if (m_running && !m_regularUpdateTimedOut) {
@@ -162,13 +159,7 @@ void QGeoPositionInfoSourceGeoclueMaster::updatePosition(PositionFields fields,
emit positionUpdated(m_lastPosition);
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "Lat, lon, alt, speed:"
- << m_lastPosition.coordinate().latitude()
- << m_lastPosition.coordinate().longitude()
- << m_lastPosition.coordinate().altitude()
- << m_lastPosition.attribute(QGeoPositionInfo::GroundSpeed);
-#endif
+ qCDebug(lcPositioningGeoclue) << m_lastPosition;
// Only stop positioning if regular updates not active.
if (!m_running) {
@@ -179,6 +170,8 @@ void QGeoPositionInfoSourceGeoclueMaster::updatePosition(PositionFields fields,
void QGeoPositionInfoSourceGeoclueMaster::velocityUpdateFailed()
{
+ qCDebug(lcPositioningGeoclue) << "velocity update failed.";
+
// Set the velocitydata non-fresh.
m_lastVelocityIsFresh = false;
}
@@ -194,10 +187,14 @@ void QGeoPositionInfoSourceGeoclueMaster::updateVelocity(VelocityFields fields,
m_lastDirection = (fields & Direction) ? direction : qQNaN();
m_lastClimb = (fields & Climb) ? climb : qQNaN();
m_lastVelocityIsFresh = true;
+
+ qCDebug(lcPositioningGeoclue) << m_lastVelocity << m_lastDirection << m_lastClimb;
}
void QGeoPositionInfoSourceGeoclueMaster::cleanupPositionSource()
{
+ qCDebug(lcPositioningGeoclue) << "cleaning up position source";
+
if (m_provider)
m_provider->RemoveReference();
delete m_provider;
@@ -232,10 +229,8 @@ void QGeoPositionInfoSourceGeoclueMaster::setPreferredPositioningMethods(Positio
if (previousPreferredPositioningMethods == preferredPositioningMethods())
return;
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "QGeoPositionInfoSourceGeoclueMaster requested to set methods to" << methods
- << ", and set them to:" << preferredPositioningMethods();
-#endif
+ qCDebug(lcPositioningGeoclue) << "requested to set methods to" << methods
+ << ", and set them to:" << preferredPositioningMethods();
m_lastVelocityIsFresh = false;
m_regularUpdateTimedOut = false;
@@ -271,14 +266,14 @@ QGeoPositionInfoSourceGeoclueMaster::PositioningMethods QGeoPositionInfoSourceGe
void QGeoPositionInfoSourceGeoclueMaster::startUpdates()
{
if (m_running) {
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "QGeoPositionInfoSourceGeoclueMaster already running";
-#endif
+ qCDebug(lcPositioningGeoclue) << "already running.";
return;
}
m_running = true;
+ qCDebug(lcPositioningGeoclue) << "starting updates";
+
// Start Geoclue provider.
if (!m_master->hasMasterClient()) {
configurePositionSource();
@@ -299,8 +294,12 @@ int QGeoPositionInfoSourceGeoclueMaster::minimumUpdateInterval() const
void QGeoPositionInfoSourceGeoclueMaster::stopUpdates()
{
- if (!m_running)
+ if (!m_running) {
+ qCDebug(lcPositioningGeoclue) << "already stopped.";
return;
+ }
+
+ qCDebug(lcPositioningGeoclue) << "stopping updates";
if (m_pos) {
disconnect(m_pos, SIGNAL(PositionChanged(qint32,qint32,double,double,double,Accuracy)),
@@ -328,9 +327,7 @@ void QGeoPositionInfoSourceGeoclueMaster::requestUpdate(int timeout)
return;
}
if (m_requestTimer.isActive()) {
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "QGeoPositionInfoSourceGeoclueMaster request timer was active, ignoring startUpdates.";
-#endif
+ qCDebug(lcPositioningGeoclue) << "request timer was active, ignoring startUpdates.";
return;
}
@@ -370,6 +367,8 @@ void QGeoPositionInfoSourceGeoclueMaster::positionProviderChanged(const QString
return;
}
+ qCDebug(lcPositioningGeoclue) << "position provider changed to" << name;
+
m_provider = new OrgFreedesktopGeoclueInterface(service, path, QDBusConnection::sessionBus());
m_provider->AddReference();
@@ -397,9 +396,8 @@ void QGeoPositionInfoSourceGeoclueMaster::positionProviderChanged(const QString
void QGeoPositionInfoSourceGeoclueMaster::requestUpdateTimeout()
{
-#ifdef Q_LOCATION_GEOCLUE_DEBUG
- qDebug() << "QGeoPositionInfoSourceGeoclueMaster requestUpdate timeout occurred.";
-#endif
+ qCDebug(lcPositioningGeoclue) << "request update timeout occurred.";
+
// If we end up here, there has not been valid position update.
emit updateTimeout();
@@ -419,6 +417,9 @@ void QGeoPositionInfoSourceGeoclueMaster::getPositionFinished(QDBusPendingCallWa
return;
PositionFields fields = static_cast<PositionFields>(reply.argumentAt<0>());
+
+ qCDebug(lcPositioningGeoclue) << "got position update with fields" << int(fields);
+
if (fields & Latitude && fields & Longitude) {
qint32 timestamp = reply.argumentAt<1>();
double latitude = reply.argumentAt<2>();
@@ -433,6 +434,8 @@ void QGeoPositionInfoSourceGeoclueMaster::positionChanged(qint32 fields, qint32
{
PositionFields pFields = static_cast<PositionFields>(fields);
+ qCDebug(lcPositioningGeoclue) << "position changed with fields" << fields;
+
if (pFields & Latitude && pFields & Longitude)
updatePosition(pFields, timestamp, latitude, longitude, altitude, accuracy);
else
@@ -451,6 +454,8 @@ void QGeoPositionInfoSourceGeoclueMaster::velocityChanged(qint32 fields, qint32
void QGeoPositionInfoSourceGeoclueMaster::configurePositionSource()
{
+ qCDebug(lcPositioningGeoclue);
+
bool created = false;
switch (preferredPositioningMethods()) {
diff --git a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
index 18f90fbf..05d96547 100644
--- a/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
+++ b/src/plugins/position/geoclue/qgeopositioninfosourcefactory_geoclue.cpp
@@ -37,8 +37,12 @@
#include "qgeopositioninfosource_geocluemaster.h"
#include "qgeosatelliteinfosource_geocluemaster.h"
+#include <QtCore/QLoggingCategory>
+
Q_DECLARE_METATYPE(QGeoPositionInfo)
+Q_LOGGING_CATEGORY(lcPositioningGeoclue, "qt.positioning.geoclue")
+
QT_BEGIN_NAMESPACE
QGeoPositionInfoSource *QGeoPositionInfoSourceFactoryGeoclue::positionInfoSource(QObject *parent)
diff --git a/src/plugins/position/geoclue/qgeosatelliteinfosource_geocluemaster.cpp b/src/plugins/position/geoclue/qgeosatelliteinfosource_geocluemaster.cpp
index 47b60b95..8e646bff 100644
--- a/src/plugins/position/geoclue/qgeosatelliteinfosource_geocluemaster.cpp
+++ b/src/plugins/position/geoclue/qgeosatelliteinfosource_geocluemaster.cpp
@@ -36,8 +36,11 @@
#include <geoclue_interface.h>
#include <satellite_interface.h>
+#include <QtCore/QLoggingCategory>
#include <QtDBus/QDBusPendingCallWatcher>
+Q_DECLARE_LOGGING_CATEGORY(lcPositioningGeoclue)
+
#define MINIMUM_UPDATE_INTERVAL 1000
QT_BEGIN_NAMESPACE