summaryrefslogtreecommitdiffstats
path: root/src/bluetooth
Commit message (Collapse)AuthorAgeFilesLines
* Fix GCC 7 warnings about implicit fallthroughsThiago Macieira2017-05-191-0/+2
| | | | | | | Make them explicit. Change-Id: I9bf1e35bffb044dcbf62fffd14bfe71bc374febf Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* BlueZ: Ensure stop advertisement calls are actually sent when issuedAlex Blasche2017-05-151-0/+1
| | | | | | | The command queue was not flushed out to the HCI socket. Change-Id: Ic249fc6d7c93c8ca1026ec010f667b7e155d9c46 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Fix readvertisement failure on peripheral restart on BlueZAlex Blasche2017-05-152-10/+7
| | | | | | | | | | | | | | When the QLowEnergyController disconnects and immediately restarts the re-advertisement, it fails when sending the OcfLeSetAdvEnable ocf command. Subsequenly an advertisement error is thrown which stops the QLowEnergyCOntroller instance itself. Starting with this patch we choose to ignore failures when trying to disable advertisement. The API cannot report the error back anyway. Task-number: QTBUG-58941 Change-Id: Ifd6b43193c41e6cdc22d4876441bcdcbcc2ca7b6 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Doc: iOS does not have support for classic bluetoothAndy Shaw2017-05-091-1/+1
| | | | | Change-Id: Ieefa1cf6f07b05d12e2381d6c72ab56d78b3e7fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix licensingv5.9.0-beta4Jani Heikkinen2017-04-283-42/+60
| | | | | | | | | - Remove unused license files - Switch old LGPLv21 license headers with LGPL one Task-number: QTBUG-57147 Change-Id: If7e286d2ce33077de2d9edfb14ecddfa5cd3027e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Fix build for -no-feature-concurrentStephan Binner2017-04-252-2/+3
| | | | | Change-Id: I57b18167dacb776a00d406e3faba6e780c764771 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* Support for Q_OS_ANDROID_EMBEDDED and android-embedded buildsOtto Ryynänen2017-04-241-1/+1
| | | | | | | | | | | | The Embedded Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. Those flags are set in mkspecs when building for embedded Android. This commit enables the possibility to build embedded Android builds. (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I2ded43d7ed46a99ba70301f07a791ed4a148c6c0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta3Liang Qi2017-04-181-4/+2
|\ | | | | | | | | | | | | Conflicts: src/bluetooth/qbluetoothsocket_bluez.cpp Change-Id: I37e21b3c636a241a357bc81fc23da51303b94623
| * QBluetoothSocket/bluez: fix QString::arg() usageMarc Mutz2017-03-241-4/+2
| | | | | | | | | | | | | | | | | | QString::arg() returns the new value but leaves *this unchanged. Found by GCC 7 (-Wunused-result). Change-Id: I8a0ddb801ded94365f0e9a7ae13a37a96c7f437a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove heartlistener exampleAlex Blasche2017-04-072-2/+1
| | | | | | | | | | | | | | | | The heartrate game is the replacement example. Change-Id: Ib51be2467c49075d34e6bea003e69453f0801dfc Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Use heartrate-game example for snippets in BTLE overviewAlex Blasche2017-04-071-14/+13
| | | | | | | | | | | | | | | | | | heartlistener example will be removed. Change-Id: Iaa5c5f629cf351b97c18f61b4fab2cbbd8d0744c Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Ensure that QLowEnergyController::connected() is emitted on BlueZAlex Blasche2017-04-061-0/+3
| | | | | | | | | | | | | | | | This singal was never emitted. Task-number: QTBUG-59754 Change-Id: I5f6aba3f995933dc8a8c7b80492e1726a3177b54 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | Replace custom QT_BLUEZ_BLUETOOTH against the related feature defineAlex Blasche2017-04-0616-31/+31
| | | | | | | | | | Change-Id: I4fbb948841a610640acaf87364e2157e31782836 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | The BlueZ feature implies that QtDBus is enabledAlex Blasche2017-04-052-2/+2
| | | | | | | | | | | | | | | | | | | | The QtBluetooth library only builds the bluez backend when qtdbus is enabled. Previously it was possible that dbus was disabled but the bluez feature flag is still set. This patch prevents this gap by directly binding the bluez feature to the dbus feature. Change-Id: I173d51f27f5b1a78241548617f602830fec7bb14 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Permit BlueZ platforms to set the address type in heartrate-gameAlex Blasche2017-04-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BlueZ is the only platform that requires to set the BTLE address type. The patch introduces a new UI button which allows the user to toggle the address type. The UI element is disabled on all platforms but Linux/BlueZ systems. The number of devices returned in simulator mode is reduced to four devices. This was done purely for esthetical reasons as the additional address type button takes screen real estate away and five simulator devices require more screen real estate than the remaining space for device list. This avoid the need for scrolling. Change-Id: I14cf26b3c821db7768b9d018c2d09441cd97679a Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add documentation for the HeartRate game exampleAlex Blasche2017-04-041-0/+1
| | | | | | | | | | | | | | Change-Id: I0f0a82be359fc49becd1eccc67697d5177d73bb1 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Correct the use of QString::argThiago Macieira2017-04-031-4/+4
| | | | | | | | | | | | | | | | | | | | It returns an updated QString, without modifying the variable it was called on. Found by Clang when building: qbluetoothsocket_bluez.cpp:255:17: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result] Change-Id: I27b55fdf514247549455fffd14b1795de236d488 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Remove unused function convertAddressThiago Macieira2017-04-031-10/+0
| | | | | | | | | | | | | | | | Found by Clang: qbluetoothservicediscoveryagent_bluez.cpp:61:20: warning: unused function 'convertAddress' [-Wunused-function] Change-Id: I27b55fdf514247549455fffd14b1793f89f60f92 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Ensure the passkey and pincode for pairing are randomAlex Blasche2017-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The previous AND operation with 1mio was not random (especially when the hex value was used). Task-number: QTBUG-59392 Change-Id: Id9ba5432c21fa41a9e5af9800a8633ce4f02fba4 Reviewed-by: Tuomas Vaarala <tuomas.vaarala@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-102-23/+39
|\| | | | | | | Change-Id: I26c44498f63bcb2628c186e4f1a7f563460b0327
| * Match connected device changes based on local device instanceAlex Blasche2017-02-172-23/+39
| | | | | | | | | | | | | | | | | | | | | | | | A new device connection is only ever for one particular device. Prior to this patch all local device instances (for different adapters) assumed the new connection request would be theirs. Task-number: QTBUG-57417 Change-Id: I0e7ced15cb83df4321284a297ac42b8786f9314b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | WinRT: Remove dummy warningv5.9.0-alpha1Oliver Wolff2017-02-083-6/+3
| | | | | | | | | | | | | | | | With classic bluetooth in place the dummy warning is no longer needed even though peripheral support is not implemented yet. Change-Id: Ia6e471cf74583d9ea704217687de272dc6d46433 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Rename WinRT logging categoryOliver Wolff2017-02-082-2/+2
| | | | | | | | | | | | | | | | While the bluetooth port was only available for Windows phone at the beginning it covers all winrt platforms now. Change-Id: I9b7ec7a914a481c692c7717e645ebf121d75ab73 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Remove WinPhone leftoversOliver Wolff2017-02-082-15/+2
| | | | | | | | | | Change-Id: I0bc4da9d8ac17930d509a55c8c5c6494dad4558f Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Accept malformed profile descriptor list from applicationsOliver Wolff2017-02-081-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Other backends accept a malformed profile descriptor list which only contains a short uuid. WinRt seems to be more restrictive here and expects a nested sequence containing a short uuid and a version per entry. In order not to break existing applications the WinRT backend repairs the profile descriptor list's structure so that it is accepted as part of IRfcommServiceProvider's list of sdp attributes. Task-number: QTBUG-58529 Change-Id: Ic1754135bc139a732ac014728ef9341205a59e86 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Provide support for QLEService::writeDescriptor() on Android PeripheralAlex Blasche2017-02-061-5/+22
| | | | | | | | | | | | | | | | This permits the server itself to change descriptors at runtime. Change-Id: I5d60cfb1838ba83737cd748671520c7072201bc4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Add a small section describing how to enable Bluetooth loggingAlex Blasche2017-02-061-0/+8
| | | | | | | | | | | | Change-Id: Iffef04c75c35ebd0174c6e3ba6701ba5f8385296 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Add missing logging categories to QtBluetooth docsAlex Blasche2017-02-061-3/+9
| | | | | | | | | | | | | | | | and improve the general logging table content. Change-Id: I84c40a3a6e909bb62d1a59e74a91716bd13bcf0d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Update platform feature table for QtBluetoothAlex Blasche2017-02-061-2/+2
| | | | | | | | | | | | | | Added Android Peripheral and WinRT Classic Bluetooth. Change-Id: I2c1d55553d3940eeb050d38ebf817a61620dafe7 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | QLowEnergyController: Fix spelling errorFriedemann Kleint2017-02-061-1/+1
| | | | | | | | | | Change-Id: I5f3e3e415730e36647ec0011c9fe0ed350d4cd62 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | winrt: Set proper socket state in setSocketDescriptorOliver Wolff2017-02-031-0/+1
| | | | | | | | | | Change-Id: I5469f696d0f20d563a67cdcc94af16faf6cac8ea Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Use custom setSocketDescriptor functionOliver Wolff2017-02-033-8/+19
| | | | | | | | | | | | | | | | We have to use a similar approach to the one that is used on android as the ComPtr cannot reliably passed as an int. Change-Id: Ia52c78d4725fb3240eafa62fcb55531a282c0cd3 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Register callbacks in Xaml threadOliver Wolff2017-02-032-14/+26
| | | | | | | | | | Change-Id: Ib32af0803e95229a1671055da4d5608f3fd3e0f6 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: maxPendingConnections must be lower than currently pending connectionsOliver Wolff2017-02-031-0/+6
| | | | | | | | | | Change-Id: Ie14506c0ad648413019c511d4d39dc8bd43d7405 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Document that BT servers on Android and WinRT only support RFCOMMOliver Wolff2017-01-311-0/+1
| | | | | | | | | | Change-Id: Ic93d086cc6b6549e8de90f01a0bba5913207d7e5 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | winrt: Add bluetooth server supportOliver Wolff2017-01-317-8/+682
| | | | | | | | | | | | Task-numer: QTBUG-37779 Change-Id: Ieb3ed5dfea7d60b3875cbe97bb26f8060bebcc17 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Fix wrong function name in invokeMethod in bluetooth socketOliver Wolff2017-01-301-1/+1
| | | | | | | | | | Change-Id: I9fd9131c031328afa936a52e42371409e3fbac48 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | winrt: Fixed reading of string attributes in sequencesOliver Wolff2017-01-301-1/+4
| | | | | | | | | | Change-Id: I063668f9b95b95aa15a736b80e11d81c15cd1730 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | Implement QLEService::writeCharacteristic() for Android peripheralAlex Blasche2017-01-271-21/+35
| | | | | | | | | | | | | | | | | | | | | | This includes the correct handling of client characteristic notifications (CCNs). As per Bluetooth spec this descriptor is unique for each device. If a characteristic was changed all chars with enabled CCNs are notified. CCN settings are even retained while the remote device is not connected. Change-Id: Iec612e6a5e70206a6be0263e10e615c26def7559 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix a lot of minor issues in the new Android peripheral backendAlex Blasche2017-01-243-12/+12
| | | | | | | | | | | | Change-Id: I3aa89926c5237ee8da18b73f66f0c7a321a83c91 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Android: Implement QLEService::descriptorWritten() signals for peripheralAlex Blasche2017-01-245-0/+95
| | | | | | | | | | Change-Id: I60e5bdce4256804754909c2538aebe581897e1e9 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Android: Implement QLEService::characteristicChanged() for peripheral modeAlex Blasche2017-01-245-2/+83
| | | | | | | | | | | | | | | | | | Emits the above signal when the remote client successfully updates a characteristic. Change-Id: I236b1f92b682028bc10be798192f46bffc981101 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Android: Keep track of peripheral advertisement errorsAlex Blasche2017-01-235-0/+69
| | | | | | | | | | | | | | | | | | | | If advertisement fails then we drop back into the unconnected state and provide a more detailed error message for individual advertisement errors. Change-Id: Ic9de02b456409cd1a2dec11e53c884fe368ae267 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Android: Implement QLEC::stateChanged() notificationAlex Blasche2017-01-233-4/+65
| | | | | | | | | | | | Change-Id: Id2cabd9df7b5387fe5e6f1c898fe02e40f7c0a3d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Setup descriptor permissions for Android peripheralAlex Blasche2017-01-231-6/+85
| | | | | | | | | | | | Change-Id: Id40033b0745a720466a8466ad3c82ad804cadd9c Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Setup characteristic permissions for Android peripheralAlex Blasche2017-01-231-4/+66
| | | | | | | | | | | | Change-Id: I32a3c4c711ac62ee89570534ae8c658a681bbdb8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Android: Add access to BTLE connection parametersAlex Blasche2017-01-233-9/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, Android only provides access to a very generic connection priority. The patch uses the minimalInterval() to determine the desired priority. Everything below 30ms is high priority and everything above 100ms is low priority. Every other value is balanced priority. QLowEnergyController::requestConnectionUpdate() was modified to permit access when the controller is connected, discovered or in the process of being discovered. The limiting factor is an existing physical connection. The documentation was updated to reflect Android's API limitations. [ChangeLog][QtBluetooth][Android] Added access to BTLE connection parameter settings. Task-number: QTBUG-53476 Change-Id: I3e22c65bd9598296a9219463dd05f0d9fc73599d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Add ability to export basic service data and advertiseAlex Blasche2017-01-235-10/+221
| | | | | | | | | | | | | | | | | | | | | | | | Advertisement data and Advertisement parameter in Qt are now connected to the Android/Java side. In addition the basic service structure is supported. Descriptors and char detail export are still missing. Change-Id: I941cba5e832d76ff7beca811d08a2148367c6bf5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Connect QtBluetoothLEServer class to Qt's QLowEnergyController APIAlex Blasche2017-01-231-2/+21
| | | | | | | | | | | | Change-Id: I4403a9d5c79fae2c6bbe9c478660ead01dc16fe4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Protect Android Gatt code behind version checksAlex Blasche2017-01-231-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | Android Bluetooth LE Client support requires API v18 and Server support requires API v21. In fact earlier releases of Qt did not actually catch the v18 border at all. It excisted since Qt 5.5 already. Change-Id: I9baabf5138b2b0d48f8d09670c4feeef688681fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>