summaryrefslogtreecommitdiff
path: root/src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2019-01-03 08:52:23 +0100
committerOliver Wolff <oliver.wolff@qt.io>2019-01-14 12:43:10 +0000
commited13382f2aa1434ab4c75c6a5dd0896493bc6c69 (patch)
treef3ab7db35ddf5dc681985a50d45ad5011f4cb69f /src/plugins/position/winrt/qgeopositioninfosource_winrt_p.h
parent952ab431d7fb9f660438da612d2b00485cce02f3 (diff)
downloadqtlocation-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.h5
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)