diff options
author | Ivan Solovev <ivan.solovev@qt.io> | 2021-01-22 17:35:40 +0100 |
---|---|---|
committer | Ivan Solovev <ivan.solovev@qt.io> | 2021-01-26 20:40:42 +0100 |
commit | a8496e8d52e261a5a9206c4963adf43f6083de9e (patch) | |
tree | 1b536d1320d43747f9e90f54b8ba6a82a327262b /src/plugins/position/gypsy | |
parent | 237998e30b4180fa4de86ef89a5cb7d5e802a57d (diff) | |
download | qtlocation-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.cpp | 18 | ||||
-rw-r--r-- | src/plugins/position/gypsy/qgeosatelliteinfosource_gypsy_p.h | 4 |
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 |