Type: Technical task
Priority: P1: Critical
Fix Version/s: None
Component/s: Connectivity: Bluetooth
The following changes should be considered as part of the Qt 6 release.
- Remove qbluetoothglobal.h (deprecated by https://codereview.qt-project.org/#/c/203657/3)
- Review QLowEnergyController state machine - Reading all descriptors and characteristic as part of the service discovery is very inefficient. Especially when the user already knows the exact service & char uuids he desires to interact with). The API should be changed such that QLowEnergyController discoverServiceDetails() is no longer necessary.
- Add convenience function to enable/disable notifications per char and not having to know the details on how to write the ClientCharacteristicConfiguration descriptor
- Drop BlueZ 4 support
- Remove Custom GATT stack
- Investigate whether minimal Android version can be raised. This permits dropping of lots of reflection code which ensures that older Android version continue to work.
- Various API cleanups (see various TODO items in headers), e.g.:
- Remove QLEController remoteAddressType property (only required on Linux for Custom Gatt stack
- Remove QBluetoothDeviceDiscovery::inquiryType and all related functions and enums
- Replace QList against QVector in public API
- Move QBluetoothServiceInfo service registration related functions to QBluetoothServer