summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@theqtcompany.com>2016-04-27 10:44:18 +0200
committerTimur Pocheptsov <timur.pocheptsov@theqtcompany.com>2016-04-29 20:21:27 +0000
commit3e7befcd5801645fa4f7f84d5f1805ae615f28c3 (patch)
tree720135269844060b2eff9542e2f3ea53786eebf6 /tests
parent4a6c2b9fd607dfabace868feb0433ef3d99edcf4 (diff)
Bluez5: Fix serial service discovery inside QBluetoothSocket
QBluetoothSocket::connectToService() performs its own service discovery if the remote RFCOMM channel is not known. This may happen if the passed in BluetothServiceInfo object was obtained via a minimal service discovery (which does not perform a channel discovery) or if the connectToService(const QBluetoothAddress &address, const QBluetoothUuid &uuid, OpenMode openMode = ReadWrite); overload was called. This was not an issue with Bluez4 as every type of discovery provided the RFCOMM channel id. The internal discovery required at least the service's ServiceId to be known. However a lot of SerialPort profiles do not set a custom service uuid as ServiceId nor do they set the SerialPort UUID as ServiceId. Often they provide the SerialPort uuid via the ServiceClassIds only. This patch ensures that the internal service discovery is started if the ServiceId is known or if the ServiceClassIds contains the SerialPort uuid. Furthermore the internal discovery did not apply the complete uuid filter. If a ServiceClassId was added then the ServiceId was discarded which could lead to services not being found. Task-number: QTBUG-47593 Change-Id: Ia6e52d1a9def0f770080fd70e2b6deb40e69fa69 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions