The disconnected() and stateChanged() signals are delayed which
may easily overlooked by API users. This change specifically points out
this behavior difference.
Change-Id: I3a9e9c656da50c9efe455cd2dbf903a2849e36da
Task-number: QTBUG-41770
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Change-Id: Ic8387dd411a9784b6163a15d423cdeaa5e63ea30
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
L2CP's psm (the RFCOMM port equivalent) was never published via SDP.
Therefore the service client could not get the required information
to connect to the server. After this patch Qt properly publishes
the psm.
Also, QBluetoothSocket::connect() initiated a service
discovery to obtain the missing psm. Since the published SDP
entry didn't contain one, protocolServiceMultiplexer() always returned
0 and another service discovery was initiated. This caused a crash
inside QBluetoothSocket because the 1st QBluetoothServiceDiscoveryAgent
instance was deleted in favor of the 2nd.
The patch changes the client behavior such that it doesn't crash
if the service discovery didn't turn up a valid psm/port.
It improves the robustness in case of an error and avoids
a second service discovery (which wouldn't turn up more information
anyway).
The bug only affected Bluez as it is the only platform supporting
pure L2CP sockets.
Last but not least a capability to test L2CP sockets was added to
bttestui.
Change-Id: I46c88a67c2baa4782ea908e645dcd4db9422dbba
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This fixes duplicate switching to the unconnected state in case
the disconnect() signal is used to reconnect.
[ChangeLog][QtBluetooth][QBluetoothSocket] Fixed duplicate emission
of unconnected state in the reconnection case.
Change-Id: If449420d936c96e62518fc408e6a1e35b79988a8
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
The function is not required as the public accessor function directly
returns the socket descriptor.
Change-Id: I6d64bec7b4f0542ce213dc90dcfe30c3885ed21d
Reviewed-by: Nedim Hadzic <nedimhadzija@gmail.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
QBluetoothSocket::connectToService can be called by itself when it
does an SDP discovery. This affects Bluez only but the bug was introduced
by the Android port.
Change-Id: I1c9b0504acaafc7dbf2fc3d94b0c2c20a0cb8c65
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
When connectToService() triggers an SDP discovery the search may
fail. At the beginning of the discovery the socket state was set to
ServiceLookupState. This patch ensures that the socket state resets to
Unconnected if the SDP discovery failed.
Currently only Bluez uses this discovery mechanism and therefore is the
only affected platform.
Change-Id: I982dafc1f5466071bbf910ed3cf7cf7abda14fe4
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This is a feature merge to dev targeting Qt 5.3.
Known issues:
-QTBUG-36754: QBluetoothServer::close() crashes
-QTBUG-36763: QBluetothTransferManager port to Android not possible
-QTBUG-36764: Improve QBluetoothLocalDevice::connectedDevices()
-QTBUG-36810: Remove direct use of Android action strings
The above issues and some other minor TODO's will be addressed
until final release time.
Task-number: QTBUG-33792
[ChangeLog][QtBluetooth][Android] QtBluetooth has been ported to
Android.
Change-Id: I31ba83e3b7d6aa68e7258b7e43235de7d1a6e68a
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
This fixes a few cases where errorString, error signal and error code
where out of sync because one was set but not the other. This was
addressed by unifying the usage pattern for error activation to a
pattern where errorString is set and setSocketError() is called
afterwards.
Change-Id: Ibfb04772cf560936aa4ce8ea9643d6a410cc9ee2
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Bluez never returns anything until the connection has been established.
BlackBerry and the future Android port are much quicker.
Change-Id: Ic465a9b68176e7fff5f0c88b4fb602f8665f7197
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
ThHis is only used on Bluez at this stage. THe SDP agent was initialized
with the local adapter being the remote address of the remote service.
This could never work. The remote address is now properly set (being the
handed over bt address to QBluetoothSocket::connectToService()).
[ChangeLog][QtBluetooth][QtBluetoothSocket] Fixed incorrect
invocation of QBluetoothDiscoveryAgent where the remote service address
was incorrectly assumed to be the local Bt adapter address. This prevented
the detection of the remote service. This bug only affects the Bluez
backend.
Change-Id: Ice2b9c351bfd42f1f4398b14ac68f76315f01fa8
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Also add a serverType member function in QBluetoothServer
Change-Id: I107f73b3943dc84f5c4d2afcb00e303567a67b5d
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Remove some qDebug statements and change qDebugs to qWarning in case of an error.
Task-number: QTBUG-32253
Change-Id: Ia647d3f485cae56cc9f9c6725400f5b4617b7bf7
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
This is based on namespace discussions on the Qt project dev mailing list.
We continue to use the Qt namespace.
Change-Id: I6119d06662f7682c11f42d759f3218be1f5a7d6c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
To be aligned with the bluez implementation
Change-Id: I8d3fbd0c23298f984e2c99cbf4131cf8fc0a0a64
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
- Update Digia's copyright year
- Add copyright to files without it
- Convert old BSD to new LGPL license for auto test code
Change-Id: I47f5c871c436f9c2731b235026434448719cc671
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Renamed to the namespace macros to follow what syncqt expects. This
fixes missing namespace macro warnings printed by syncqt.
Change-Id: I7be5a700e8435a559cb4c2e74938851233095887
Reviewed-by: Lorn Potter <lorn.potter@jollamobile.com>
This commit adds the SPP server and socket to the QNX Bluetooth port
Change-Id: I0868f4cbc32fc84f0688eafdd2c3350dc8506b65
Reviewed-by: Alex <ablasche@gmail.com>
These pages will list the C++ classes and the QML types in Qt Bluetooth.
Removed extra groups.
Change-Id: I27d7004d804cc0cc29af997f3a11fcc9f9477efb
Reviewed-by: Alex <ablasche@gmail.com>
Change copyrights and license headers from Nokia to Digia
Change-Id: I4f07028d0bf0b3ba4c4649897b80687ea5e51abc
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I84f8c423bd7748bbae495fedae696990414cee83
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>