QBluetoothServiceInfo Class
La classe QBluetoothServiceInfo permet d'accéder aux attributs d'un service Bluetooth. En savoir plus...
| En-tête : | #include <QBluetoothServiceInfo> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake : | QT += bluetooth |
Types publics
| class | Alternative |
| class | Sequence |
| enum | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ProtocolDescriptorList, …, ServiceProvider } |
| enum | Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol } |
Fonctions publiques
| QBluetoothServiceInfo() | |
| QBluetoothServiceInfo(const QBluetoothServiceInfo &other) | |
| ~QBluetoothServiceInfo() | |
| QVariant | attribute(quint16 attributeId) const |
| QList<quint16> | attributes() const |
| bool | contains(quint16 attributeId) const |
| QBluetoothDeviceInfo | device() const |
| bool | isComplete() const |
| bool | isRegistered() const |
| bool | isValid() const |
| QBluetoothServiceInfo::Sequence | protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const |
| int | protocolServiceMultiplexer() const |
| bool | registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress()) |
| void | removeAttribute(quint16 attributeId) |
| int | serverChannel() const |
| quint8 | serviceAvailability() const |
| QList<QBluetoothUuid> | serviceClassUuids() const |
| QString | serviceDescription() const |
| QString | serviceName() const |
| QString | serviceProvider() const |
| QBluetoothUuid | serviceUuid() const |
| void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value) |
| void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value) |
| void | setAttribute(quint16 attributeId, const QBluetoothUuid &value) |
| void | setAttribute(quint16 attributeId, const QVariant &value) |
| void | setDevice(const QBluetoothDeviceInfo &device) |
| void | setServiceAvailability(quint8 availability) |
| void | setServiceDescription(const QString &description) |
| void | setServiceName(const QString &name) |
| void | setServiceProvider(const QString &provider) |
| void | setServiceUuid(const QBluetoothUuid &uuid) |
| QBluetoothServiceInfo::Protocol | socketProtocol() const |
| bool | unregisterService() |
| QBluetoothServiceInfo & | operator=(const QBluetoothServiceInfo &other) |
Description détaillée
QBluetoothServiceInfo fournit des informations sur un service proposé par un périphérique Bluetooth. De plus, il peut être utilisé pour enregistrer de nouveaux services sur le périphérique local. Notez qu’un tel enregistrement n’affecte que les entrées SDP Bluetooth. Tout serveur à l'écoute de connexions entrantes (par exemple, un serveur RFCOMM) doit être lancé avant l'appel de la fonction registerService(). La désinscription doit s'effectuer dans l'ordre inverse.
QBluetoothServiceInfo n'est pas un type de valeur au sens traditionnel du terme. Toutes les copies d'un même objet d'informations de service partagent les mêmes données, car elles ne se dissocient pas lorsque celles-ci sont modifiées. Cela garantit que deux copies peuvent (dé)enregistrer le même service Bluetooth.
Sous iOS, cette classe ne peut pas être utilisée car la plateforme n’expose pas d’API permettant d’accéder aux fonctionnalités liées à QBluetoothServiceInfo.
Documentation sur les types de membres
enum QBluetoothServiceInfo::AttributeId
Attributs du service Bluetooth. Veuillez consulter la spécification de base Bluetooth pour obtenir une description plus détaillée de ces attributs.
| Constante | Valeur | Description |
|---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle | 0x0000 | Spécifie un enregistrement de service à partir duquel des attributs peuvent être récupérés. |
QBluetoothServiceInfo::ServiceClassIds | 0x0001 | UUID des classes de service auxquelles le service est conforme. Les classes de service les plus courantes sont définies dans (QBluetoothUuid::ServiceClassUuid) |
QBluetoothServiceInfo::ServiceRecordState | 0x0002 | Cet attribut change lorsqu'un autre attribut de service est ajouté, supprimé ou modifié. |
QBluetoothServiceInfo::ServiceId | 0x0003 | UUID identifiant de manière unique le service. |
QBluetoothServiceInfo::ProtocolDescriptorList | 0x0004 | Liste des protocoles utilisés par le service. Les UUID de protocole les plus courants sont définis dans QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList | 0x0005 | Liste des groupes de navigation auxquels appartient le service. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList | 0x0006 | Liste des identifiants d’attributs de base de langue permettant la prise en charge d’attributs lisibles par l’utilisateur. |
QBluetoothServiceInfo::ServiceInfoTimeToLive | 0x0007 | Nombre de secondes pendant lesquelles l’enregistrement du service est censé rester valide et inchangé. |
QBluetoothServiceInfo::ServiceAvailability | 0x0008 | Valeur indiquant la disponibilité du service. |
QBluetoothServiceInfo::BluetoothProfileDescriptorList | 0x0009 | Liste des profils auxquels le service se conforme. |
QBluetoothServiceInfo::DocumentationUrl | 0x000A | URL pointant vers la documentation relative au service. |
QBluetoothServiceInfo::ClientExecutableUrl | 0x000B | URL indiquant l’emplacement d’une application permettant d’utiliser le service. |
QBluetoothServiceInfo::IconUrl | 0x000C | URL menant à l'emplacement de l'icône représentant le service. |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList | 0x000D | Protocoles supplémentaires utilisés par le service. Cet attribut étend l'attribut « ProtocolDescriptorList ». |
QBluetoothServiceInfo::PrimaryLanguageBase | 0x0100 | Index de base pour les descripteurs de texte dans la langue principale. |
QBluetoothServiceInfo::ServiceName | PrimaryLanguageBase + 0x0000 | Nom du service Bluetooth dans la langue principale. |
QBluetoothServiceInfo::ServiceDescription | PrimaryLanguageBase + 0x0001 | Description du service Bluetooth dans la langue principale. |
QBluetoothServiceInfo::ServiceProvider | PrimaryLanguageBase + 0x0002 | Nom de la société / entité fournissant le service Bluetooth dans la langue principale. Remarque : sous Windows, les attributs `ServiceClassIds` et `ProtocolDescriptorList` sont automatiquement définis sur leurs valeurs par défaut lors de la création d'un service. La définition manuelle de valeurs pour ces attributs ne fonctionnera pas et pourrait entraîner des résultats inattendus sur cette plateforme. |
enum QBluetoothServiceInfo::Protocol
Cette énumération décrit le protocole de socket utilisé par le service.
| Constante | Valeur | Description |
|---|---|---|
QBluetoothServiceInfo::UnknownProtocol | 0 | Le service utilise un protocole de socket inconnu. |
QBluetoothServiceInfo::L2capProtocol | 1 | Le service utilise le protocole de socket L2CAP. Ce protocole n'est pas pris en charge pour les connexions directes par socket sur Android. |
QBluetoothServiceInfo::RfcommProtocol | 2 | Le service utilise le protocole de socket RFCOMM. |
Documentation des fonctions membres
QBluetoothServiceInfo::QBluetoothServiceInfo()
Créer un nouvel objet QBluetoothServiceInfo non valide ;
QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)
Créez un nouvel objet `QBluetoothServiceInfo` qui soit une copie de ` other`.
Les deux copies continuent de partager les mêmes données sous-jacentes, qui ne sont pas dissociées lors de l'écriture.
[noexcept] QBluetoothServiceInfo::~QBluetoothServiceInfo()
Supprime l’objet « QBluetoothServiceInfo ».
QVariant QBluetoothServiceInfo::attribute(quint16 attributeId) const
Renvoie la valeur de l'attribut « attributeId ».
Voir aussi setAttribute().
QList<quint16> QBluetoothServiceInfo::attributes() const
Renvoie une liste de tous les identifiants d'attributs associés à l'objet « QBluetoothServiceInfo ».
bool QBluetoothServiceInfo::contains(quint16 attributeId) const
Renvoie « true » si l'objet ` QBluetoothServiceInfo ` contient l'attribut ` attributeId` ; sinon, renvoie « false ».
QBluetoothDeviceInfo QBluetoothServiceInfo::device() const
Renvoie l'adresse du périphérique Bluetooth qui fournit ce service.
Voir également setDevice().
bool QBluetoothServiceInfo::isComplete() const
Renvoie « true » si l'objet ` QBluetoothServiceInfo ` est considéré comme complet, sinon renvoie « false ».
Un objet « QBluetoothServiceInfo » complet contient un attribut « ProtocolDescriptorList ».
bool QBluetoothServiceInfo::isRegistered() const
Renvoie « true » si les informations relatives au service sont enregistrées dans l'implémentation du protocole SDP (Service Discovery Protocol) de la plateforme ; sinon, renvoie « false ».
bool QBluetoothServiceInfo::isValid() const
Renvoie « true » si l'objet ` QBluetoothServiceInfo ` est valide, sinon renvoie « false ».
Un objet ` QBluetoothServiceInfo ` non valide ne comporte aucun attribut.
QBluetoothServiceInfo::Sequence QBluetoothServiceInfo::protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const
Renvoie les paramètres du protocole sous forme d'QBluetoothServiceInfo::Sequence pour le protocole protocol.
Un objet ` QBluetoothServiceInfo::Sequence ` vide est renvoyé si l'protocol n'est pas prise en charge.
int QBluetoothServiceInfo::protocolServiceMultiplexer() const
Il s'agit d'une fonction de commodité. Elle renvoie le multiplexeur de protocole/service pour les services prenant en charge le protocole L2CAP ; dans le cas contraire, elle renvoie -1.
Cette fonction équivaut à extraire les informations contenues dans ` QBluetoothServiceInfo::Sequence `, renvoyé par ` QBluetoothServiceInfo::attribute` (QBluetoothServiceInfo::ProtocolDescriptorList).
bool QBluetoothServiceInfo::registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress())
Enregistre ce service auprès de l'implémentation du protocole SDP (Service Discovery Protocol) de la plateforme, ce qui permet aux autres appareils de le détecter lorsqu'ils effectuent une recherche de services. Renvoie « true » si l'enregistrement du service a réussi, sinon renvoie « false ». Une fois le service enregistré, aucune modification ne peut être apportée à son enregistrement. Il faut d'abord désenregistrer le service, puis le réenregistrer avec les modifications.
Le paramètre « localAdapter » détermine l’adaptateur Bluetooth local sous lequel le service doit être enregistré. Si « localAdapter » est défini sur « null », l’adaptateur Bluetooth par défaut sera utilisé. Si cet objet d’informations de service est déjà enregistré via un adaptateur local et que cette fonction est appelée en utilisant un adaptateur local différent, l’enregistrement précédent est supprimé et le service est réenregistré à l’aide du nouvel adaptateur.
void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)
Supprime l'attribut « attributeId » de l'objet « QBluetoothServiceInfo ».
Si les informations relatives au service sont déjà enregistrées dans la base de données SDP de la plateforme, l'entrée de la base de données ne sera pas mise à jour tant que la méthode registerService() n'aura pas été appelée à nouveau.
int QBluetoothServiceInfo::serverChannel() const
Il s'agit d'une fonction d'aide. Elle renvoie le canal du serveur pour les services prenant en charge le protocole RFCOMM ; dans le cas contraire, elle renvoie -1.
Cette fonction équivaut à extraire les informations de ` QBluetoothServiceInfo::Sequence ` renvoyées par ` QBluetoothServiceInfo::attribute` (QBluetootherServiceInfo::ProtocolDescriptorList).
quint8 QBluetoothServiceInfo::serviceAvailability() const
Il s'agit d'une fonction de commodité. Elle équivaut à appeler `attribute(QBluetoothServiceInfo::ServiceAvailability).toUInt()`.
Renvoie l'état de disponibilité du service.
Voir également setServiceAvailability() et attribute().
QList<QBluetoothUuid> QBluetoothServiceInfo::serviceClassUuids() const
Renvoie une liste d'UUID décrivant les classes de service auxquelles ce service se conforme.
Il s'agit d'une fonction pratique. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() puis à parcourir ses entrées QBluetoothUuid.
Voir également attribute().
QString QBluetoothServiceInfo::serviceDescription() const
Il s'agit d'une fonction pratique. Elle équivaut à appeler `attribute(QBluetoothServiceInfo::ServiceDescription).toString()`.
Renvoie la description du service dans la langue principale.
Voir également setServiceDescription() et attribute().
QString QBluetoothServiceInfo::serviceName() const
Il s'agit d'une fonction de commodité. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceName).toString().
Renvoie le nom du service dans la langue principale.
Voir également setServiceName() et attribute().
QString QBluetoothServiceInfo::serviceProvider() const
Il s'agit d'une fonction de commodité. Elle équivaut à appeler `attribute(QBluetoothServiceInfo::ServiceProvider).toString()`.
Renvoie le fournisseur de services dans la langue principale.
Voir également setServiceProvider() et attribute().
QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const
Il s'agit d'une fonction pratique. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>().
Renvoie l'UUID personnalisé du service. Cet UUID peut être nul. Les UUID basés sur les normes Bluetooth SIG doivent être récupérés via serviceClassUuids().
Voir également setServiceUuid() et attribute().
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value)
Il s'agit d'une fonction pratique.
Elle permet de définir l’attribut identifié par ` attributeId ` sur ` value`.
Si les informations relatives au service sont déjà enregistrées dans la base de données SDP de la plateforme, l'entrée de la base de données ne sera pas mise à jour tant que la fonction registerService() n'aura pas été appelée à nouveau.
Voir également attribute().
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value)
Il s'agit d'une fonction pratique.
Elle permet de définir l'attribut identifié par ` attributeId ` sur ` value`.
Si les informations relatives au service sont déjà enregistrées dans la base de données SDP de la plateforme, l'entrée de la base de données ne sera pas mise à jour tant que la fonction registerService() n'aura pas été appelée à nouveau.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothUuid &value)
Il s'agit d'une fonction pratique.
Elle permet de définir l'attribut identifié par ` attributeId ` sur ` value`.
Si les informations relatives au service sont déjà enregistrées dans la base de données SDP de la plateforme, l'entrée de la base de données ne sera pas mise à jour tant que la fonction registerService() n'aura pas été appelée à nouveau.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QVariant &value)
Définit l'attribut identifié par attributeId sur value.
Si les informations relatives au service sont déjà enregistrées dans la base de données SDP de la plateforme, l'entrée de la base de données ne sera pas mise à jour tant que la fonction registerService() n'aura pas été appelée à nouveau.
Remarque : si un attribut attend une valeur codée en octets (par exemple, les services HID Bluetooth), il doit être défini sur QByteArray.
Voir également isRegistered() et registerService().
void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)
Définit le périphérique Bluetooth fournissant ce service sur device.
Voir également device().
void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)
Il s'agit d'une fonction pratique. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceAvailability, disponibilité).
Définit la disponibilité du service sur « availability ».
Voir également serviceAvailability() et setAttribute().
void QBluetoothServiceInfo::setServiceDescription(const QString &description)
Il s'agit d'une fonction de commodité. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceDescription, description).
Définit la description du service dans la langue principale sur « description ».
Voir également serviceDescription() et setAttribute().
void QBluetoothServiceInfo::setServiceName(const QString &name)
Il s'agit d'une fonction pratique. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceName, name).
Définit le nom du service dans la langue principale sur « name ».
Voir également serviceName() et setAttribute().
void QBluetoothServiceInfo::setServiceProvider(const QString &provider)
Il s'agit d'une fonction de commodité. Elle équivaut à appeler la méthode setAttribute(QBluetoothServiceInfo::ServiceProvider, provider).
Définit le fournisseur de services dans la langue principale sur provider.
Voir également serviceProvider() et setAttribute().
void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)
Il s'agit d'une fonction pratique. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceId, uuid).
Définit l'UUID du service personnalisé sur uuid. Cette fonction ne doit pas être utilisée pour définir un UUID de service normalisé.
Voir également serviceUuid() et setAttribute().
QBluetoothServiceInfo::Protocol QBluetoothServiceInfo::socketProtocol() const
Renvoie le protocole utilisé par l'objet ` QBluetoothServiceInfo `.
bool QBluetoothServiceInfo::unregisterService()
Désenregistre ce service auprès de l'implémentation du protocole SDP (Service Discovery Protocol) de la plateforme. À l'issue de cette opération, le service ne sera plus détectable par d'autres appareils via la découverte de services.
Renvoie « true » si le service a été désenregistré avec succès, sinon renvoie « false ».
QBluetoothServiceInfo &QBluetoothServiceInfo::operator=(const QBluetoothServiceInfo &other)
Crée une copie de l'objet ` other ` et l'attribue à cet objet ` QBluetoothServiceInfo `. Les deux copies continuent de partager les mêmes informations de service et d'enregistrement.
© 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.