summaryrefslogtreecommitdiffstats
path: root/tradeshow/iot-sensortag/dataproviderpool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tradeshow/iot-sensortag/dataproviderpool.cpp')
-rw-r--r--tradeshow/iot-sensortag/dataproviderpool.cpp41
1 files changed, 26 insertions, 15 deletions
diff --git a/tradeshow/iot-sensortag/dataproviderpool.cpp b/tradeshow/iot-sensortag/dataproviderpool.cpp
index 77c4514..66d9480 100644
--- a/tradeshow/iot-sensortag/dataproviderpool.cpp
+++ b/tradeshow/iot-sensortag/dataproviderpool.cpp
@@ -51,12 +51,16 @@
DataProviderPool::DataProviderPool(QObject *parent)
: QObject(parent)
+ , m_currentProvider(nullptr)
+ , m_currentProviderIndex(-1)
{
}
DataProviderPool::DataProviderPool(QString poolName, QObject *parent)
: QObject(parent)
, m_poolName(poolName)
+ , m_currentProvider(nullptr)
+ , m_currentProviderIndex(-1)
{
}
@@ -70,21 +74,7 @@ void DataProviderPool::stopScanning()
emit scanFinished();
}
-SensorTagDataProvider *DataProviderPool::getProvider(SensorTagDataProvider::TagType type) const
-{
- auto it = m_dataProviders.constBegin();
- SensorTagDataProvider* p = 0;
- while (it != m_dataProviders.end()) {
- if ((*it)->tagType() & type) {
- p = *it;
- break;
- }
- it++;
- }
- return p;
-}
-
-void DataProviderPool::disconnectProvider(QString id)
+void DataProviderPool::disconnectProvider(const QString &id)
{
Q_UNUSED(id)
}
@@ -98,3 +88,24 @@ SensorTagDataProvider *DataProviderPool::providerForCloud() const
{
return 0;
}
+
+SensorTagDataProvider *DataProviderPool::currentProvider() const
+{
+ return m_currentProvider;
+}
+
+int DataProviderPool::currentProviderIndex() const
+{
+ return m_currentProviderIndex;
+}
+
+void DataProviderPool::setCurrentProviderIndex(int currentProviderIndex)
+{
+ if (m_currentProviderIndex == currentProviderIndex)
+ return;
+
+ m_currentProviderIndex = currentProviderIndex;
+ m_currentProvider = m_dataProviders.at(m_currentProviderIndex);
+ emit currentProviderIndexChanged(m_currentProviderIndex);
+ emit currentProviderChanged(m_currentProvider);
+}