[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