[Development] QLowEnergyController and obsolete ctor
Christian Kandeler
christian.kandeler at qt.io
Tue Aug 29 13:37:09 CEST 2017
On Tue, 29 Aug 2017 11:18:02 +0000
Alex Blasche <alexander.blasche at qt.io> wrote:
> Hi Martin,
>
> > -----Original Message-----
> > From: Development [mailto:development-
> > bounces+alexander.blasche=qt.io at qt-project.org] On Behalf Of Martin Koller
>
> > In Qt 5.9 I find that the following ctor is marked as obsolete:
> >
> > explicit QLowEnergyController(const QBluetoothAddress &remoteDevice,
> > const QBluetoothAddress &localDevice,
> > QObject *parent = Q_NULLPTR); // TODO Qt 6 remove ctor
> >
> > but there is no other way to create a QLowEnergyController which does not use
> > the local default adapter.
> >
> > How is this supposed to work ?
>
> The ctor still exists and works. You can use it for Bluetooth Central use cases. Having two local adapters is a very rare use case and only supported when using Bluez. That's why it has moved to obsolete. The fix would be to overload QLEController::createCentral(). Could you file a bug for it and assign it to me?
Real-world example use case: My laptop has a built-in Bluetooth controller that is not LE-capable. When I plug in a USB-based LE controller, it appears to be non-deterministic which of the two devices becomes the default one. So in order to do BLE stuff on that machine, I need to use that constructor.
Christian
More information about the Development
mailing list