summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Update Bluetooth docs to mention Win32 backendwip/winAndre de la Rocha2019-08-173-7/+21
| | | | | | | | | This change updates the Bluetooth documentation to reflect the addition of the native Win32 backend. Task-number: QTBUG-40698 Change-Id: I8d2bc2146527a17f1f47fff541730b94f58286fb Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge "Merge remote-tracking branch 'origin/dev' into wip/win"Oliver Wolff2019-08-12126-4380/+14546
|\
| * Merge remote-tracking branch 'origin/dev' into wip/winOliver Wolff2019-08-07126-4380/+14546
|/| | | | | | | Change-Id: I83175151c0eef1a11d2f21648cc04c86e46777c1
| * Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-183-2/+4
| |\
| | * Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-183-2/+4
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/bluetooth/qlowenergycontroller_darwin.mm src/bluetooth/qbluetoothdevicediscoveryagent_ios.mm The latter was auto-resolved by keeping, but is in fact removed on dev, so reremoved. Change-Id: Ifa47f61836450d59ea8e47a92b84f57ab06863f7
| | | * Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-07-113-8/+8
| | | |\
| | | | * Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-07-113-8/+8
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I48ae70ffcb475ced4a05619310f496527cdd4166
| | | | | * Core/IO/Bluetooth - fix ambiguous conversionsTimur Pocheptsov2019-07-053-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... somewhat prospective fix (I do not have the new iOS yet), so far build never failed with my current SDK. Fixes: QTBUG-76847 Change-Id: Iab75c3cd47144cd83b679b1dbf82339e29c07bd1 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | | | * Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia7d6c7678e68e0ea5943d06fdfbb5a150a87c149
| | | * | | Doc: Replace example file lists with links to code.qt.ioTopi Reinio2019-07-092-0/+2
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-74391 Change-Id: I4e66d50a4b98a728956e351d1603e26933dd02c7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
| * | | | Mark the module free of Q_FOREACH, and QLinkedList, tooMarc Mutz2019-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib78a07e39387cfe5edd97015f1e9e3095c86d4fa Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | | Make qtconnectivity compile on RHEL 6.10Alex Blasche2019-07-161-0/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | htonl and htons cannot be found when compiling src/sdpscanner. This patch extends the bluez compile test such that the missing symbols are checked as well. As outcome RHEL 6.10 will have no bluez support and the dummy backend will be built. Fixes: QTBUG-74581 Change-Id: Ie71ed05d72f94e43630be41bc589de5f24fb2194 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | | Service discovery agent - remove the public API implementation (macOS)Timur Pocheptsov2019-07-156-402/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead, use the shared implementation (and the declaration from the *_p.h) Fixes: QTBUG-75348 Change-Id: Icbcbb752df1a9b8865ea4f4ef06f2b59dda577cd Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * | | QBluetoothServiceInfo - remove the code-duplicate (macOS)Timur Pocheptsov2019-07-154-321/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-75348 Change-Id: I5e2e08291cd17c1f1ef8639d422f4421520ed371 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | QBluetoothSocket - deduplicate the code (macOS)Timur Pocheptsov2019-07-1514-773/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the proper interface from QBluetoothSocketBasePrivate, remove a dummy base class. Remove all public API from qbluetoothsocket_osx.mm and re-use the code in qbluetoothsocket.cpp. The code generally is the same, a bit of re-hashin/deletion. Task-number: QTBUG-75348 Change-Id: I0034dfd283daf9d51775d8f9551b85d2d436aa85 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-07-112-0/+10612
| |\ \ \
| | * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-07-112-0/+10612
| |/| | | | | |/ / | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ic20d930b8efc843c39c6ab2af5848612d27fd661
| | * | Binary compatibility files for Qt5.13.0 for QtConnectivityMilla Pohjanheimo2019-07-042-0/+10612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary compatibility files added. Change-Id: I0e4d8f361769e9a7484fa0b61a70b63d0b5f86e1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | Bump versionFrederik Gladhorn2019-07-011-1/+1
| | | | | | | | | | | | | | | | Change-Id: Ibe7380268ccde015045aee61ba23b7569687d46d
| * | | LE/OSX: better use of recently introduced AuthorizationErrorKonstantin Ritt2019-07-081-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handle and GATT_INSUFFICIENT_AUTHENTICATION and GATT_INSUFFICIENT_ENCRYPTION statuses explicitly to close the established connection with AuthorizationError Change-Id: I6077d2b4e90daaac527fff7145bc71d7a4e032a3 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | LE/Android: better use of recently introduced AuthorizationErrorKonstantin Ritt2019-07-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when Android receives GATT_INSUFFICIENT_AUTHORIZATION or GATT_INSUFFICIENT_ENCRYPTION, it breaks connection with fair reason GATT_CONN_TERMINATE_LOCAL_HOST, which shadows the original GATT_INSUFFICIENT_ENCRYPTION from the user. As we didn't see Android closing connection with GATT_CONN_TERMINATE_LOCAL_HOST in cases other than described above, naively treat it like AuthorizationError Change-Id: I43a19c9eaf793a595765850938d757a09324a545 Reviewed-by: Evgeniy Gagarin <eeiaao@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | QLowEnergyController: Introduce AuthorizationErrorKonstantin Ritt2019-07-053-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | intended to distinguish an arbitrary disconnection from disconnection due to insufficient authorization/encryption Change-Id: Ifcf73d0444fe6fd3a8d5d90155f3db572d6e23d1 Reviewed-by: Evgeniy Gagarin <eeiaao@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | QBluetoothServer - cleanup and de-duplicate codeTimur Pocheptsov2019-07-058-315/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some code can be re-used from the shared public implementation. *_osx_p.h is not needed either. Task-number: QTBUG-75348 Change-Id: If373b74edebe9a9db90e820016cf779a1726baed Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-06-297-33/+150
| |\ \ \
| | * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-06-297-33/+150
| |/| | | | | |/ / | | | | | | | | Change-Id: I13eb1c8ad1e507e0dc2e70404fcf383dc2bacdd9
| | * | Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"Qt Forward Merge Bot2019-06-281-0/+39
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-06-271-0/+39
| | |/| | | | | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Idffd7323261ff89c9d7d69a33b88696c5e656015
| | | * Merge "Merge remote-tracking branch 'origin/5.12.4' into 5.12"Qt Forward Merge Bot2019-06-262-1/+40
| | | |\
| | | | * Merge remote-tracking branch 'origin/5.12.4' into 5.12Qt Forward Merge Bot2019-06-262-1/+40
| | | |/| | | | | | | | | | | | | | | | Change-Id: I38bcbad1bc8d0f03ba0ee3aa09f8c3e867dd6bca
| | | | * Add changes file for Qt 5.12.4v5.12.4Alex Blasche2019-06-061-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Icb632a9e34f7c507153291322edc6f5c008b7b21 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | | | * Bump versionFrederik Gladhorn2019-05-231-1/+1
| | | |/ | | | | | | | | | | | | Change-Id: I48c1d05ac0c9b231f7f1e077f3096274fe07435f
| | * | winrt: Add service thread loggingOliver Wolff2019-06-183-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can run into problems if the list of low energy services is changed from threads other than the main thread. Make it possible to log this information in order to debug these problems more easily. Task-number: QTBUG-75907 Change-Id: Icda8dff45b8c1a72291ade0b1d6f734ab485a241 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | winrt: Avoid threading issues when handling characteristic changesOliver Wolff2019-06-244-14/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As callbacks do not necessarily happen on Qt's main thread, it is possible that we access the service list while it is being changed if we access it from the callback directly. Doing this can cause application crashes. Thus we hand back the information about a changed characteristic to the main thread via signal/slot and handle it from the main thread. With QLowEnergyControllerPrivateWinRTNew having the Q_OBJECT macro, we can no longer use forward declares for the GATT classes as moc chokes on these. Thus an include is used. Fixes: QTBUG-75907 Change-Id: I063794eecf904921ff55fab76a5bdde3a9aebf44 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | qbluetoothsocket_winrt: Fix clang warningsOliver Wolff2019-06-181-18/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I71eafba9e7ff47dbfd89e3a650b83b55d1196693 Reviewed-by: André de la Rocha <andre.rocha@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Eradicate Java-style iterators and mark the module free of themMarc Mutz2019-06-187-35/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java-style iterators are scheduled for deprecation, or at the very least banned from use in Qt code. Change-Id: If50aade7e5a57f247ec8c0e77103dfd2d2160c3c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | Merge "Merge remote-tracking branch 'origin/5.13' into dev"Qt Forward Merge Bot2019-06-227-226/+626
| |\ \ \
| | * | | Merge remote-tracking branch 'origin/5.13' into devQt Forward Merge Bot2019-06-227-226/+626
| |/| | | | | |/ / | | | | | | | | Change-Id: Iad2cfc593f6a9d3b554a2d4f7c16d6173071f7c8
| | * | Merge "Merge remote-tracking branch 'origin/5.13.0' into 5.13"Qt Forward Merge Bot2019-06-201-0/+59
| | |\ \
| | | * | Merge remote-tracking branch 'origin/5.13.0' into 5.13Qt Forward Merge Bot2019-06-201-0/+59
| | |/| | | | | | | | | | | | | | | | | Change-Id: I5745baded59252fefc1ee56cf9a3b662e310ba58
| | | * | Add changes file for Qt 5.13.0v5.13.0-rc3v5.13.0-rc2v5.13.0-rc1v5.13.0-beta4v5.13.0Alex Blasche2019-05-071-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I9dae4c32cfe713c66a0fa9765357dc8162353caf Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| | * | | qlowenergycontroller_winrt_new_p.h: Use forward declarations instead of ↵Oliver Wolff2019-04-252-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | includes when possible Change-Id: Ic995631dfc15e34c7f2902bfa850c97671c52367 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | winrt: Try "connectToDevice" indefinitelyOliver Wolff2019-05-132-103/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | connectToDevice should not fail after a timeout, but try to connect to the device indefinitely. Unfortunately the behavior depends on the device's pairing status so two connectToDevice functions are needed. But the current implementations potentially wait indefinitely until the connection can be established. Change-Id: Iacb81e2c995974020b14d297528e54c326eb0453 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | qlowenergycontroller_winrt_new: Avoid late callbacks that lead to crashesOliver Wolff2019-04-252-83/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users may run into crashes on device disconnects in case that we run into a callback while the disconnects happen. Thus we have to avoid calling functions on deleted objects by avoiding lambdas if possible or using QPointers in lambda captures. Change-Id: Idcd3781bd396d4ef785191e4c65bae20e5149c04 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | qlowenergycontroller_winrt_new: Add registerStatusChanges and onStatusChange ↵Oliver Wolff2019-05-092-29/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions In preparation for following patches, functionality related to status changes was moved into dedicated functions. That makes code more readable and avoids late callbacks which can happen when lambdas are used. Change-Id: Ie699adef238013bb5391b57a1794e0b3d6bf8312 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | winrt: Add QBluetoothLocalDevice::pairingStatusOliver Wolff2019-06-182-3/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-62294 Change-Id: I61ee7dc30996c8e12c0fa75f7c85931a61c12554 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| | * | | Create qbluetoothlocaldevice_winrtOliver Wolff2019-06-184-15/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparation for the followup patches. Change-Id: I9b1f6c181adb847f6aafdaf60fcef7139a12b638 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | | tst_qlowenergycontroller: fix concurrent discovery testTimur Pocheptsov2019-06-171-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was not taking care of the CoreBluetooth's inability to work with addresses. Otherwise, the same code path as Android/WinRT must be used (two connections are possible). Fixes: QTBUG-76203 Change-Id: I523130b916f7e8163f2a4a23617a0076216add80 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | | Update Bluetooth examples for high-DPI displays and nullptrAndre de la Rocha2019-06-0616-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change sets the Qt::AA_EnableHighDpiScaling application attribute. It also uses nullptr to initialize pointers and adds a trivial optimization to the low energy scanner example. Change-Id: Ia923573ad78108a2a6a72be4c0948ea97a7ec094 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | | LE controller/service remove code duplication (Darwin)Timur Pocheptsov2019-06-1711-1052/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make our private controller class to inherit the shared base as other platforms do. Rename it into PrivateDarwin. Remove QLowEnergyController's code duplicate on Darwin. Get rid of Darwin's copy of QLowEnergyService. As a bonus, a number of bugs/inconsistencies were fixed in setting the state and not emitting stateChanged. Reduced the usage of 'isValid'. Task-number: QTBUG-75348 Change-Id: I77495870597b61fecae8bca1617590fd9ad2def4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * | | | De-duplicate device discovery code (Darwin)Timur Pocheptsov2019-06-1410-764/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - use the shared *._p.h file/class declaration for the private class - use the shared *.cpp with the public class implementation - get rid of *_ios.mm - iOS/tvOS/watchOS specific implementation and use the shared (by macOS, iOS, tvOS, watchOS) *_darwin.mm source. - get rid of somewhat weird 'isValid' in the private class, it is is not taken care of in the public API anyway and today its whole concept/usage looks (quite) buggy to me. I only have to check that the default controller is not nil and has the state 'ON'. Task-number: QTBUG-75348 Change-Id: I5383e4f8df02ac12f069c2f59e252cb8a200800b Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>