summaryrefslogtreecommitdiffstats
path: root/src/imports
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-12-17 16:45:58 +0100
committerFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2014-12-17 16:45:58 +0100
commitda39c8425b53d2e1907470dafc62f0b9621dcbb3 (patch)
treeede8eebec69099fdc200c5e0d4d365b29293dadb /src/imports
parent1421e4c482430f9cf76ed7ec7bd5e6857ef9407f (diff)
parent8eafcc2d6960390d6784a1c5bb075d6314041fdf (diff)
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts: .qmake.conf src/bluetooth/qlowenergyservice.cpp Change-Id: I4b0f68d35ea898819b7c8078b24d55ae90ee529c
Diffstat (limited to 'src/imports')
-rw-r--r--src/imports/bluetooth/plugins.qmltypes3
-rw-r--r--src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp27
-rw-r--r--src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h3
3 files changed, 30 insertions, 3 deletions
diff --git a/src/imports/bluetooth/plugins.qmltypes b/src/imports/bluetooth/plugins.qmltypes
index f7d0d08d..cf2146e2 100644
--- a/src/imports/bluetooth/plugins.qmltypes
+++ b/src/imports/bluetooth/plugins.qmltypes
@@ -30,7 +30,8 @@ Module {
"NoError": 0,
"InputOutputError": 1,
"PoweredOffError": 2,
- "UnknownError": 3
+ "UnknownError": 3,
+ "InvalidBluetoothAdapterError": 4
}
}
Property { name: "error"; type: "Error"; isReadonly: true }
diff --git a/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp b/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp
index 20f47f65..01a53bfa 100644
--- a/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp
+++ b/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp
@@ -151,7 +151,19 @@ void QDeclarativeBluetoothDiscoveryModel::componentComplete()
void QDeclarativeBluetoothDiscoveryModel::errorDiscovery(QBluetoothServiceDiscoveryAgent::Error error)
{
- d->m_error = static_cast<QDeclarativeBluetoothDiscoveryModel::Error>(error);
+ switch (error) {
+ case QBluetoothServiceDiscoveryAgent::InvalidBluetoothAdapterError:
+ d->m_error = QDeclarativeBluetoothDiscoveryModel::InvalidBluetoothAdapterError; break;
+ case QBluetoothServiceDiscoveryAgent::NoError:
+ d->m_error = QDeclarativeBluetoothDiscoveryModel::NoError; break;
+ case QBluetoothServiceDiscoveryAgent::InputOutputError:
+ d->m_error = QDeclarativeBluetoothDiscoveryModel::InputOutputError; break;
+ case QBluetoothServiceDiscoveryAgent::PoweredOffError:
+ d->m_error = QDeclarativeBluetoothDiscoveryModel::PoweredOffError; break;
+ case QBluetoothServiceDiscoveryAgent::UnknownError:
+ d->m_error = QDeclarativeBluetoothDiscoveryModel::UnknownError; break;
+ }
+
emit errorChanged();
}
@@ -187,6 +199,12 @@ void QDeclarativeBluetoothDiscoveryModel::clearModel()
\li An IO failure occurred during device discovery
\row \li \c BluetoothDiscoveryModel.PoweredOffError
\li The bluetooth device is not powered on.
+ \row \li \c BluetoothDiscoveryModel.InvalidBluetoothAdapterError
+ \li There is no default Bluetooth device to perform the
+ service discovery. The model always uses the local default adapter.
+ Specifying a default adapter is not possible. If that's required,
+ \l QBluetoothServiceDiscoveryAgent should be directly used. This
+ value was introduced by Qt 5.4.
\row \li \c BluetoothDiscoveryModel.UnknownError
\li An unknown error occurred.
\endtable
@@ -407,6 +425,13 @@ void QDeclarativeBluetoothDiscoveryModel::setRunning(bool running)
//qDebug() << "Minimal Discovery";
d->m_serviceAgent->start(QBluetoothServiceDiscoveryAgent::MinimalDiscovery);
}
+
+ // we could not start service discovery
+ if (!d->m_serviceAgent->isActive()) {
+ d->m_running = false;
+ errorDiscovery(d->m_serviceAgent->error());
+ return;
+ }
}
}
diff --git a/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h b/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h
index 279fb063..1834ce36 100644
--- a/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h
+++ b/src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h
@@ -94,7 +94,8 @@ public:
NoError,
InputOutputError,
PoweredOffError,
- UnknownError
+ UnknownError,
+ InvalidBluetoothAdapterError
};
Error error() const;