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.
| Constante | Valeur | Description |
|---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle | 0x0000 | Spécifie un enregistrement de service dont les attributs peuvent être extraits. |
QBluetoothServiceInfo::ServiceClassIds | 0x0001 | UUID 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::ServiceRecordState | 0x0002 | L'attribut change lorsqu'un autre attribut du service est ajouté, supprimé ou modifié. |
QBluetoothServiceInfo::ServiceId | 0x0003 | UUID qui identifie le service de manière unique. |
QBluetoothServiceInfo::ProtocolDescriptorList | 0x0004 | Liste des protocoles utilisés par le service. Les UUID des protocoles les plus courants sont définis dans le document suivant QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList | 0x0005 | Liste des groupes de navigation dans lesquels le service se trouve. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList | 0x0006 | Liste des ID d'attributs de la base linguistique pour prendre en charge les attributs lisibles par l'homme. |
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 est conforme. |
QBluetoothServiceInfo::DocumentationUrl | 0x000A | URL qui pointe vers la documentation sur le service. |
QBluetoothServiceInfo::ClientExecutableUrl | 0x000B | URL qui renvoie à l'emplacement d'une application qui peut être utilisée pour utiliser le service. |
QBluetoothServiceInfo::IconUrl | 0x000C | URL renvoyant à l'emplacement de l'icône représentant le service. |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList | 0x000D | Protocoles supplémentaires utilisés par le service. Cet attribut étend ProtocolDescriptorList. |
QBluetoothServiceInfo::PrimaryLanguageBase | 0x0100 | Index de base pour les descripteurs de texte en langue primaire. |
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é 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.
| 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 de socket directes sur Android. |
QBluetoothServiceInfo::RfcommProtocol | 2 | Le 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.