summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Permit adjusting of advertisement dataAlex Blasche2018-10-082-3/+7
| | | | | | | | | | Prior to this change subsequent calls to QLowEnergyController::startAdvertising() failed to update the to-be-advertised information. Fixes: QTBUG-70754 Change-Id: I594f4f916307e12be6be17d50497aea324520620 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Don't report S_OK as error when calling GetAddressOf()v5.12.0-beta1Alex Blasche2018-09-281-1/+1
| | | | | | Fixes: QTBUG-70799 Change-Id: Iebbfbc2e00d83a6c08bb8a376c01734188e69388 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix qtconnectivity buildAlex Blasche2018-09-281-1/+2
| | | | | | | | | This patch fixes the error introduced by 7d7651fb3bd0c2bdeb6159202d30cf475611da58. Change-Id: Idaf9066190535dd521efed7ab78e9203b99aadef Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Doc: Use a macro to resolve QML import versionsTopi Reinio2018-09-284-8/+10
| | | | | | | | | | | | | | QDoc now supports macros for its command parameters, as well as passing parameters to \code and \qml commands. Use these together with the new \QtMinorVersion macro to automate bumping the QML import versions within documentation. Also, update the hard-coded version numbers in snippet files where we cannot use the macro. Task-number: QTBUG-67818 Change-Id: I93d92770314580efa933c5bf85c618ad8331afb5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* winrt: Avoid crash on device discovery when device has to be pairedOliver Wolff2018-09-271-2/+6
| | | | | | | | | | If a device has to be paired during device discovery on winrt it is possible that the pairing dialog is shown, while discovery hits its timeout. We have to protect against a late callback which tries to access a deleted object. Change-Id: I9756f993b4a31080b1ef518953bee6e75a24e315 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Don't build when there is no Qt NetworkEskil Abrahamsen Blomfeldt2018-09-271-1/+2
| | | | | | | | Qt Connectivity depends on QAbstractSocket, so it will not build if Qt Network is not built. Change-Id: I94f812f4b4c0c23a38b6c0fcdef0ee962f68e8b0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add limited PinCode pairing support to bttestui appAlex Blasche2018-09-262-2/+9
| | | | | | | This help quicker testing of the feature. Change-Id: I2389b1126ac2ea0ffc9dea4bb7561c683cf97088 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Minor code cleanup for QBluetoothLocalDevice implementation on AndroidAlex Blasche2018-09-262-16/+12
| | | | | Change-Id: I22da03879c23f6b6842cb832cea0cfee6e016445 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Don't trigger passkey pairing notification if remote device is unknownAlex Blasche2018-09-261-0/+3
| | | | | | | | | | The device address is essential for proper processing of pairingDisplayConfirmation() signal on Android. If it is not available abort immediately. This brings the passkey pairing code in line with pincode pairing. Change-Id: I174a2478d48463c58ba937e71ced377d45892f1a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Properly handle pin code pairing on AndroidAlex Blasche2018-09-264-0/+54
| | | | | | | | | | | Most likely this paring variant was forgotten when Android support for QBluetoothLocalDevice was implemented. This variant is rather uncommon and Android's default pairing handler are likely to automatically handle such requests too. Fixes: QTBUG-70295 Change-Id: I618242da415574245e5a213a6e34f190c685c8e9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Catch SecurityException during pairing on AndroidAlex Blasche2018-09-262-1/+16
| | | | | | | | | | | | | | | QBluetoothLocalDevice::pairingConfirmation(bool) requires BLUETOOTH_PRIVILEGED permission which cannot be obtained by 3rdparty apps. I believe this used to be different as suggested by https://android.googlesource.com/platform/frameworks/base/+/b1dc1757071ba46ee653d68f331486e86778b8e4 This patch ensures that the thrown SecurityException is caught and displays an appropriate warning. Change-Id: Ib5a0e0fc0c9f3b4f33690493ed74aa4b7cb8864b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Update plugins.qmltypesKai Koehne2018-09-192-4/+4
| | | | | | Task-number: QTBUG-70264 Change-Id: I23d3be2fa247a7c12ead7f7a8e599a3869b44e09 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix various qdoc warnings in QtBluetoothAlex Blasche2018-09-183-7/+7
| | | | | Change-Id: I49653a6ac6fa004987d32365f96a6407f50e207c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-151-0/+58
|\ | | | | | | Change-Id: I7c24df8729794b8241572bddd8d8cd0465993b42
| * Merge remote-tracking branch 'origin/5.11.2' into 5.11Qt Forward Merge Bot2018-09-091-0/+58
| |\ | | | | | | | | | Change-Id: I7ea913083777358265f62b4bf6beed3f2db0ebe1
| | * Add changelog for 5.11.2 releasev5.11.2Alex Blasche2018-08-311-0/+58
| | | | | | | | | | | | | | | | | | Change-Id: Ie610cc0935594bda8c05cfad41dd49218e1930f1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Fix wrong logging messageAlex Blasche2018-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This was caused by mindless copy & paste. Change-Id: I129a5f52753e7aa825cf7f6337b5f24644d9b9a0 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Remove duplicated closure code and add missing cases of itAlex Blasche2018-09-142-33/+24
| | | | | | | | | | | | | | | | | | Change-Id: I4f33ec95b2af858b8d0c3ff60882b550a91563df Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Implement handling of BTLE Battery servicesAlex Blasche2018-09-147-16/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since BlueZ 5.48 battery services are no longer exposed via the generic GATT interface but have their own dedicated Battery1 interface. This patch transforms the dedicated interface back into the previous behavior. Essentially we are emulating the old interface to ensure that the QLowEnergyService user does not have to distinguish. Fixes: QTBUG-70222 Change-Id: Ib9fef41cf16f7562f169f51ee45b19f52de6a0c0 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Remove dead/unused member variablev5.12.0-alpha1Alex Blasche2018-09-112-4/+1
| | | | | | | | | | | | | | | Change-Id: I8a30d5d12fad73a714159ebe3e1d54e8c0b3e407 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-09-081-1/+5
|\| | | | | | | | | | | Change-Id: I576079e30f4075117ca764f45198bc1e5269d887
| * | winrt: Do proper error handling if connecting to a LE device failsOliver Wolff2018-08-311-1/+5
| |/ | | | | | | | | | | Task-number: QTBUG-70162 Change-Id: I4556cbf1965121b042a55e3e36e24383f8fa8dc9 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Doc: Remove empty section in Qt NFC example overview pagePaul Wicking2018-09-071-2/+0
| | | | | | | | | | | | | | Remove unused section "C++ Tutorial". Change-Id: I55ba7286c00ae4573d97f6244dff1f589634b949 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix a few clazy/clang warnings in HeartRate Game exampleAlex Blasche2018-09-058-29/+29
| | | | | | | | | | Change-Id: I2a7b8c403ca466998ddcbd8496c31feb9856f0ad Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Fix QNearFieldManager related override warningsAlex Blasche2018-09-035-27/+29
| | | | | | | | | | Change-Id: If7adc165e063445ee0c34291a3e3840ddae0f570 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Fix bluez config test failure on clangAlex Blasche2018-08-311-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This compile failure used to be a warning only but these days is a failure for clang: > /home/ablasche/dev/qt/qt512/qtconnectivity/config.tests/bluez/main.cpp:36:11: error: taking the address of a temporary object of type 'bdaddr_t' [-Waddress-of-temporary] > bacmp(BDADDR_ANY, BDADDR_LOCAL); > ^~~~~~~~~~ > /usr/include/bluetooth/bluetooth.h:310:23: note: expanded from macro 'BDADDR_ANY' > #define BDADDR_ANY (&(bdaddr_t) {{0, 0, 0, 0, 0, 0}}) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > /home/ablasche/dev/qt/qt512/qtconnectivity/config.tests/bluez/main.cpp:36:23: error: taking the address of a temporary object of type 'bdaddr_t' [-Waddress-of-temporary] > bacmp(BDADDR_ANY, BDADDR_LOCAL); > ^~~~~~~~~~~~ > /usr/include/bluetooth/bluetooth.h:312:23: note: expanded from macro 'BDADDR_LOCAL' > #define BDADDR_LOCAL (&(bdaddr_t) {{0, 0, 0, 0xff, 0xff, 0xff}}) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 2 errors generated. The need for BDADDR_NONE is obsolete now since the test does not rely on those defines anymore. The main purpose is to check that bluetooth.h is available which is already tested by using bacmp and bdaddr_t. Change-Id: I09da4dc5cd3945ffae7819628b45477a52789006 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Fix failing restart of HeartRateServer exampleAlex Blasche2018-08-311-4/+7
| | | | | | | | | | | | | | | | Disconnecting from central devices invalidates the peripheral's service. The change ensures that the service is recreated upon disconnection. Change-Id: I2defc6ffb4c9f23d70b6f181c25f47746b3859a4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Ensure that local services have state LocalServiceAlex Blasche2018-08-302-4/+6
| | | | | | | | | | | | | | | | and invalidate the state once they have been disconnected. This affects Android, Bluez and Apple code lines. Change-Id: I2b87577930b6ae78e7ef7ef061e597beba946594 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-08-301-2/+6
|\| | | | | | | Change-Id: I20db491b185972148ad3fbe6953e5d6ce2889a7f
| * Provide more informative error messages in the BLE Scanner exampleShawn Rutledge2018-08-211-2/+6
| | | | | | | | | | | | | | | | | | QMetaEnum helps us avoid writing separate strings for each error description; it's not very verbose but it's way better than saying that most of the errors are "unknown". Change-Id: I61aaf3be6982a2987aabfa6be3192e1afb7df17a Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix LEController peripheral mode on BlueZAlex Blasche2018-08-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | LEController in peripheral mode uses QBluetoothSocket::setSocketDescriptor(). Since QBluetoothsocket was ported to DBus (enabled when Bluez is 5.46 or later) setSocketDescriptor()/server mode does not work. That's why f602d7fef2e2f067e123e5740d4b0bf16c4ec0e2 made sure that QBluetoothServer uses the old raw socket implementation. Unfortunately QLowEnergyController was forgotten and needs the same workaround. Change-Id: I6ba3654ee199d0ffcf4b69f16dfbc5508d6b13d4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Normalize QObject::connect() statementsAlex Blasche2018-08-299-104/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some cases use the Q_PRIVATE_SLOT logic which does not require QObject inheritance. Those cases were converted to lambda logic to avoid need for QObject inheritance. The Q_PRIVATE_SLOT macro was removed from qbluetoothdevicediscoveryagent.h. This is not a BC problem because the macro expands to nothing. Only moc recognizes the pattern. Change-Id: Ic7cb4cde397f9b230b6fd0b4046e59e504583e58 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | qRegisterMetaType for QBluetoothServiceInfoAlex Blasche2018-08-282-1/+1
| | | | | | | | | | | | | | | | Android internals seem to require it. All other existing test related registrations are removed as they are obsolete after this patch. Change-Id: I49aa3b79bdc8ca5f463f4f7a88cbb612db39d15e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Code cleanup: Use nullptr wherever possibleAlex Blasche2018-08-2450-196/+171
| | | | | | | | | | Change-Id: I7dd2d055c8d667f049d7cb2c371619137bf76030 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Cleanup lowenergyscanner example with clang tidy and clazy helpAlex Blasche2018-08-249-45/+37
| | | | | | | | | | Change-Id: Iaaf169b1ac9b3d4c348d9cabf737b395198a921f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Add QBluetoothDeviceDiscoveryAgent::deviceUpdated signalAlex Blasche2018-08-236-10/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For iBeacons and such, it's normal to keep discovering indefinitely, while the advertisement can sometimes carry changing payload data. This signal helps keep the UI up-to-date. Changed setManufacturerData to return a bool indicating whether the data was really modified or not, to avoid sending deviceUpdated in case it was not changed. For convenience QBluetoothDeviceInfo::manufacturerData() was added. WinRT and Apple platforms do not emit the new signal yet and relevant TODO items were added. Done-with: Shawn Rutledge <shawn.rutledge@qt.io> Task-number: QTBUG-46008 Task-number: QTBUG-69747 Change-Id: I6d6b373f6cc5ee3dd6af2ad05d8640dbd25c5d6a Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Spell QBluetoothDeviceInfo::manufacturerIds correctlyShawn Rutledge2018-08-212-2/+2
| | | | | | | | | | | | | | Amends 0f930cddefe386c6b6f65b8b11342c9e76876a9b Change-Id: Ic3769d30198d3607a1fee218d9f2e90b9addf2d3 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Remove direct usage of QLowEnergyController::ctorAlex Blasche2018-08-215-5/+5
| | | | | | | | | | | | | | | | QLowEnergyController::createCentral() is the official API to do the same. Change-Id: Idbd26d201b24add6697f6f9cdf1194511c160273 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Add Qt 6 API todoAlex Blasche2018-08-211-0/+1
| | | | | | | | | | Change-Id: Ibc8a3e86b7671381c5a00f6421878961e8e2f4a6 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-08-181-4/+10
|\| | | | | | | Change-Id: I3ea075969f9a9b8e94a34b3c7cd92aaea72175af
| * Android: Fix QBluetoothServiceDiscoveryAgent::uuidFilter() behaviorAlex Blasche2018-08-151-4/+10
| | | | | | | | | | | | Task-number: QTBUG-69700 Change-Id: Ib8082156f81949926380e4e296d91c8dfc01b231 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Add manufacturer data to QBluetoothDeviceInfoAlex Blasche2018-08-176-7/+108
| | | | | | | | | | | | | | The initial patch was contributed by Thiemo van Engelen. Change-Id: I45fad793ba092ab2820e606d8bf8807afa3e911e Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Suppress "We mean it" header warning as profilemanager1_p.h is generatedAlex Blasche2018-08-161-1/+1
| | | | | | | | | | Change-Id: I252cc1bf59550d06a403bf73d697e7297c0a6648 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Enable new QBluetoothSocket backend for dbus sockets on Bluez 5.46+Alex Blasche2018-08-161-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The API was introduced earlier than 5.46 already but so far it has not been tested. For now we use 5.46. There is another dependency to QLowEnergyController's GATT custom implementation. Custom GATT only works with the QBluetoothSocket raw socket implementation. By setting the minimal version for QBluetoothSocket slightly higher than the 5.42 version for custom gatt, we ensure that the new dbus socket code is never run together with the GATT custom stack. Task-number: QTBUG-68550 Change-Id: I240f7fc8acb116c71e7601df8baf82f61e53c33e Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Ensure that QBluetoothServer works with new DBus based socketsAlex Blasche2018-08-164-12/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | or better ensure that the DBus based socket is not used for QBluetoothServer. The server implementation will continue to use the raw socket implementation for the foreseeable future. The reason being the DBus version not yet working. convertAddress() in the server cpp was removed because it was a duplicate implementation. Including qbluetoothsocket_bluez_p.h pulls in the qbluetoothsocketbase_p.h which provides the official convertAddress() implementations. Unfortunately this requires a new ctor for QBluetoothSocket which is only specified for BlueZ builds. It is used to permit QBluetoothServer to set the correct dptr for QBluetoothSocket. Task-number: QTBUG-68550 Change-Id: I19298f75e9bc2ab93322d9f34e1816ad733ac6d9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | winrt: Properly handle sequences in SDP registrationOliver Wolff2018-08-161-12/+25
| | | | | | | | | | Change-Id: Ic0e9a18b73915fee1458578ca49359a3647159c1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Properly handle strings in SDP registrationOliver Wolff2018-08-161-11/+40
| | | | | | | | | | Change-Id: Ifb9531830ef11d0e49c205eada5884906051e467 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Add helper functionality for more complex sdp typesOliver Wolff2018-08-161-1/+44
| | | | | | | | | | | | | | | | | | | | In preparation for following patches which will add proper support for strings, sequences, alternatives, and urls as SDP attributes, their base IDs as well 2 helper functions (typeIsOfBase and getLEngthForBaseType) are added. Change-Id: I40982c83435985a7f57d7854ac1e353350c29da5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Clean up btchat exampleOliver Wolff2018-08-169-70/+90
| | | | | | | | | | | | | | | | | | | | | | - Replace old connect syntax - Clean up includes - Replace 0 with nullptr - Add socket error handling Change-Id: Id4c7634db29a23184d3ce2d92ffa39c71505de12 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Add missing error handling in connectToServiceHelperOliver Wolff2018-08-161-1/+2
| | | | | | | | | | | | | | | | | | QBluetoothSocketPrivateWinRT::connectToServiceHelper was missing one hr check. Change-Id: Iae357df99881874b2d672dde6625e36d6221de0f Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>