summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothserver_qnx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/qbluetoothserver_qnx.cpp')
-rw-r--r--src/bluetooth/qbluetoothserver_qnx.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/bluetooth/qbluetoothserver_qnx.cpp b/src/bluetooth/qbluetoothserver_qnx.cpp
index 5dfacfb2..63e92f4f 100644
--- a/src/bluetooth/qbluetoothserver_qnx.cpp
+++ b/src/bluetooth/qbluetoothserver_qnx.cpp
@@ -163,6 +163,23 @@ bool QBluetoothServer::listen(const QBluetoothAddress &address, quint16 port)
return false;
}
+ QBluetoothLocalDevice device(address);
+ if (!device.isValid()) {
+ qCWarning(QT_BT_QNX) << "Device does not support Bluetooth or"
+ << address.toString() << "is not a valid local adapter";
+ d->m_lastError = QBluetoothServer::UnknownError;
+ emit error(d->m_lastError);
+ return false;
+ }
+
+ QBluetoothLocalDevice::HostMode hostMode= device.hostMode();
+ if (hostMode == QBluetoothLocalDevice::HostPoweredOff) {
+ d->m_lastError = QBluetoothServer::PoweredOffError;
+ emit error(d->m_lastError);
+ qCWarning(QT_BT_QNX) << "Bluetooth device is powered off";
+ return false;
+ }
+
// listen has already been called before
if (!d->socket)
d->socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);