diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2019-01-03 08:52:23 +0100 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2019-01-14 12:43:10 +0000 |
commit | ed13382f2aa1434ab4c75c6a5dd0896493bc6c69 (patch) | |
tree | f3ab7db35ddf5dc681985a50d45ad5011f4cb69f /src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h | |
parent | 952ab431d7fb9f660438da612d2b00485cce02f3 (diff) | |
download | qtlocation-ed13382f2aa1434ab4c75c6a5dd0896493bc6c69.tar.gz |
winrt: React on position source status change events
Querying the position source's status is error prone as it is only updated
if position tracking is active. Instead we can react on changes for this
status and get updated information when it is available.
Change-Id: I18d55faf6163568243d2e05d3c63f13e9e45f413
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Diffstat (limited to 'src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h')
-rw-r--r-- | src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h b/src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h index 4319ccae..61d0af95 100644 --- a/src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h +++ b/src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h @@ -62,6 +62,7 @@ namespace ABI { namespace Geolocation{ struct IGeolocator; struct IPositionChangedEventArgs; + struct IStatusChangedEventArgs; } } } @@ -90,6 +91,8 @@ public: HRESULT onPositionChanged(ABI::Windows::Devices::Geolocation::IGeolocator *locator, ABI::Windows::Devices::Geolocation::IPositionChangedEventArgs *args); + HRESULT onStatusChanged(ABI::Windows::Devices::Geolocation::IGeolocator *locator, + ABI::Windows::Devices::Geolocation::IStatusChangedEventArgs *args); bool requestAccess() const; Q_SIGNALS: @@ -105,12 +108,12 @@ private slots: void virtualPositionUpdate(); void singleUpdateTimeOut(); void updateSynchronized(const QGeoPositionInfo info); + void reactOnError(QGeoPositionInfoSource::Error positionError); private: bool startHandler(); Q_DISABLE_COPY(QGeoPositionInfoSourceWinRT) void setError(QGeoPositionInfoSource::Error positionError); - bool checkNativeState(); QScopedPointer<QGeoPositionInfoSourceWinRTPrivate> d_ptr; Q_DECLARE_PRIVATE(QGeoPositionInfoSourceWinRT) |