Sur cette page

QBluetoothServiceInfo Class

La classe QBluetoothServiceInfo permet d'accéder aux attributs d'un service Bluetooth. Plus d'informations...

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 offert par un appareil Bluetooth. En outre, il peut être utilisé pour enregistrer de nouveaux services sur l'appareil local. Il convient de noter qu'un tel enregistrement n'affecte que les entrées SDP Bluetooth. Tout serveur à l'écoute des connexions entrantes (par exemple un serveur RFCOMM) doit être démarré avant que registerService() ne soit appelé. Le désenregistrement doit se faire dans l'ordre inverse.

QBluetoothServiceInfo n'est pas un type de valeur au sens traditionnel. Toutes les copies d'un même objet d'information sur les services partagent les mêmes données, car elles ne se détachent pas lorsqu'elles sont modifiées. Cela garantit que deux copies peuvent (dés)enregistrer le même service Bluetooth.

Sur iOS, cette classe ne peut pas être utilisée car la plateforme n'expose pas d'API qui pourrait permettre l'accès aux fonctionnalités liées à QBluetoothServiceInfo.

Documentation des types de membres

enum QBluetoothServiceInfo::AttributeId

Attributs du service Bluetooth. Pour une description plus détaillée de ces attributs, veuillez consulter la spécification de base de Bluetooth.

ConstanteValeurDescription
QBluetoothServiceInfo::ServiceRecordHandle0x0000Spécifie un enregistrement de service dont les attributs peuvent être extraits.
QBluetoothServiceInfo::ServiceClassIds0x0001UUID des classes de service auxquelles le service est conforme. Les classes de service les plus courantes sont définies à l'adresse suivante : (QBluetoothUuid::ServiceClassUuid).
QBluetoothServiceInfo::ServiceRecordState0x0002L'attribut change lorsqu'un autre attribut du service est ajouté, supprimé ou modifié.
QBluetoothServiceInfo::ServiceId0x0003UUID qui identifie le service de manière unique.
QBluetoothServiceInfo::ProtocolDescriptorList0x0004Liste des protocoles utilisés par le service. Les UUID des protocoles les plus courants sont définis dans le document suivant QBluetoothUuid::ProtocolUuid
QBluetoothServiceInfo::BrowseGroupList0x0005Liste des groupes de navigation dans lesquels le service se trouve.
QBluetoothServiceInfo::LanguageBaseAttributeIdList0x0006Liste des ID d'attributs de la base linguistique pour prendre en charge les attributs lisibles par l'homme.
QBluetoothServiceInfo::ServiceInfoTimeToLive0x0007Nombre de secondes pendant lesquelles l'enregistrement du service est censé rester valide et inchangé.
QBluetoothServiceInfo::ServiceAvailability0x0008Valeur indiquant la disponibilité du service.
QBluetoothServiceInfo::BluetoothProfileDescriptorList0x0009Liste des profils auxquels le service est conforme.
QBluetoothServiceInfo::DocumentationUrl0x000AURL qui pointe vers la documentation sur le service.
QBluetoothServiceInfo::ClientExecutableUrl0x000BURL qui renvoie à l'emplacement d'une application qui peut être utilisée pour utiliser le service.
QBluetoothServiceInfo::IconUrl0x000CURL renvoyant à l'emplacement de l'icône représentant le service.
QBluetoothServiceInfo::AdditionalProtocolDescriptorList0x000DProtocoles supplémentaires utilisés par le service. Cet attribut étend ProtocolDescriptorList.
QBluetoothServiceInfo::PrimaryLanguageBase0x0100Index de base pour les descripteurs de texte en langue primaire.
QBluetoothServiceInfo::ServiceNamePrimaryLanguageBase + 0x0000Nom du service Bluetooth dans la langue principale.
QBluetoothServiceInfo::ServiceDescriptionPrimaryLanguageBase + 0x0001Description du service Bluetooth dans la langue principale.
QBluetoothServiceInfo::ServiceProviderPrimaryLanguageBase + 0x0002Nom de la société ou de l'entité qui fournit le service Bluetooth dans la langue principale.

Note : Sous Windows, ServiceClassIds et ProtocolDescriptorList sont automatiquement définis sur des valeurs par défaut lors de la création d'un service. La définition manuelle des valeurs de ces attributs ne fonctionnera pas et pourrait conduire à des résultats inattendus sur cette plate-forme.

enum QBluetoothServiceInfo::Protocol

Cette énumération décrit le protocole de socket utilisé par le service.

ConstanteValeurDescription
QBluetoothServiceInfo::UnknownProtocol0Le service utilise un protocole de socket inconnu.
QBluetoothServiceInfo::L2capProtocol1Le service utilise le protocole de socket L2CAP. Ce protocole n'est pas pris en charge pour les connexions de socket directes sur Android.
QBluetoothServiceInfo::RfcommProtocol2Le service utilise le protocole de socket RFCOMM.

Documentation des fonctions membres

QBluetoothServiceInfo::QBluetoothServiceInfo()

Construit un nouveau QBluetoothServiceInfo invalide ;

QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)

Construire un nouveau QBluetoothServiceInfo qui est une copie de other.

Les deux copies continuent à partager les mêmes données sous-jacentes qui ne se détachent pas lors de l'écriture.

[noexcept] QBluetoothServiceInfo::~QBluetoothServiceInfo()

Détruit 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 de l'objet QBluetoothServiceInfo.

bool QBluetoothServiceInfo::contains(quint16 attributeId) const

Retourne vrai si l'objet QBluetoothServiceInfo contient l'attribut attributeId, sinon retourne faux.

QBluetoothDeviceInfo QBluetoothServiceInfo::device() const

Renvoie l'adresse de l'appareil Bluetooth qui fournit ce service.

Voir aussi setDevice().

bool QBluetoothServiceInfo::isComplete() const

Renvoie un message vrai si l'objet QBluetoothServiceInfo est considéré comme complet, sinon il renvoie un message faux.

Un objet QBluetoothServiceInfo complet contient un attribut ProtocolDescriptorList.

bool QBluetoothServiceInfo::isRegistered() const

Renvoie un message vrai si les informations sur le service sont enregistrées auprès de l'implémentation du protocole de découverte de services (SDP) de la plate-forme, sinon il renvoie un message faux.

bool QBluetoothServiceInfo::isValid() const

Retourne true si l'objet QBluetoothServiceInfo est valide, sinon retourne false.

Un objet QBluetoothServiceInfo non valide n'aura pas d'attributs.

QBluetoothServiceInfo::Sequence QBluetoothServiceInfo::protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const

Renvoie les paramètres du protocole sous forme de QBluetoothServiceInfo::Sequence pour le protocole protocol.

Un QBluetoothServiceInfo::Sequence vide est renvoyé si protocol n'est pas pris en charge.

int QBluetoothServiceInfo::protocolServiceMultiplexer() const

Il s'agit d'une fonction de commodité. Renvoie le multiplexeur protocole/service pour les services qui prennent en charge le protocole L2CAP, sinon renvoie -1.

Cette fonction est équivalente à l'extraction des informations de QBluetoothServiceInfo::Sequence renvoyées par QBluetoothServiceInfo::attribute(QBluetoothServiceInfo::ProtocolDescriptorList).

bool QBluetoothServiceInfo::registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress())

Enregistre ce service auprès de l'implémentation du protocole de découverte de services (SDP) de la plateforme, ce qui permet aux autres appareils de le trouver lorsqu'ils effectuent la découverte de services. Retourne true si le service est enregistré avec succès, sinon retourne false. Une fois enregistré, il n'est plus possible de modifier l'enregistrement. Le service doit être désenregistré et réenregistré avec les modifications.

Le paramètre localAdapter détermine l'adaptateur Bluetooth local sous lequel le service doit être enregistré. Si localAdapter est null, l'adaptateur Bluetooth par défaut sera utilisé. Si cet objet d'information sur les services 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é en utilisant le nouvel adaptateur.

void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)

Supprime l'attribut attributeId de l'objet QBluetoothServiceInfo.

Si les informations sur le service sont déjà enregistrées dans la base de données SDP des plates-formes, l'entrée de la base de données ne sera pas mise à jour tant que registerService() n'aura pas été appelé à nouveau.

int QBluetoothServiceInfo::serverChannel() const

Il s'agit d'une fonction de commodité. Renvoie le canal du serveur pour les services qui prennent en charge le protocole RFCOMM, sinon elle renvoie -1.

Cette fonction équivaut à l'extraction des 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 la disponibilité du service.

Voir aussi 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 de commodité. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() et à itérer ensuite sur ses entrées QBluetoothUuid.

Voir également attribute().

QString QBluetoothServiceInfo::serviceDescription() const

Il s'agit d'une fonction de commodité. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceDescription).toString().

Renvoie la description du service dans la langue principale.

Voir aussi 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 aussi setServiceName() et attribute().

QString QBluetoothServiceInfo::serviceProvider() const

Il s'agit d'une fonction de commodité. Elle équivaut à appeler attribute(QBluetoothServiceInfo::ServiceProvider).toString().

Renvoie le nom du prestataire de services dans la langue principale.

Voir aussi setServiceProvider() et attribute().

QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const

Il s'agit d'une fonction de commodité. 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 de commodité.

Définit l'attribut identifié par attributeId à value.

Si les informations sur le service sont déjà enregistrées dans la base de données SDP de la plate-forme, l'entrée de la base de données ne sera pas mise à jour tant que registerService() n'aura pas été appelé à nouveau.

Voir aussi attribute().

void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value)

Il s'agit d'une fonction de commodité.

Définit l'attribut identifié par attributeId à value.

Si les informations sur le service sont déjà enregistrées dans la base de données SDP de la plate-forme, l'entrée de la base de données ne sera pas mise à jour tant que registerService() n'aura pas été appelé à nouveau.

void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothUuid &value)

Il s'agit d'une fonction de commodité.

Définit l'attribut identifié par attributeId à value.

Si les informations sur le service sont déjà enregistrées dans la base de données SDP de la plate-forme, l'entrée de la base de données ne sera pas mise à jour tant que registerService() n'aura pas été appelé à nouveau.

void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QVariant &value)

Définit l'attribut identifié par attributeId à value.

Si les informations sur le service sont déjà enregistrées dans la base de données SDP de la plate-forme, l'entrée de la base de données ne sera pas mise à jour tant que registerService() n'aura pas été appelé à nouveau.

Note : Si un attribut attend une valeur codée en octets (par exemple, les services HID Bluetooth), il doit être défini comme QByteArray.

Voir également isRegistered() et registerService().

void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)

Définit le périphérique Bluetooth qui fournit ce service à device.

Voir aussi device().

void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)

Il s'agit d'une fonction de commodité. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceAvailability, availability).

Fixe la disponibilité du service à availability.

Voir aussi 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 à description.

Voir aussi serviceDescription() et setAttribute().

void QBluetoothServiceInfo::setServiceName(const QString &name)

Il s'agit d'une fonction de commodité. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceName, name).

Définit le nom du service dans la langue principale à name.

Voir aussi serviceName() et setAttribute().

void QBluetoothServiceInfo::setServiceProvider(const QString &provider)

Il s'agit d'une fonction de commodité. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceProvider, provider).

Définit le fournisseur de services dans la langue principale à provider.

Voir aussi serviceProvider() et setAttribute().

void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)

Il s'agit d'une fonction de commodité. Elle équivaut à appeler setAttribute(QBluetoothServiceInfo::ServiceId, uuid).

Définit l'UUID du service personnalisé à uuid. Cette fonction ne doit pas être utilisée pour définir l'UUID d'un service standardisé.

Voir aussi 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 de découverte de services (SDP) de la plateforme. Après cela, le service ne pourra plus être trouvé par d'autres dispositifs par le biais de la découverte de services.

Retourne true si le service est désenregistré avec succès, sinon retourne false.

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

Fait une copie de l'objet other et l'attribue à l'objet QBluetoothServiceInfo. Les deux copies continuent à partager le même service et les mêmes détails 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.