| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Change-Id: Ibbdf40f5cf2bdb174e5a7d5efc90e880fc0b2edc
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I3ab1a8a474d33d3831e125e7f2760cc464c2437f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I73650a766eb667b254f32ddab7bcf26e7c42f847
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I0a35d5584c2c4364c6987d9add5e66f996647403
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I56f791fcfdbc60562c6a10b163f721da3a9d4386
|
| |\
| | |
| | |
| | | |
Change-Id: Ia3172f663412eb9df0b1c41fc114699813039c43
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ief783e899cde02ae033be8cd3af61ab5572d81a5
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-65801
Change-Id: I32be0262165d963ba5fb933c73414451431b2242
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the device does not give access to obtain the list of services, then
it should not throw an assert as the connection still succeeded, but
the device cannot be used.
Change-Id: I650eaba085f30c3cdc9980dd53de63482c7e7531
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In addition the patch adds a few improvements making the tests
somewhat more reliable.
1.) The 0x1800 BTLE Generic Access service is not exposed by
BlueZ's API. That's a deliberate decision by the devs. The patch
removes the service from the list of to-be-checked services.
2.) QTBUG-42519 is a limitation of the non-DBus BTLE implementation
and cannot be fixed. The new DBus API does permit concurrent
QLowEnergyController instances. However the instances share a platform
wide singleton which means that if one instance is connected
then the other instances connects as well. Other platforms
separate the connectivity between instances. Therefore
tst_concurrentDiscovery() has to offer three different behavior patterns
3.) Consecutive calls to writeDescriptor() in tst_readWriteDescriptor()
cause a crash of bluetoothd (version 5.47 or below) and a premature
disconnect from the BLE device in version BlueZ 5.48. To avoid the
problem qWait calls were introduced to delay the time between individual
calls.
4.) Improves the robustness of the tst_writeCharacteristicNoResponse()
test which relied on notifications being enabled for two of its
characteristics. So far the notifications for one characteristic were
enabled but not for the other. For some magical reason this happened to
be the case on all platforms but the new DBUS BTLE implementation.
5.) Swapped out some QVERIFY statements in favor of QCOMPARE. This
provides better error visibility when a test fails.
6.) The patch adds a time limitation of BTLE discovery which reduces
the time the entire test run takes. This is API that was recently added.
Change-Id: Ib633a87614af9cbccdb0253ba47fd059a2013358
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This feature depends on ClientCharacteristicConfiguration descriptor
types which determine whether changed signals are sent or not.
The patch also ensures that cached char values are not
updated/cached when the char is not readable.
Task-number: QTBUG-46819
Change-Id: I841bcaaca60c588eae7d4067b6ead6af28f957e3
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In addition there is a minor debug cleanup in the reading
of descriptor code.
Task-number: QTBUG-46819
Change-Id: I3f65c7d113b306b5b4892fa5df189476c06df0e9
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Read/write is limited to central role support. Peripheral role support
will follow at a later stage.
Task-number: QTBUG-46819
Change-Id: Idc27ea31cf0629470dc46490235c57f64b51498d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prior to this change passing a QBluetoothUuid::ServiceClassUuid to
connectToService() caused the port overload to be called rather than
the QBluetoothUuid version. This patch introduces a ServiceClassUuid
overload that avoids relying on implicit type conversion.
There is a remote chance that this patch breaks existing code if
the remote port was in the same range as the ServiceClassUuid range.
In general the Bluetooth ports are below 100 though.
Task-number: QTBUG-65831
Change-Id: I6574291ae6fee284466d84ecb91f21e3be89f6b2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I6e93fc7435a49b601a5c10519ed86d2a15125074
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
Change-Id: I6d2140aa8692bc7ce56f4366275fd02d008900f0
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I041606473b333500da29c821d7dc089313856f65
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Emitting just the signal does not change the error state. setError()
ensures that the error state/member and the error signal are emitted.
Change-Id: Idc044b8b97d4025b0f3a4d172c11c6b3a4e81ecb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As device discovery returns every paired device on winrt, it is possible
that we try to connect to a device, that is paired but not available.
When doing so the application should not crash but state that there
was an error connecting to the device.
Task-number: QTBUG-64480
Change-Id: I8d79f6da1de2b0bda7a51a7cfd068bb4a6057257
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As msvc2013 was dropped we can add the capabilities independent of the
msvc version for winrt.
Change-Id: I14aea0da9226a5de6ffa2cf7c69a4ae5a69e8256
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When an ATT READ_REQUEST times out the ATT stack stops spinning
the event queue. This is particularly bad during the initial
service discovery when a lot of read requests are scheduled in one
go. The consequence was that the QLEService instance
was stuck in the ServiceDiscovering state. Subsequently the service object
is unusable.
The patch ensures that the ATT event loop continues after the timeout
happens. If multiple char or descriptor reads (on the same service) have
this problem the service discovery can still take a very long time.
The user can adjust this via the BLUETOOTH_GATT_TIMEOUT env variable.
[ChangeLog][Platform Specific Behavior][BlueZ] Fixed hanging service
discovery state when remote device does not respond to ATT read requests.
Task-number: QTBUG-64669
Change-Id: I8d22c13b825a921b140213b8b67e59e2310c362c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some devices report access denied for various reasons (group policy,
disabled, etc.).
Hence, do return and stop the discovery instead of asserting.
Change-Id: I22fe9cc375fd3b3580deaf72c614bf62600cbf32
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-65547
Change-Id: I472b354621db89a921eec01b1459d46dbaa15ac0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I00ac4bbb56bd809784f94812221130365f06218d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This includes support for reading of characteristics and descriptors.
Task-number: QTBUG-46819
Change-Id: I8ac1ef3bcd5bc475941f1a9f889d0742eb8def35
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At the same time a typo in a comment is fixed.
Task-number: QTBUG-46819
Change-Id: Ic017df4d2d52cf0d226b6e083a9ec5f28657dee0
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The patch uses the Device1 DBus API to connect and disconnect to a remote
BTLE device. In addition, status and error condition tracking is added
to adapt to various error cases.
Task-number: QTBUG-46819
Change-Id: I0671df5596882c89aeead89c05ddcc855f8ba375
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch adds the ability to detect the underlying version of bluetoothd.
The bluetoothd version provides the means to decide whether the DBUS LE
API is sufficient to fullfil the QLEController requirements.
Bluez DBus LE API is usable since Bluez 5.42. Prior versions
only had experimental DBus LE APIs.
Task-number: QTBUG-46819
Change-Id: Ic047fba27c01ee40571abb0c4eb45828f4a64475
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/bluetooth/bluetooth.pro
Change-Id: Ibccccc974b545696ae053f1fbffcc973d8be43cc
|
| |\|
| | |
| | |
| | | |
Change-Id: I549972a6521a33a1c52fcbf0506a6aff502b364c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I69f37f9304f24709a823fffd14e676c097712329
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |\|
| | |
| | |
| | | |
Change-Id: Iaa053dcb125490ee1e83d7e27cb75d4171297b9f
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-63210
Change-Id: I98637337d8a77c8847bd0f2c567fec5e6a4ace31
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I28f5936913a6127806325df34af4bf71a142e72e
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|