QLowEnergyAdvertisingParameters Class

The QLowEnergyAdvertisingParameters class represents the parameters used for Bluetooth Low Energy advertising. More...

Header: #include <QLowEnergyAdvertisingParameters>
qmake: QT += bluetooth

Public Types

class AddressInfo
enum FilterPolicy { IgnoreWhiteList, UseWhiteListForScanning, UseWhiteListForConnecting, UseWhiteListForScanningAndConnecting }
enum Mode { AdvInd, AdvScanInd, AdvNonConnInd }

Public Functions

QLowEnergyAdvertisingParameters()
QLowEnergyAdvertisingParameters(const QLowEnergyAdvertisingParameters &other)
~QLowEnergyAdvertisingParameters()
QLowEnergyAdvertisingParameters::FilterPolicy filterPolicy() const
int maximumInterval() const
int minimumInterval() const
QLowEnergyAdvertisingParameters::Mode mode() const
void setInterval(quint16 minimum, quint16 maximum)
void setMode(QLowEnergyAdvertisingParameters::Mode mode)
void setWhiteList(const QList<QLowEnergyAdvertisingParameters::AddressInfo> &whiteList, QLowEnergyAdvertisingParameters::FilterPolicy policy)
void swap(QLowEnergyAdvertisingParameters &other)
QList<QLowEnergyAdvertisingParameters::AddressInfo> whiteList() const
QLowEnergyAdvertisingParameters &operator=(const QLowEnergyAdvertisingParameters &other)
bool operator!=(const QLowEnergyAdvertisingParameters &a, const QLowEnergyAdvertisingParameters &b)
bool operator==(const QLowEnergyAdvertisingParameters &a, const QLowEnergyAdvertisingParameters &b)

Detailed Description

When running the advertising procedure, a number of parameters can be configured, such as how fast to advertise or which clients, if any, can connect to the advertising device. These parameters are set via this class, and their values will be used when advertising is started by calling QLowEnergyController::startAdvertising().

See also QLowEnergyAdvertisingData and QLowEnergyController::startAdvertising().

Member Type Documentation

enum QLowEnergyAdvertisingParameters::FilterPolicy

Specifies the semantics of the white list.

ConstantValueDescription
QLowEnergyAdvertisingParameters::IgnoreWhiteList0x00The value of the white list is ignored, that is, no filtering takes place for either scan or connection requests when using undirected advertising.
QLowEnergyAdvertisingParameters::UseWhiteListForScanning0x01The white list is used when handling scan requests, but is ignored for connection requests.
QLowEnergyAdvertisingParameters::UseWhiteListForConnecting0x02The white list is used when handling connection requests, but is ignored for scan requests.
QLowEnergyAdvertisingParameters::UseWhiteListForScanningAndConnecting0x03The white list is used for both connection and scan requests.

See also QLowEnergyAdvertisingParameters::whiteList().

enum QLowEnergyAdvertisingParameters::Mode

Specifies in which way to advertise.

ConstantValueDescription
QLowEnergyAdvertisingParameters::AdvInd0x0For non-directed, connectable advertising. Advertising is not directed to one specific device and a device seeing the advertisement can connect to the advertising device or send scan requests.
QLowEnergyAdvertisingParameters::AdvScanInd0x2For non-directed, scannable advertising. Advertising is not directed to one specific device and a device seeing the advertisement can send a scan request to the advertising device, but cannot connect to it.
QLowEnergyAdvertisingParameters::AdvNonConnInd0x3For non-directed, non-connectable advertising. Advertising is not directed to one specific device. A device seeing the advertisement cannot connect to the advertising device, nor can it send a scan request. This mode thus implies pure broadcasting.

Member Function Documentation

QLowEnergyAdvertisingParameters::QLowEnergyAdvertisingParameters()

Constructs a new object of this class. All values are initialized to their defaults according to the Bluetooth Low Energy specification.

QLowEnergyAdvertisingParameters::QLowEnergyAdvertisingParameters(const QLowEnergyAdvertisingParameters &other)

Constructs a new object of this class that is a copy of other.

[noexcept] QLowEnergyAdvertisingParameters::~QLowEnergyAdvertisingParameters()

Destroys this object.

QLowEnergyAdvertisingParameters::FilterPolicy QLowEnergyAdvertisingParameters::filterPolicy() const

Returns the filter policy that determines how the white list is used. The default is QLowEnergyAdvertisingParameters::IgnoreWhiteList.

int QLowEnergyAdvertisingParameters::maximumInterval() const

Returns the maximum advertising interval in milliseconds. The default is 1280.

int QLowEnergyAdvertisingParameters::minimumInterval() const

Returns the minimum advertising interval in milliseconds. The default is 1280.

QLowEnergyAdvertisingParameters::Mode QLowEnergyAdvertisingParameters::mode() const

Returns the advertising mode. The default is QLowEnergyAdvertisingParameters::AdvInd.

See also setMode().

void QLowEnergyAdvertisingParameters::setInterval(quint16 minimum, quint16 maximum)

Sets the advertising interval. This is a range that gives the controller an upper and a lower bound for how often to send the advertising data. Both minimum and maximum are given in milliseconds. If maximum is smaller than minimum, it will be set to the value of minimum.

Note: There are limits for the minimum and maximum interval; the exact values depend on the mode. If they are exceeded, the lowest or highest possible value will be used, respectively.

Setting the advertising interval is supported on BlueZ DBus backend if its experimental status is changed in later versions of BlueZ (or run in experimental mode).

void QLowEnergyAdvertisingParameters::setMode(QLowEnergyAdvertisingParameters::Mode mode)

Sets the advertising mode to mode.

See also mode().

void QLowEnergyAdvertisingParameters::setWhiteList(const QList<QLowEnergyAdvertisingParameters::AddressInfo> &whiteList, QLowEnergyAdvertisingParameters::FilterPolicy policy)

Sets the white list that is potentially used for filtering scan and connection requests. The whiteList parameter is the list of addresses to use for filtering, and policy specifies how exactly to use whiteList.

Whitelists are not supported on the BlueZ DBus backend as they are not supported by BlueZ.

See also whiteList().

[noexcept] void QLowEnergyAdvertisingParameters::swap(QLowEnergyAdvertisingParameters &other)

Swaps this object with other.

QList<QLowEnergyAdvertisingParameters::AddressInfo> QLowEnergyAdvertisingParameters::whiteList() const

Returns the white list used for filtering scan and connection requests. By default, this list is empty.

See also setWhiteList().

QLowEnergyAdvertisingParameters &QLowEnergyAdvertisingParameters::operator=(const QLowEnergyAdvertisingParameters &other)

Makes this object a copy of other and returns the new value of this object.

Related Non-Members

bool operator!=(const QLowEnergyAdvertisingParameters &a, const QLowEnergyAdvertisingParameters &b)

Returns true if a and b are not equal with respect to their public state, otherwise returns false.

bool operator==(const QLowEnergyAdvertisingParameters &a, const QLowEnergyAdvertisingParameters &b)

Returns true if a and b are equal with respect to their public state, otherwise returns false.