diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-12-17 16:45:58 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2014-12-17 16:45:58 +0100 |
commit | da39c8425b53d2e1907470dafc62f0b9621dcbb3 (patch) | |
tree | ede8eebec69099fdc200c5e0d4d365b29293dadb /src/imports | |
parent | 1421e4c482430f9cf76ed7ec7bd5e6857ef9407f (diff) | |
parent | 8eafcc2d6960390d6784a1c5bb075d6314041fdf (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.qmltypes | 3 | ||||
-rw-r--r-- | src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel.cpp | 27 | ||||
-rw-r--r-- | src/imports/bluetooth/qdeclarativebluetoothdiscoverymodel_p.h | 3 |
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; |