QLowEnergyAdvertisingData Class
La classe QLowEnergyAdvertisingData représente les données à diffuser lors d'une annonce Bluetooth Low Energy. En savoir plus...
| En-tête : | #include <QLowEnergyAdvertisingData> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake : | QT += bluetooth |
- Liste de tous les membres, y compris les membres hérités
- QLowEnergyAdvertisingData fait partie des classes à partage implicite.
Types publics
| enum | Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral } |
Fonctions publiques
| QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other) | |
| ~QLowEnergyAdvertisingData() | |
| QLowEnergyAdvertisingData::Discoverability | discoverability() const |
| bool | includePowerLevel() const |
| QString | localName() const |
| QByteArray | manufacturerData() const |
| quint16 | manufacturerId() const |
| QByteArray | rawData() const |
| QList<QBluetoothUuid> | services() const |
| void | setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode) |
| void | setIncludePowerLevel(bool doInclude) |
| void | setLocalName(const QString &name) |
| void | setManufacturerData(quint16 id, const QByteArray &data) |
| void | setRawData(const QByteArray &data) |
| void | setServices(const QList<QBluetoothUuid> &services) |
| void | swap(QLowEnergyAdvertisingData &other) |
| QLowEnergyAdvertisingData & | operator=(const QLowEnergyAdvertisingData &other) |
Membres publics statiques
| quint16 | invalidManufacturerId() |
Éléments non-membres associés
| bool | operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
| bool | operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
Description détaillée
Ces données peuvent inclure le nom de l'appareil, les services GATT proposés par celui-ci, etc. Les données définies via cette classe seront utilisées lorsque la diffusion sera lancée par l'appel de la méthode ` QLowEnergyController::startAdvertising()`. Les objets de cette classe peuvent représenter un paquet de données de diffusion ou un paquet de réponse à un balayage.
Contraintes relatives aux données de diffusion
La longueur maximale des données de diffusion dépend de l’appareil Bluetooth et de la pile Bluetooth de la plateforme. Pour une compatibilité optimale, il est recommandé de limiter la taille des données de diffusion à la limite de diffusion héritée de 31 octets.
Si les données à longueur variable définies via cette classe dépassent la limite prise en charge, le comportement dépendra de l’implémentation de la pile Bluetooth sous-jacente. Les cas les plus courants sont les suivants :
- les données supplémentaires peuvent être tronquées ou entièrement omises ;
- la diffusion ne parvient pas à démarrer.
Par exemple, sous Android, la diffusion d’annonces échouera si les données publicitaires dépassent 31 octets. Sur le backend BlueZ DBus, la limite de longueur des données publicitaires et le comportement en cas de dépassement dépendent de BlueZ ; celui-ci peut, par exemple, prendre en charge les annonces étendues, ou ne pas parvenir à lancer la diffusion d’annonces.
Voir également QLowEnergyAdvertisingParameters et QLowEnergyController::startAdvertising().
Documentation sur les types de membres
enum QLowEnergyAdvertisingData::Discoverability
La détectabilité du dispositif publicitaire telle que définie par le profil d'accès générique.
| Constante | Valeur | Description |
|---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | Le dispositif émetteur ne souhaite pas être détectable par les dispositifs de balayage. |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | Le dispositif émetteur souhaite être détectable avec une priorité élevée. Notez que ce mode n’est pas compatible avec l’utilisation d’une liste blanche. La valeur de ` QLowEnergyAdvertisingParameters::filterPolicy()` est toujours supposée être ` QLowEnergyAdvertisingParameters::IgnoreWhiteList ` lorsque la détectabilité limitée est utilisée. |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | Le périphérique émetteur souhaite être détectable par les périphériques de balayage. |
Documentation des fonctions membres
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
Crée un nouvel objet de cette classe. Toutes les valeurs sont initialisées à leurs valeurs par défaut, conformément à la spécification Bluetooth Low Energy.
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
Crée un nouvel objet de cette classe qui est une copie de other.
[noexcept] QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()
Détruit cet objet.
QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const
Renvoie le mode de détection du dispositif publicitaire. La valeur par défaut est « DiscoverabilityNone ».
Voir également setDiscoverability().
bool QLowEnergyAdvertisingData::includePowerLevel() const
Indique s'il faut inclure le niveau de puissance d'émission de l'appareil dans les données de diffusion. La valeur par défaut est « false ».
Voir également setIncludePowerLevel().
[static] quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
Renvoie un identifiant de fabricant non valide. Si cette valeur est définie comme identifiant de fabricant (ce qui est le cas par défaut), aucune donnée relative au fabricant ne figurera dans les données publicitaires.
QString QLowEnergyAdvertisingData::localName() const
Renvoie le nom du périphérique local devant être annoncé.
Voir également setLocalName().
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
Renvoie les données du fabricant. La valeur par défaut est un tableau d'octets vide.
Voir également ` setManufacturerData()`.
quint16 QLowEnergyAdvertisingData::manufacturerId() const
Renvoie l'identifiant du fabricant. La valeur par défaut est « QLowEnergyAdvertisingData::invalidManufacturerId » (), ce qui signifie que les données ne seront pas diffusées.
QByteArray QLowEnergyAdvertisingData::rawData() const
Renvoie les données brutes fournies par l'utilisateur à diffuser. La valeur par défaut est un tableau d'octets vide.
Voir également setRawData().
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
Renvoie la liste des UUID de service à publier. Par défaut, cette liste est vide.
Voir également setServices().
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
Définit le type de détection du dispositif publicitaire sur « mode ».
Remarque : les informationsde détectabilité ne peuvent apparaître que dans un paquet de données publicitaires réel. Si cet objet sert de données de réponse à un scan, l'appel de cette fonction n'aura aucun effet sur la réponse au scan envoyée.
Voir également discoverability().
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
Indique s'il faut inclure le niveau de puissance d'émission de l'appareil dans les données de diffusion. Si doInclude a la valeur true, ces données seront incluses ; dans le cas contraire, elles ne le seront pas.
Voir également includePowerLevel().
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
Spécifie que « name » doit être diffusé comme nom de l'appareil. Si le nom complet ne tient pas dans le paquet de données de publicité, un nom abrégé est envoyé, conformément à la spécification Bluetooth Low Energy.
Sous Android, le nom local ne peut pas être modifié. Android utilise toujours le nom du périphérique. Si ce nom local n’est pas vide, l’implémentation Android inclut le nom du périphérique dans le paquet de publicité ; dans le cas contraire, le nom du périphérique est omis du paquet de publicité.
Voir également localName().
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
Définit l'identifiant du fabricant et les données. Le paramètre « id » correspond à l'identifiant de l'entreprise attribué par le Bluetooth SIG. Le paramètre « data » est une valeur arbitraire.
Remarque : macOS et iOS ne prennent pas en charge la diffusion de l’identifiant du fabricant ni des données ; les paramètres fournis seront donc ignorés sur ces plateformes.
Voir également manufacturerData().
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
Définit les données à diffuser vers data. Si la valeur n'est pas un tableau d'octets vide, elle sera envoyée telle quelle en tant que données de diffusion et toutes les autres données de cet objet seront ignorées. Cette fonction peut être utilisée pour envoyer des données non standard.
Remarque : si data dépasse 31 octets, il sera tronqué. Il incombe à l’appelant de s’assurer que data est correctement formé.
La définition de données de publicité brutes n’est prise en charge que sur le backend API du noyau Bluetooth sous Linux. Les autres backends ne permettent pas de spécifier les données de publicité brutes en tant que champ global.
Voir également rawData().
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
Indique que les UUID de service figurant dans services doivent être diffusés. Si la liste complète ne tient pas dans le paquet, une liste incomplète est envoyée, conformément à la spécification Bluetooth Low Energy.
Voir également services().
[noexcept] void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
Permute cet objet avec other.
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
Fait de cet objet une copie de other et renvoie la nouvelle valeur de cet objet.
Éléments non membres associés
bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
Renvoie « true » si « data1 » et « data2 » ne sont pas égaux au niveau de leur état public ; sinon, renvoie « false ».
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
Renvoie « true » si « data1 » et « data2 » sont égales au niveau de leur état public ; sinon, renvoie « false ».
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.