The count() methods on QByteArray and QString are deprecated. The ones
on other Qt containers will likely follow soon, so port them all to
size().
The changes which also require int -> qsizetype will come in a
follow-up patch.
Pick-to: 6.3
Change-Id: I23e364019b9cfc457d93f4a3bb4660fe8d790da8
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
The custom Info.plist is needed to run the tests on macOS 12+
If the bluetooth adapter is OFF (as it is in CI) the tests pass
fast. If the bluetooth adapter is ON there is one fail that will
be addressed with another task (QTBUG-98955).
In addition fixed one invokeMethod error which the testing revealed.
Pick-to: 6.2 6.3
Task-number: QTBUG-99222
Change-Id: Ia9fb10f0c3d00f5519fafc56234dcaacbb8013e8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
In the future, discoverDetails() should become optional.
The state of a QLowEnergyService after its creation should have
a name which does not imply it is not functional yet. This patch
changes the name of the initial state from "DiscoveryRequired"
to the neutral "RemoteService".
Task-number: QTBUG-75340
Change-Id: Ib407e60f5fc7264a04a124561dacbcebb01bf252
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Unit tests wait for BlueZ to come back after at most 20 seconds.
On Andreas' machine, BlueZ scans for about 25 seconds, causing
tests to fail. This patch increses the timeout to 26.5 seconds.
Change-Id: I4cabc6a20231cb7d148660b2d951ba77b32c0a2f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Currently, there is a name clash between the error getter and
the error signal. This leads to extensive use of qOverload or
similar. This patch renames all error signals to errorOccurred
to resolve this.
Task-number: QTBUG-62877
Change-Id: I615e2405f855433b6e142d820072c4d3f35ae28f
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
QBluetoothUuid contains enums for ProtocolUuid, ServiceClassUuid,
CharacteristicType and DescriptorType. So far, they all
put their constants directly into the QBluetoothUuid
namespace, making it easy to mix them up. This patch changes
those to scoped enums. That way, each enum has its items in
its own namespace.
Change-Id: I86ea08ff31009dc8073d84cfe678e27920d693f7
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
QLowEnergyController::createCentral() is the official API to do the same.
Change-Id: Idbd26d201b24add6697f6f9cdf1194511c160273
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
To avoid unnecessary copies, const is used wherever possible.
Change-Id: Ic743716512751cfd24fad5bd37c244b115dd26fe
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some
exceptions, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one
(in those files which will be under GPL 3 with exceptions)
Change-Id: I37338c968d8cb5a056cd42e1130cfa077b12d164
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Remove Q_ENUMS in favor of the new Q_ENUM macro which provides
registration as meta enum and a debug stream operator.
Register some enums via Q_ENUM to improve debug output
and types auto-registration.
Change-Id: I31c9535a2de7da1783b4ec967612c02a57cb62ff
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
QLEController(QBluetoothAddress) ctor is not usable on iOS and OSX.
On those platforms we have to use QLECOntroller(QBluetoothDeviceInfo).
We mark the QBluetoothAddress based ctors of QLEController obsolete
and remove most uses of them. This cleans up some ifdefs throughout
the QtBluetooth code base.
Change-Id: Ibe1e3fa271a29461e39fc3c0eeba7a910a250077
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Change-Id: I3822a6484e8f7a420330de1cb1aeb0c3d1cf41b7
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
Change-Id: I63a6d31aaa13bf94ef0cc9664dd365ddb1d84b52
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
The ControllerState and Error enums were recently registered declared
via Q_DECLARE_METATYPE. This fix removes the duplication and resulting
compile error.
Change-Id: I38233bc067f7d94fd0dbfefbf5a6a2b08d2c6a49
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
1.) Use updateValueOf*() where possible to channel all value changes
through the same gate.
2.) BTLE connects have a much larger timeout when the remote device is
not present. The device discovery could still turn up this device due
to existing pairing information.
3.) Remove obsolete write long characteristic TODO
Change-Id: I5b5815b0c3b99f8c4f87e0f1747ac6f1e274e592
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Services cannot always discovered via SDP. Therefore we can only run
a device discovery and let QLEController do the service discovery.
In addition we add the missing Connection Control service to
the QLEController unit test. This service was introduced by a firmware
update on the TI SensorTag.
Change-Id: I52f172c0c4968c393779cd42275c548998dde8ce
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Moves the new API into its place and completes the removal of the old
API.
Change-Id: I10a285e24e288aeb747cb1606574e27a4bf57308
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This new API is mostly syntactic sugar and reduces the amount of code
to be written by API users.
Change-Id: I51ff1ea706ac97199646d211e39e79c8140ee74b
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This change incorporates the change from QLECharacteristicInfo to
QLECharacteristic.
Change-Id: I0fc6d31b60975e3b0cccc7666df9c0555350f40f
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>