diff options
author | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2017-09-20 09:35:56 +0200 |
---|---|---|
committer | Maurice Kalinowski <maurice.kalinowski@qt.io> | 2017-09-27 06:35:24 +0000 |
commit | cf2ec248f2c8d6fabc539f2acef4df5d3c0e8b6c (patch) | |
tree | 01c4feef45ddf310113a7f2f2d5b06e20b443fbe /tradeshow/iot-sensortag/dataproviderpool.h | |
parent | 55ce120e6ceccb40f19a941fbda05edefd22d64c (diff) |
iot-sensortag: Redesign of example
The updated version switches the focus from having multiple sensors
locally towards showing one sensor from a list. This list can display
local or remote sensors and switch on runtime.
Also incorporated many style fixes and cleanups.
Change-Id: If7b8acbb2a784ebba95d467176e76728721c82f7
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Diffstat (limited to 'tradeshow/iot-sensortag/dataproviderpool.h')
-rw-r--r-- | tradeshow/iot-sensortag/dataproviderpool.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/tradeshow/iot-sensortag/dataproviderpool.h b/tradeshow/iot-sensortag/dataproviderpool.h index 9c14504..e060758 100644 --- a/tradeshow/iot-sensortag/dataproviderpool.h +++ b/tradeshow/iot-sensortag/dataproviderpool.h @@ -58,18 +58,25 @@ class DataProviderPool : public QObject { Q_OBJECT - Q_PROPERTY (QQmlListProperty<SensorTagDataProvider> dataProviders READ dataProviders NOTIFY dataProvidersChanged) + Q_PROPERTY(QQmlListProperty<SensorTagDataProvider> dataProviders READ dataProviders NOTIFY dataProvidersChanged) + Q_PROPERTY(SensorTagDataProvider* currentProvider READ currentProvider NOTIFY currentProviderChanged) + Q_PROPERTY(int currentProviderIndex READ currentProviderIndex WRITE setCurrentProviderIndex NOTIFY currentProviderIndexChanged) Q_PROPERTY(QString name MEMBER m_poolName CONSTANT) public: Q_INVOKABLE virtual void startScanning(); Q_INVOKABLE virtual void stopScanning(); - Q_INVOKABLE virtual SensorTagDataProvider* getProvider(SensorTagDataProvider::TagType type) const; - Q_INVOKABLE virtual void disconnectProvider(QString id); + Q_INVOKABLE virtual void disconnectProvider(const QString &id); + Q_INVOKABLE virtual SensorTagDataProvider *currentProvider() const; + Q_INVOKABLE virtual int currentProviderIndex() const; QQmlListProperty<SensorTagDataProvider> dataProviders(); - virtual SensorTagDataProvider* providerForCloud() const; + virtual SensorTagDataProvider *providerForCloud() const; + + +public slots: + void setCurrentProviderIndex(int currentProviderIndex); signals: void providerConnected(QString id); @@ -80,14 +87,18 @@ signals: void scanFinished(); void providerForCloudChanged(); void dataProvidersChanged(); + void currentProviderChanged(SensorTagDataProvider* currentProvider); + void currentProviderIndexChanged(int currentProviderIndex); protected: explicit DataProviderPool(QObject *parent = 0); - DataProviderPool(QString poolName, QObject* parent = 0); + DataProviderPool(QString poolName, QObject *parent = 0); protected: - QList<SensorTagDataProvider*> m_dataProviders; + QList<SensorTagDataProvider *> m_dataProviders; QString m_poolName; + SensorTagDataProvider *m_currentProvider; + int m_currentProviderIndex; }; #endif // DATAPROVIDERPOOL_H |