summaryrefslogtreecommitdiff
path: root/src/plugins/position/gypsy
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-01-22 17:35:40 +0100
committerIvan Solovev <ivan.solovev@qt.io>2021-01-26 20:40:42 +0100
commita8496e8d52e261a5a9206c4963adf43f6083de9e (patch)
tree1b536d1320d43747f9e90f54b8ba6a82a327262b /src/plugins/position/gypsy
parent237998e30b4180fa4de86ef89a5cb7d5e802a57d (diff)
downloadqtlocation-a8496e8d52e261a5a9206c4963adf43f6083de9e.tar.gz
QtPositioning: remove QGeoSatelliteInfoSource::requestTimeout signal
A new Error::UpdateTimeoutError enum value is introduced instead. An errorOccurred() signal with this value is used to notify about update timeouts. [ChangeLog][QtPositioning][Important Behavior Changes] Removed QGeoSatelliteInfoSource::requestTimeout() signal. Use QGeoSatelliteInfoSource::errorOccurred() with a new Error::UpdateTimeoutError value instead. Task-number: QTBUG-90491 Change-Id: I1ab8277896035234cb65a8ece9426b9fa9896f7b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/plugins/position/gypsy')
-rw-r--r--src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy.cpp18
-rw-r--r--src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h4
2 files changed, 17 insertions, 5 deletions
diff --git a/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy.cpp b/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy.cpp
index 2a3f31dc..6b1b430a 100644
--- a/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy.cpp
+++ b/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy.cpp
@@ -140,8 +140,9 @@ gchar *SatelliteGypsyEngine::eng_gconf_client_get_string(GConfClient *client, co
return ::gconf_client_get_string(client, key, err);
}
-QGeoSatelliteInfoSourceGypsy::QGeoSatelliteInfoSourceGypsy(QObject *parent) : QGeoSatelliteInfoSource(parent),
- m_engine(0), m_satellite(0), m_device(0), m_requestTimer(this), m_updatesOngoing(false), m_requestOngoing(false)
+QGeoSatelliteInfoSourceGypsy::QGeoSatelliteInfoSourceGypsy(QObject *parent)
+ : QGeoSatelliteInfoSource(parent), m_engine(0), m_satellite(0), m_device(0),
+ m_requestTimer(this), m_updatesOngoing(false), m_requestOngoing(false)
{
m_requestTimer.setSingleShot(true);
QObject::connect(&m_requestTimer, SIGNAL(timeout()), this, SLOT(requestUpdateTimeout()));
@@ -290,7 +291,7 @@ int QGeoSatelliteInfoSourceGypsy::minimumUpdateInterval() const
QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSourceGypsy::error() const
{
- return NoError;
+ return m_error;
}
void QGeoSatelliteInfoSourceGypsy::startUpdates()
@@ -322,7 +323,7 @@ void QGeoSatelliteInfoSourceGypsy::requestUpdate(int timeout)
if (m_requestOngoing)
return;
if (timeout < 0) {
- emit requestTimeout();
+ setError(QGeoSatelliteInfoSource::UpdateTimeoutError);
return;
}
m_requestOngoing = true;
@@ -369,7 +370,14 @@ void QGeoSatelliteInfoSourceGypsy::requestUpdateTimeout()
m_engine->eng_g_signal_handlers_disconnect_by_func(G_OBJECT(m_satellite), (void *)satellites_changed, this);
}
m_requestOngoing = false;
- emit requestTimeout();
+ setError(QGeoSatelliteInfoSource::UpdateTimeoutError);
+}
+
+void QGeoSatelliteInfoSourceGypsy::setError(QGeoSatelliteInfoSource::Error error)
+{
+ m_error = error;
+ if (m_error != QGeoSatelliteInfoSource::NoError)
+ emit QGeoSatelliteInfoSource::errorOccurred(m_error);
}
QT_END_NAMESPACE
diff --git a/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h b/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h
index c28ca3a1..b393ce3f 100644
--- a/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h
+++ b/src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h
@@ -121,6 +121,9 @@ signals:
private slots:
void requestUpdateTimeout();
+private:
+ void setError(QGeoSatelliteInfoSource::Error error);
+
protected:
// Creates an engine which encapsulates all used symbols
// that we want to be also able to mock.
@@ -134,6 +137,7 @@ private:
QTimer m_requestTimer;
bool m_updatesOngoing;
bool m_requestOngoing;
+ QGeoSatelliteInfoSource::Error m_error = QGeoSatelliteInfoSource::NoError;
};
QT_END_NAMESPACE