summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-11-21127-310/+1511
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/bluetooth.pro Change-Id: Ibccccc974b545696ae053f1fbffcc973d8be43cc
| * | | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-11-152-1/+30
| |\ \ \ | | |/ / | |/| / | | |/ Change-Id: I549972a6521a33a1c52fcbf0506a6aff502b364c
| | * winrt: Do not assert when registering a service without a local BT adapterOliver Wolff2017-11-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no bluetooth adapter is present in the system IRfCommServiceProvider::CreateAsync will result in "device not available". In this case we should not assert, but just handle that as a failed attempt to register the service. Task-number: QTBUG-64118 Change-Id: I73591a1f2dbedc798824e5afef53a9e2d793e73e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * winrt: Reflect unsupported state of peripheral role of lowenergycontrollerOliver Wolff2017-11-031-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There currently is no API for supporting the peripheral role on winrt, but there is no way to reflect that inside our API. If a user tries to set up a low energy peripheral device, the application should not crash though. The crash occurred, when the controller was set up in a perihperal role and the application tried to read or write a descriptor or characteristic. In this case the functions should just return early. Task-number: QTBUG-63709 Change-Id: I30b277788d822f869743e1f294ee1402abd36309 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Update to new QRandomGenerator APIv5.10.0-beta4Thiago Macieira2017-11-033-7/+7
| | | | | | | | | | | | | | | | | | Change-Id: I69f37f9304f24709a823fffd14e676c097712329 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | CoreBluetooth - fix compilation errorsTimur Pocheptsov2017-11-023-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple keeps breaking things, we keep fixing their usless diagnostic, until they fix their framework for good. https://openradar.appspot.com/33375728 https://openradar.appspot.com/33375690 etc. Change-Id: I0051b4636c6082ac4d0a7d76fc8aebb952394626 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | Remove qlowenergycontroller_p.cpp from macOS buildAlex Blasche2017-10-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | This file is not needed by macOS and in fact was never added to the build. Hence there is no need to attempt to remove it. Change-Id: Ibb32c8f3d163022e88de36de6ae99d89043b4a63 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-30121-302/+1459
| |\| | | | | | | | | | Change-Id: Iaa053dcb125490ee1e83d7e27cb75d4171297b9f
| | * winrt: Fix build using -no-pchOliver Wolff2017-10-255-0/+14
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-63210 Change-Id: I98637337d8a77c8847bd0f2c567fec5e6a4ace31 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Fix writing of NdefMessages on androidDaniel Engelke2017-10-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For writing messages another QAndroidJniObject was created, which however wasn't connected or validated in any way, so calling methods failed obviously. I removed said object and made use of the implemented class member m_tagTech, that is being validated and connected beforehand. Task-number: QTBUG-62858 Change-Id: I97c28f15cdaf5c0aa36423e7aba35408b49bde4e Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Lars Schmertmann <lars.schmertmann@governikus.de> Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
| | * Fix outdated BSD license headerKai Koehne2017-10-17113-297/+1427
| | | | | | | | | | | | | | | Change-Id: I28f5936913a6127806325df34af4bf71a142e72e Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Fix crash due to inconsistent state in QLEController during JobDisconnectDeviceAlex Blasche2017-10-172-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was caused by a problem in the patch for QTBUG-55150. While the termination of an ongoing BTLE connection is being processed, the QLEController instance is in Connecting state and the internal socket is still null. If the user triggers a call to QLEController::disconnectDevice() while the above state is pending, it crashes due to a call to the socket's close() function. The time window for this to happen is very small. It takes the duration of the bluez dbus call to disconnect a device. This patch addresses the above crash bug and adds a bit more debug output to catch similar cases later on. Task-number: QTBUG-63619 Change-Id: I893990a9ce8ccf55ddbf619fe177379f79dc9ee3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Convert most old-style QObject::connect() to pointer syntaxAlex Blasche2017-11-135-39/+60
| | | | | | | | | | | | | | | | | | | | | | | | The remaining cases (e.g. in QBluetoothServiceDiscoveryAgent) are connected to Q_PRIVATE_SLOT usage which requires a redesign. Change-Id: I9227b5459b81228a7aa2660193d5b984c036b74f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Use QStringLiteral where needed to avoid QString allocationsAlex Blasche2017-11-062-3/+3
| | | | | | | | | | | | | | | Change-Id: I9edc229e43f5e09ca45ede5032aacb4d54fa76af Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Do not return from void functions/expressionsAlex Blasche2017-11-062-2/+2
| | | | | | | | | | | | | | | | | | | | | This was pointed out by clazy. Change-Id: I6f888e2cd667c05d0f9747fd0b2ef2bcbfe95a28 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | | Normalize Q_ARG arguments (const modifier removed)Alex Blasche2017-11-032-18/+18
| | | | | | | | | | | | | | | Change-Id: Ia65a879221d565af9b89083c6145c097472567a5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge all QLEConrollerPrivate::addServiceHelper() implementationAlex Blasche2017-11-0311-180/+60
| | | | | | | | | | | | | | | Change-Id: Id346f2f98e63c5c7ea9e2cd3fb7e68e4573ac1e5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Consolidate the QLEControllerPrivate instanciationsAlex Blasche2017-11-031-49/+23
| | | | | | | | | | | | | | | | | | | | | This patch removes repeated code patterns. Change-Id: Ica931958b1d4072429ed197d5e44ad77670c3485 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Reorder the qlowenergycontroller_p.h includesAlex Blasche2017-11-035-35/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qlowenergycontroller_p.cpp and qlowenergycontroller_p.h are no longer universally included by all builds. The project includes the universal qlowenergycontroller* files across all platforms. To accomplish this the macOS/iOS specific QLowEnergyControllerPrivate interface moved to the common qlownergycontrollerbase_p.h. From this point onwards qlowenergycontroller_p.[cpp|h] contains the dummy backend only. Change-Id: If2893a32adfb14f47cf85622e943d5f683ad38da Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Various cleanups following the recent QLEControllerPrivate header splitsAlex Blasche2017-11-036-45/+5
| | | | | | | | | | | | | | | Change-Id: Ia98a7a16c3e1e478d1c6e30d9e70dc703c1fe091 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Unify meta type registration for QLEDescriptor and QLECharacteristicAlex Blasche2017-11-036-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The QLEControllerPrivate objects use the same function (apart from Apple platforms) and unit tests do not have to register those types at all anymore. Change-Id: I06a4a035f5a8fba9a146a3c05d1157b47c22e056 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Provide UWP specific header for QLEControllerPrivateAlex Blasche2017-11-038-60/+210
| | | | | | | | | | | | | | | Change-Id: Ic2ee2a76e2da4c236415f1eb3b98ab642ee3d1fc Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Provide own header for QLEControllerPrivate on AndroidAlex Blasche2017-11-038-85/+236
| | | | | | | | | | | | | | | Change-Id: I63d107092e3e404f6b2c38f28d5d9b286711db77 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Provide own header for QLowEnergyControllerPrivate instance on BluezAlex Blasche2017-11-0312-379/+636
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This utilizes the new QLowEnergyController interface and separates the existing Bluez implementation more clearly from other platforms. The existing addServiceHelper() class is moved out into the individual backends to avoid compiling the class into the new dbus backend. Change-Id: I1eea99e493958c61cb1fae830c08a3eb26bda9c3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Rename various QLEControllerPrivate classesAlex Blasche2017-11-0317-214/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The base class is renamed to QLEControllerPrivate and the existing QLEControllerPrivate becomes QLEControllerPrivateCommon. This is necessary to re-enable Q_DECLARE_PRIVATE. The macro uses by convention the "Private" class prefix which is currently broken because not every implementation uses QLEControllerPrivate as d-pointer type. This also avoids a SC/BC break in qlowenergycontroller.h as the d-pointer remains the same and the functions declared via Q_DECLARE_PRIVATE still return the same type. Change-Id: I84890b06280b2c473a4d370606d3bbc58a258eea Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Move common helper function from QLECPrivate to QLECPrivateBaseAlex Blasche2017-11-036-136/+128
| | | | | | | | | | | | | | | Change-Id: I5f126fabebf36b61a25e23ddc12c4dae21156cbc Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Introduce Base class for QLowEnergyControllerPrivateAlex Blasche2017-11-0316-157/+654
| | | | | | | | | | | | | | | | | | | | | | | | This permits alternative implementations selectable at runtime. Currently this is only used by Bluez. Change-Id: I3ddeb7f888f3b09bdc62f10d5b9a36320500f329 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Hook new gatt dbus classes into build systemAlex Blasche2017-11-022-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | In addition, we add exception rules for the missing "We mean it" header preamble. The headers are auto generated. Task-number: QTBUG-46819 Change-Id: Ia781e2b3af597518a345019d4e9e817471706652 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Run a general update of all dbus interface classesAlex Blasche2017-11-0232-186/+190
| | | | | | | | | | | | | | | | | | | | | | | | Mostly this permits the codebase to catchup with changes introduced by the qdbusxml2cpp tool. Change-Id: Ib16b70523b222c6babb3735f91b578e10c7542f3 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Setup GattService1, GattChar1 & GattDesc1 dbus interface classesAlex Blasche2017-11-027-0/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | The change adds the relevant xml raw description to the generation script and commits the generated dbus accessor classes. Task-number: QTBUG-46819 Change-Id: Ib5f7e15cef9e7225d33b7b4e43f085806a0fb1a4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Add DBus XML descriptions for Gatt interfacesAlex Blasche2017-11-023-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | GattService1, GattCharacteristic1 and GattDescriptor1 are relevant for central role use cases. Task-number: QTBUG-46819 Change-Id: I5ab12710880ec91565c2e5c510eb55dc3410a7ee Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | | Convert Q_ARG params to normalized formAlex Blasche2017-10-202-4/+4
| | | | | | | | | | | | | | | | | | | | | This was identified by clazy. Change-Id: If45c1c1898ee2dc4dd6274aa441b1c980a00686f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Add default assignment operator for QBluetoothUuidAlex Blasche2017-10-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | This was detected by clazy. Change-Id: I69c5a0921864b24dfdbf33fb54e8b85a7b600adb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | | Merge remote-tracking branch 'gerrit/5.10' into devAlex Blasche2017-10-1740-144/+321
|\| | | | | | | | | | | Change-Id: I3bf7130a204aebd6a52dfe68bfea57767ba1b70e
| * | Merge remote-tracking branch 'gerrit/5.9' into 5.10v5.10.0-beta3Alex Blasche2017-10-1740-144/+302
| |\| | | | | | | | | | Change-Id: I84bfe86751c27eabb4e75912ae3c0b4d3781faf1
| | * Fix outdated FDL license headerKai Koehne2017-10-1626-125/+125
| | | | | | | | | | | | | | | Change-Id: Ia26b0bf499f8a0b6040e82bc1d460bee688bfbf6 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * IOBluetooth: warn about incorrent thread/runloopTimur Pocheptsov2017-10-117-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IOBluetooth is heavily based on CFRunLoops. An attempt to use it on a thread, that does not properly run CFRunLoop results in callbacks never firing and thus QBluetooth classes never finishing their jobs, including: - device discovery - service discovery - RFCOMM/LCAP2 - Bluetooth server - Bluetooth socket etc. While we cannot fix the core problem until we have a properly working CoreFoundation event dispatcher, we can at least issue a warning so that people do not waste their time debugging this well-known limitation. Task-number: QTBUG-63630 Change-Id: Iefa4d675ea0962167bdfede640d2087dbdf37b18 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Replace mixing of const_iterator by for-eachAndré Klitzing2017-10-091-4/+2
| | | | | | | | | | | | | | | Change-Id: If828dce2dcd71f36c51216c2db4437683bc2a358 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Bump versionOswald Buddenhagen2017-10-061-1/+1
| | | | | | | | | | | | Change-Id: I4d9a49d6eb9e808504e9bdbf2b4d4f6aac74d25b
| | * Add changes file for Qt 5.9.2v5.9.2Alex Blasche2017-09-291-0/+75
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-62748 Change-Id: I3fcf2e254339a6c46dd1e11ceae69d5d4914345d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * CoreBluetooth - use the right enumerators/constants with SDK 10.13Timur Pocheptsov2017-09-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like it was done for central manager - use the correct enumerators (types) - with 10.13 SDK they also use 'generic' CBManagerXXX constants on macOS instead of CBCentral/PeripheralManagerXXX constants. Task-number: QTBUG-62658 Change-Id: I4b4de239930f5e731dc4977ff3353512290ff3b2 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * Enable macOS 10.13 in QtBluetoothAlex Blasche2017-08-312-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | A similar change was done earlier for iOS already. This is due to deprecated API. Task-number: QTBUG-62658 Change-Id: If1d4a0eae382e46e3224a6bd4a6e75309ff87cac Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * Add change file for Qt 5.6.3Alex Blasche2017-08-301-0/+47
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-62710 Change-Id: I2d1e23e0073d3ec1d2f86f48051e5c9f40ffb5ad Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * winrt: Make sure that "finished" is emitted for device discoveryOliver Wolff2017-08-181-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we do not scan for low energy devices, the timeout will never be triggered. In this case the discovery is finished as soon as every paired device has been handled by the worker. Change-Id: I59772e706ac0fbf62c560a54d650bef9815118b6 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | CoreBluetooth - fix compilation errors for 10.13 SDKv5.10.0-beta2v5.10.0-beta1Timur Pocheptsov2017-10-041-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple broke source code compatibility by moving 'identifier' properties from CBPeripheral and CBCentral classes into the new CBPeer class and marking it as "since 10.13". As a result we have compilation errors in the code that was valid since 10.7. To workaround this issue, we introduce a category with 'identifier' property declarations for SDK >= 10.13 and target < 10.13. Change-Id: Id7c9d33a9c8ae7627a06b4c1930e70cede1e5b07 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | | Replace Q_NULLPTR with nullptrKevin Funk2017-09-2932-86/+86
| | | | | | | | | | | | | | | Change-Id: Ica194c2568465a94d851ddeaf62ca71b33fe4464 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-227-32/+32
| | | | | | | | | | | | | | | | | | Change-Id: I1c1f2c3cf273cde5030d54901db554cb52e66557 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | | Android: remove support for local/debug deploymentJake Petroules2017-09-0610-47/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the pre-dexed JAR files activated by the absence of the bundled_jar_file CONFIG option, as versions of Android >= 5 no longer support this deployment mechanism. Now, the "bundled" JARs simply become normal JARs containing class files, and are neither activated by a bundled_jar_file CONFIG entry nor do they have a -bundled suffix in the file's base name. Task-number: QTBUG-62995 Change-Id: Ifc13542ff71844da7e80cefe9ff51e3d7cdfc830 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | | Bump versionFrederik Gladhorn2017-09-041-1/+1
| | | | | | | | | | | | Change-Id: Ibf5f6d6cdb53d318abeda62081c4d0b0c959e702
* | | Simplify system frameworks includesJake Petroules2017-09-041-15/+2
| | | | | | | | | | | | | | | | | | | | | | | | The previous version was doing exactly this, but in a far more complicated manner. Change-Id: Ia8f6a418a7fc6eab03207ced099288b8d4e5f3a7 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>