diff options
author | Kari Hautamäki <kari.hautamaki@qt.io> | 2017-02-16 08:33:49 +0200 |
---|---|---|
committer | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2017-02-28 13:16:09 +0000 |
commit | 35c1c07cd676b9c9afb23ad7266a67d5b6aef03a (patch) | |
tree | d43445955be5f1799ca9bb9db2c6e2cfd7915370 /tradeshow/iot-sensortag/sensortagdataproviderpool.h | |
parent | dec3883a1d0d7d24c797cf517fa7fad85b24a1f2 (diff) |
iot-sensortag: Allow reconnect after a failed connection attempt
A disconnected sensor tag can be tried to be reconnected by clicking
on the chart area or starting rescan from the Sensor settings menu.
During a (re)connection process a progress indicator is shown to
the user.
The user has a possibility to disconnect (and reconnect) a
currently connect SensorDataProvider
A new state, 'NotFound' is added in SensorTagDataProvider to
distinguish between states when a Sensor Tag has not been discovered
at all, and when it has already been discovered but is has been
disconnected.
Change-Id: I54eea72d8c92a67a5ccbb3bc192ac8f33ada1c39
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'tradeshow/iot-sensortag/sensortagdataproviderpool.h')
-rw-r--r-- | tradeshow/iot-sensortag/sensortagdataproviderpool.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tradeshow/iot-sensortag/sensortagdataproviderpool.h b/tradeshow/iot-sensortag/sensortagdataproviderpool.h index d7ac740..fe8b30f 100644 --- a/tradeshow/iot-sensortag/sensortagdataproviderpool.h +++ b/tradeshow/iot-sensortag/sensortagdataproviderpool.h @@ -66,6 +66,7 @@ public: explicit SensorTagDataProviderPool(QObject *parent = 0); void startScanning() override; + void disconnectProvider(QString id) override; // setMacFilterList takes presence over name filter Q_INVOKABLE void setMacFilterList(const QStringList& addressList); @@ -77,9 +78,11 @@ public: protected: SensorTagDataProviderPool(QString poolName, QObject *parent = 0); virtual void finishScanning(); - void updateProviderForCloud(); + QStringList m_macFilters; + QStringList m_nameFilters; + private slots: void deviceDiscoveryFinished(); void btDeviceFound(const QBluetoothDeviceInfo &info); @@ -87,9 +90,8 @@ private slots: void deviceScanError(QBluetoothDeviceDiscoveryAgent::Error error); private: - QStringList m_macFilters; - QStringList m_nameFilters; - bool m_deviceScanState; + SensorTagDataProvider *findProvider(QString id) const; + QBluetoothDeviceDiscoveryAgent *m_discoveryAgent; SensorTagDataProvider *m_providerForCloud; }; |