summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changes file for Qt 5.11.1v5.11.1Alex Blasche2018-06-091-0/+54
| | | | | Change-Id: Ieebe865e9d4eb9248c9686559c3686486729bbb4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Add binary compatibility files for Qt 5.11Milla Pohjanheimo2018-06-052-0/+9742
| | | | | | | Add files to test binary compatibility for QtConnectivity Change-Id: If3f921dd2a73f1f3b7fdbf8dc18e5322a03acbee Reviewed-by: Liang Qi <liang.qi@qt.io>
* LE controller (CoreBluetooth) - handle timeoutsTimur Pocheptsov2018-06-042-36/+199
| | | | | | | | | | | | | | | | | While we're discovering service's details (included services, characteristics, descriptors, etc.) some operations can result in timeout, without CoreBluetooth reporting any error back. To cope with this we need an additional logic - all such operations must be guarded with a 'watchdog' timer (OSXBTGCDTimer). Fortunately enough, we can re-use CBPeripheralDelegate's callbacks to handle these timeouts. As a micro-bonus - a couple of bugs in callbacks: whenever we are in service details discovery, after having some error we have to finish with discovery anyway, not to stick in 'discovering' state forever. Task-number: QTBUG-68422 Change-Id: I13a377ebec3983ac48a33d6b89b67223d5ec412f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Add changes file for Qt 5.9.6Antti Kokko2018-06-041-0/+24
| | | | | | | Change-Id: Ib91829d9b96aaefa06b0fae5730ce9d99699fbf1 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> (cherry picked from commit 513e69bd6aca390d7e6ef28d3527c24dee99ee2b) Reviewed-by: Antti Kokko <antti.kokko@qt.io>
* Add changes file for Qt 5.9.5Alex Blasche2018-06-041-0/+29
| | | | | | | Change-Id: Ie522ad947cf4a5657cfc95f82dc1b467eae954e1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> (cherry picked from commit 6d2e1761ebd62ef60c39af83b7ef88ac986b2d1e) Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Reimplement scan/manager state timeouts using GCD timerTimur Pocheptsov2018-05-313-99/+34
| | | | | | | | And remove some essentially duplicated code. Task-number: QTBUG-68422 Change-Id: I677581ebb0998d64a0081f568479efb7e8156474 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Bump versionOswald Buddenhagen2018-05-311-1/+1
| | | | Change-Id: Ie059fb032d764d744a3e9dad9edf04bce161223d
* Add G(rand)C(entral)D(ispatch) timeout handlerTimur Pocheptsov2018-05-313-1/+208
| | | | | | | | | | | | | | | | QtBluetooth is using its own dispatch queue in CoreBluetooth back-end - this is where CoreBluetooth is executing all callbacks we're providing in delegate classes. Some operations like service discovery/characteristic or descriptor read(s) amd write(s) e.t.c. may sometimes fail to finish - no value read, no error reported (so delegate's method - callback - is never called). To deal with this we introduce the class OSXBTGCDTimer and GCDTimerDelegate protocol; GCDTimer periodically inserts blocks into the serial LE queue and checks for timeouts upon their execution. Task-number: QTBUG-68422 Change-Id: Ic17bf91d4223ad1ffc7b9808da36c902a4158227 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Properly invalidate services when calling disconnectService() on BlueZAlex Blasche2018-05-293-7/+28
| | | | | | | | | | | | | | | | | While the central role implementation properly invalidates all the LowEnergyServicePrivate instances, peripheral mode was leaking service instances. This is triggered when the peripheral disconnects from a client or when the user calls disconnectService(). On the other hand stopAdvertising() does not do that. This patch fixes the service instance leak and ensures that the class docs specifically state the behavior difference between stopAdvertising() and disconnectService(). Change-Id: Ia52b141096dc1db3d0cefe3ed18c230eecccd9c0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Doc: Add license details to index page of Qt NFCKai Koehne2018-05-151-0/+9
| | | | | Change-Id: Iae1cde9f313d6d97858e2bf9de974b0e09bad1b4 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Merge remote-tracking branch 'origin/5.11.0' into 5.11Qt Forward Merge Bot2018-05-091-0/+79
|\ | | | | | | Change-Id: I80e9e41efaa101950f06380ae8f5a48af5861521
| * Add changes file for Qt 5.11.0v5.11.0-rc2v5.11.0-rc1v5.11.0Alex Blasche2018-04-241-0/+79
| | | | | | | | | | | | Change-Id: I88d23a426812c98628f94714e2394e07fe48c94f Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Make Adapter1.RemoveDevice() call asyncAlex Blasche2018-05-041-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | This function is called as part of QBluetoothLocalDevice::requestPairing(..., Unpaired). On heavy I/O systems this may be a rather slow function call. This patch ensures that the function is called asynchronously. Task-number: QTBUG-64735 Change-Id: I7e3b4ab3e9dca26a33af4d13bcc0ea64c44e1540 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Add missing emission of readChannelFinished()Alex Blasche2018-05-043-0/+6
| | | | | | | | | | | | | | | | | | This fixes the problem for all supported platforms. Task-number: QTBUG-67672 Change-Id: I9cecfbe8a73df46070293eba1870ea3bee738b7b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Fix crash when entries is empty (caused by disconnect somewhere else)Alex Blasche2018-04-301-12/+27
|/ | | | | | | | | | The patch fixes the obvious problem of the crash. The question is however what might have caused entries to be empty. The only theoretical explanation is the remote device being disconnected (which resets most internal data). Task-number: QTBUG-65826 Change-Id: I6b3509248f795d9cee5dcfe0c6e0caf06405b4e4 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* General QML version bump in docs and qmltypesAlex Blasche2018-04-194-4/+4
| | | | | Change-Id: If31e244e44106af1550e572acb9a172497467b20 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Android: Fix start/stop behavior of QLowEnergyController (peripheral)Alex Blasche2018-04-172-8/+29
| | | | | | | | | | | | | | | This patch addresses two bugs. Firstly it ensures that the correct Java function is executed when disconectFromDevice() is called on Android peripheral. Secondly, it turned out that calling disconnectFromDevice() while a connection to a central exists and restarting the advertisement resulted in a non-functional QLEController instance because BluetoothGattServer was not properly restarted. As a side effects the controller's state tracking stopped as well. Change-Id: I98851fc974ceff2a1fcb03fe754dbda9c4aba271 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* BlueZ: Ensure that QLEController::remoteName() has a valueAlex Blasche2018-04-171-2/+77
| | | | | | | | | | This fixes the problem for the custom GATT stack on Bluez4 and older Bluez5 versions (below 5.42). Task-number: QTBUG-67651 Change-Id: Ia3c64c06777c8d357f615d681838bcdc83b92236 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Android: Fix QLEController's remoteName() and remoteAddress()Alex Blasche2018-04-162-0/+15
| | | | | | | | The values were never obtained on the Java side. Task-number: QTBUG-67651 Change-Id: Ifceb124b07cf505c4e96fe7ba9d58364b3923c3a Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* BlueZ: Fix crash when discovering GATT service without readable itemsAlex Blasche2018-04-161-2/+6
| | | | | | | | | | The jobs list might be empty and calling last() causes an assert in QVector. This implies the current process under discovery does not have any descriptors or characteristics which are readable. In such cases no async read requests have to be put forward and the discovery is already done. Change-Id: I8417bfcd146866cb16c295c9e9d4890270574a56 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix missing includev5.11.0-beta4Alex Blasche2018-04-091-0/+1
| | | | | | | It caused problems for the code model Change-Id: I57978be203b24a44c67ce826ec9957755029cfd1 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Add missing headers while generating DBus interfacesLisandro Damián Nicanor Pérez Meyer2018-04-091-2/+2
| | | | | | | | | Make qdbusxml2cpp include bluez5_helper_p.h to make definitions available to device1_bluez5_p.h and objectmanager_p.h. Task-number: QTBUG-66936 Change-Id: If700aeba7c67c10030f3d0fe2ac4e6bc0aeca3ed Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Ensure that BTLE scan works if app has ACCESS_FINE_LOCATIONv5.11.0-beta3Alex Blasche2018-03-211-10/+20
| | | | | | | | | | | | BTLE scanning requires Android's ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION. The permission must be requested at runtime (assuming it was declared in the manifest file). So far, Qt only ever requested coarse location although FINE location is a perfectly OK substitute and the manifest may only declare FINE location. Task-number: QTBUG-66490 Change-Id: I4ce6a25735cb7cdf939f94f8fa545676d391ca2d Reviewed-by: Christian Stromme <christian.stromme@qt.io>
* Fix compiler warningAlex Blasche2018-03-211-0/+3
| | | | | | | | qlowenergycontroller.cpp:295:82: warning: unused parameter 'role' [-Wunused-parameter] static QLowEnergyControllerPrivate *privateController(QLowEnergyController::Role role) Change-Id: I4d3d2ad1e2dbabd0101efd6294a2481491587926 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix shadow warningAlex Blasche2018-03-212-3/+3
| | | | | | | | | qbluetoothsocket.h: In member function 'void QBluetoothSocket::connectToService( const QBluetoothAddress&, QBluetoothUuid::ServiceClassUuid, QIODevice::OpenMode)': qbluetoothsocket.h:111:5: error: declaration of 'openMode' shadows a member of 'this' [-Werror=shadow] Change-Id: Ib9478027799b287430721d99bebee4002a1e5896 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Enable new DBus LE backed for central role use casesv5.11.0-beta2Alex Blasche2018-03-082-9/+12
| | | | | | | | | | The manual override env variable was renamed. The new name is more fitting for the use case. Task-number: QTBUG-46819 Task-number: QTBUG-66908 Change-Id: I9202ebf3f847d5c7dcc9e3c84b060b35343dd2fd Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Android Qt NFC manager may not startAndrew O'Doherty2018-03-061-4/+4
| | | | | | | | | | | | | | | | qmetaobject.cpp:1483 (static bool QMetaObject::invokeMethod(QObject*, const char*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument)): QMetaObject::invokeMethod: No such method NearFieldTarget::ndefMessageRead(QNdefMessage&) Remove the reference symbols since Q_ARG data parameter is already treated as a Reference. Task-number: QTBUG-64415 Change-Id: I4eb83c34cfbc06ac85e5579c690c9562fbc82841 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Revamp Qt NFC examples: Fix qdoc WarningAndrew O'Doherty2018-03-061-1/+1
| | | | | | | | qdeclarativendeffilter.cpp:78: (qdoc) warning: Multiple topic commands found in comment: \qmlproperty and \enum. Task-number: QTBUG-60644 Change-Id: I57418d83a74234da6a64fa1b88a65dea1a4a5f2f Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Revamp Qt NFC examples: documentation updateAndrew O'Doherty2018-03-067-16/+86
| | | | | | | | | Update the documentation of the ndefeditor example Task-number: QTBUG-60644 Change-Id: Id74ee10565dd812fcf51db151f641549d3d60682 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Revamp Qt NFC examples: documentation updateAndrew O'Doherty2018-03-057-10/+147
| | | | | | | | Update the documentation of annotatedurl and corkboard examples Task-number: QTBUG-60644 Change-Id: Ide980dd2573e443bc54553cd2916ac6b209da2c9 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QLowEnergyDescriptor fix spelling in docsNikita Baryshnikov2018-03-051-2/+2
| | | | | | Change-Id: Ibbdf40f5cf2bdb174e5a7d5efc90e880fc0b2edc Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Reset mtu to default value after reconnectAlex Blasche2018-03-051-0/+1
| | | | | | | | | | | In theory each time a new connection is established, central and peripheral device should renegotiate the mtu. However this is not always happening which leads to wrong MTU assumptions. The most likely assumption is the default size of 23 bytes. Task-number: QTBUG-66056 Change-Id: I27d2cd89558b0c08925d31e2c7ed42ee45c303a4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* doc: State that QBluetoothLocalDevice is not supported on winrtOliver Wolff2018-03-011-1/+1
| | | | | | | | | | As the winrt backend is the only available Windows backend atm, it probably causes least confusion if we state that the class is not available when using Windows. Change-Id: Ide9a1ad799c1bc19f0d503ac78e9f6b32f44b574 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Clarify Bluetooth support on Win32 when WinRT API is availableAlex Blasche2018-03-011-1/+6
| | | | | Change-Id: I3ab1a8a474d33d3831e125e7f2760cc464c2437f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Properly close the bluetooth socketOliver Wolff2018-02-271-0/+9
| | | | | | | | | | | | | If I understand the documentation correctly, the socket's onCompleted callback should be called manually (with a proper status) before calling Close on its read operation (see https://docs.microsoft.com/en-us/uwp/api/windows.foundation.iasyncoperationwithprogress_tresult_tprogress_). Additionally all logic could be cut from the callback as soon as shutdown is initiated as we might run into dangling pointers otherwise. Change-Id: I3b7969f1aae16c453bc450b652746c8e21b2ef8f Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Remove not needed forward declarationv5.11.0-beta1Alex Blasche2018-02-221-1/+0
| | | | | Change-Id: I73650a766eb667b254f32ddab7bcf26e7c42f847 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Fix qdoc Warning QBluetoothLocalDeviceAlex Blasche2018-02-221-2/+2
| | | | | | | | qbluetoothlocaldevice.cpp:272: (qdoc) warning: Undocumented parameter 'confirmation' in QBluetoothLocalDevice::pairingConfirmation() qbluetoothlocaldevice.cpp:272: (qdoc) warning: No such parameter 'accept' in QBluetoothLocalDevice::pairingConfirmation() Change-Id: Ice53e3a965b2d38a2d81d9b1a77292bd43c93967 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-181-1/+1
|\ | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I5dcafa278c0c51bc3d540ab46320e5a21ef51115
| * Fix stalling at characteristics updating in Low Energy Scanner exampleDenis Shienkov2018-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The method device.connectToService() can be finished quickly and Device::characteristicsUpdated() can be triggered before than the Characteristics.qml page will be loaded. Therefore we will get stuck in "Scanning for characteristics..." state. So, we need to call the device.connectToService() after loading of the Characteristics.qml page. Change-Id: Ic5c790f6f8dbeeae1e368c8a1c8ad8fb12a57087 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
| * Bump versionOswald Buddenhagen2018-02-021-1/+1
| | | | | | | | Change-Id: I20893f8057bc1065957530fd1a1311a7b1879bed
* | Merge "Merge remote-tracking branch 'origin/5.10.1' into 5.11" into ↵v5.11.0-alpha1Liang Qi2018-02-141-0/+39
|\ \ | | | | | | | | | refs/staging/5.11
| * \ Merge remote-tracking branch 'origin/5.10.1' into 5.11Liang Qi2018-02-141-0/+39
| |\ \ | | | | | | | | | | | | Change-Id: I85c72a78661820786ee2f5bedd60361f66212e0e
| | * | Add changes file for Qt 5.10.1v5.10.1Alex Blasche2018-02-061-0/+39
| | | | | | | | | | | | | | | | | | | | Change-Id: Iade3422ae5acf099eb0b79e857e4c73d60651d37 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* | | | Fix typosJarek Kobus2018-02-142-2/+2
|/ / / | | | | | | | | | | | | Change-Id: I0a35d5584c2c4364c6987d9add5e66f996647403 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* | | Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-1219-157/+140
|\| | | | | | | | | | | Change-Id: I56f791fcfdbc60562c6a10b163f721da3a9d4386
| * | Merge remote-tracking branch 'origin/5.9' into 5.105.10Liang Qi2018-02-023-8/+23
| |\| | | | | | | | | | Change-Id: Ia3172f663412eb9df0b1c41fc114699813039c43
| | * Windows: Cancel and close the operation before deleting the SocketWorkerAndy Shaw2018-01-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since it is possible that after calling Cancel() on the IAsyncInfo that it will still call the Completed() callback, we need to ensure that it has a chance to process the pending events before it is deleted. Change-Id: I7d6fbb5bf6344098048b147c9d361c1fe7923b55 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * Initialize the discoveryAgent variable to 0Andy Shaw2018-01-242-0/+2
| | | | | | | | | | | | | | | Change-Id: Ief783e899cde02ae033be8cd3af61ab5572d81a5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| | * winrt: Finish classic BT device discovery if no device is foundOliver Wolff2018-01-191-8/+17
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-65801 Change-Id: I32be0262165d963ba5fb933c73414451431b2242 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
| * | Revamp Qt NFC examples: poster exampleAndrew O'Doherty2018-02-012-40/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Align QtNfc Module examples to QML and c++ coding conventions. This commit is focused on the poster example. Task-number: QTBUG-60644 Change-Id: Icd0990c24d2d0e79a67a1354d82a9f6c1bf59244 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>