QBluetoothServiceInfo Class
Die Klasse „QBluetoothServiceInfo“ ermöglicht den Zugriff auf die Attribute eines Bluetooth-Dienstes. Mehr...
| Header: | #include <QBluetoothServiceInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Bluetooth) target_link_libraries(mytarget PRIVATE Qt6::Bluetooth) |
| qmake: | QT += bluetooth |
Öffentliche Typen
| class | Alternative |
| class | Sequence |
| enum | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ProtocolDescriptorList, …, ServiceProvider } |
| enum | Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol } |
Öffentliche Funktionen
| 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) |
Ausführliche Beschreibung
QBluetoothServiceInfo liefert Informationen zu einem von einem Bluetooth-Gerät angebotenen Dienst. Darüber hinaus kann es verwendet werden, um neue Dienste auf dem lokalen Gerät zu registrieren. Beachten Sie, dass eine solche Registrierung nur Auswirkungen auf die Bluetooth-SDP-Einträge hat. Jeder Server, der auf eingehende Verbindungen wartet (z. B. ein RFCOMM-Server), muss gestartet sein, bevor ` registerService()` aufgerufen wird. Die Abmeldung muss in umgekehrter Reihenfolge erfolgen.
`QBluetoothServiceInfo` ist kein Werttyp im herkömmlichen Sinne. Alle Kopien desselben Service-Info-Objekts teilen sich dieselben Daten, da sie bei Änderungen nicht voneinander getrennt werden. Dadurch wird sichergestellt, dass zwei Kopien denselben Bluetooth-Dienst (de-)registrieren können.
Unter iOS kann diese Klasse nicht verwendet werden, da die Plattform keine API bereitstellt, die den Zugriff auf Funktionen im Zusammenhang mit `QBluetoothServiceInfo` ermöglichen würde.
Dokumentation zu den Mitgliedstypen
enum QBluetoothServiceInfo::AttributeId
Bluetooth-Dienstattribute. Eine ausführlichere Beschreibung dieser Attribute finden Sie in der Bluetooth-Kernspezifikation.
| Konstante | Wert | Beschreibung |
|---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle | 0x0000 | Gibt einen Dienstdatensatz an, aus dem Attribute abgerufen werden können. |
QBluetoothServiceInfo::ServiceClassIds | 0x0001 | UUIDs von Dienstklassen, denen der Dienst entspricht. Die gängigsten Dienstklassen sind unter (QBluetoothUuid::ServiceClassUuid) definiert. |
QBluetoothServiceInfo::ServiceRecordState | 0x0002 | Das Attribut ändert sich, wenn ein anderes Dienstattribut hinzugefügt, gelöscht oder geändert wird. |
QBluetoothServiceInfo::ServiceId | 0x0003 | UUID, die den Dienst eindeutig identifiziert. |
QBluetoothServiceInfo::ProtocolDescriptorList | 0x0004 | Liste der vom Dienst verwendeten Protokolle. Die gängigsten Protokoll-UUIDs sind definiert unter QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList | 0x0005 | Liste der Browse-Gruppen, zu denen der Dienst gehört. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList | 0x0006 | Liste der Sprachbasis-Attribut-IDs zur Unterstützung menschenlesbarer Attribute. |
QBluetoothServiceInfo::ServiceInfoTimeToLive | 0x0007 | Anzahl der Sekunden, für die der Dienstdatensatz voraussichtlich gültig und unverändert bleibt. |
QBluetoothServiceInfo::ServiceAvailability | 0x0008 | Wert, der die Verfügbarkeit des Dienstes angibt. |
QBluetoothServiceInfo::BluetoothProfileDescriptorList | 0x0009 | Liste der Profile, denen der Dienst entspricht. |
QBluetoothServiceInfo::DocumentationUrl | 0x000A | URL, die auf die Dokumentation zum Dienst verweist. |
QBluetoothServiceInfo::ClientExecutableUrl | 0x000B | URL, die auf den Speicherort einer Anwendung verweist, mit der der Dienst genutzt werden kann. |
QBluetoothServiceInfo::IconUrl | 0x000C | URL zum Speicherort des Symbols, das den Dienst darstellt. |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList | 0x000D | Zusätzliche Protokolle, die vom Dienst verwendet werden. Dieses Attribut erweitert „ ProtocolDescriptorList “. |
QBluetoothServiceInfo::PrimaryLanguageBase | 0x0100 | Basisindex für Textbeschreibungen in der Hauptsprache. |
QBluetoothServiceInfo::ServiceName | PrimaryLanguageBase + 0x0000 | Name des Bluetooth-Dienstes in der Hauptsprache. |
QBluetoothServiceInfo::ServiceDescription | PrimaryLanguageBase + 0x0001 | Beschreibung des Bluetooth-Dienstes in der Hauptsprache. |
QBluetoothServiceInfo::ServiceProvider | PrimaryLanguageBase + 0x0002 | Name des Unternehmens/der Organisation, das/die den Bluetooth-Dienst in der Hauptsprache bereitstellt. Hinweis: Unter Windows werden „ServiceClassIds“ und „ProtocolDescriptorList“ bei der Erstellung eines Dienstes automatisch auf Standardwerte gesetzt. Das manuelle Festlegen von Werten für diese Attribute funktioniert nicht und kann auf dieser Plattform zu unerwarteten Ergebnissen führen. |
enum QBluetoothServiceInfo::Protocol
Diese Enumeration beschreibt das vom Dienst verwendete Socket-Protokoll.
| Konstante | Wert | Beschreibung |
|---|---|---|
QBluetoothServiceInfo::UnknownProtocol | 0 | Der Dienst verwendet ein unbekanntes Socket-Protokoll. |
QBluetoothServiceInfo::L2capProtocol | 1 | Der Dienst verwendet das L2CAP-Socket-Protokoll. Dieses Protokoll wird für direkte Socket-Verbindungen unter Android nicht unterstützt. |
QBluetoothServiceInfo::RfcommProtocol | 2 | Der Dienst verwendet das RFCOMM-Socket-Protokoll. |
Dokumentation der Mitgliedsfunktionen
QBluetoothServiceInfo::QBluetoothServiceInfo()
Erstelle ein neues ungültiges „QBluetoothServiceInfo“-Objekt;
QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)
Erstellen Sie ein neues `QBluetoothServiceInfo`-Objekt, das eine Kopie von ` other` ist.
Die beiden Kopien nutzen weiterhin dieselben zugrunde liegenden Daten, die beim Schreiben nicht getrennt werden.
[noexcept] QBluetoothServiceInfo::~QBluetoothServiceInfo()
Löscht das „ QBluetoothServiceInfo “-Objekt.
QVariant QBluetoothServiceInfo::attribute(quint16 attributeId) const
Gibt den Wert des Attributs „ attributeId “ zurück.
Siehe auch ` setAttribute()`.
QList<quint16> QBluetoothServiceInfo::attributes() const
Gibt eine Liste aller Attribut-IDs zurück, über die das Objekt „ QBluetoothServiceInfo “ verfügt.
bool QBluetoothServiceInfo::contains(quint16 attributeId) const
Gibt „true“ zurück, wenn das Objekt „ QBluetoothServiceInfo “ das Attribut „ attributeId “ enthält; andernfalls wird „false“ zurückgegeben.
QBluetoothDeviceInfo QBluetoothServiceInfo::device() const
Gibt die Adresse des Bluetooth-Geräts zurück, das diesen Dienst bereitstellt.
Siehe auch „ setDevice()“.
bool QBluetoothServiceInfo::isComplete() const
Gibt „true“ zurück, wenn das „ QBluetoothServiceInfo “-Objekt als vollständig gilt, andernfalls „false“.
Ein vollständiges „ QBluetoothServiceInfo “-Objekt enthält ein „ ProtocolDescriptorList “-Attribut.
bool QBluetoothServiceInfo::isRegistered() const
Gibt „true“ zurück, wenn die Dienstinformationen bei der SDP-Implementierung (Service Discovery Protocol) der Plattform registriert sind; andernfalls wird „false“ zurückgegeben.
bool QBluetoothServiceInfo::isValid() const
Gibt „true“ zurück, wenn das „ QBluetoothServiceInfo “-Objekt gültig ist, andernfalls „false“.
Ein ungültiges ` QBluetoothServiceInfo `-Objekt besitzt keine Attribute.
QBluetoothServiceInfo::Sequence QBluetoothServiceInfo::protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const
Gibt die Protokollparameter als „ QBluetoothServiceInfo::Sequence “ für das Protokoll „ protocol “ zurück.
Wird protocol nicht unterstützt, wird ein leeres ` QBluetoothServiceInfo::Sequence ` zurückgegeben.
int QBluetoothServiceInfo::protocolServiceMultiplexer() const
Dies ist eine Hilfsfunktion. Gibt den Protokoll-/Dienst-Multiplexer für Dienste zurück, die das L2CAP-Protokoll unterstützen; andernfalls wird -1 zurückgegeben.
Diese Funktion entspricht dem Extrahieren der Informationen aus „ QBluetoothServiceInfo::Sequence “, die von „ QBluetoothServiceInfo::attribute “ (QBluetoothServiceInfo::ProtocolDescriptorList) zurückgegeben werden.
bool QBluetoothServiceInfo::registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress())
Registriert diesen Dienst bei der SDP-Implementierung (Service Discovery Protocol) der Plattform, sodass er von anderen Geräten bei der Dienstermittlung gefunden werden kann. Gibt „true“ zurück, wenn der Dienst erfolgreich registriert wurde, andernfalls „false“. Nach der Registrierung können keine Änderungen mehr am Datensatz vorgenommen werden. Der Dienst muss zunächst abgemeldet und anschließend mit den Änderungen erneut registriert werden.
Der Parameter „ localAdapter “ legt den lokalen Bluetooth-Adapter fest, unter dem der Dienst registriert werden soll. Wenn „ localAdapter “ auf „ null “ gesetzt ist, wird der Standard-Bluetooth-Adapter verwendet. Wenn dieses Dienstinfo-Objekt bereits über einen lokalen Adapter registriert ist und diese Funktion mit einem anderen lokalen Adapter aufgerufen wird, wird die vorherige Registrierung entfernt und der Dienst über den neuen Adapter neu registriert.
void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)
Entfernt das Attribut „ attributeId “ aus dem Objekt „ QBluetoothServiceInfo “.
Wenn die Serviceinformationen bereits in der SDP-Datenbank der Plattform registriert sind, wird der Datenbankeintrag erst aktualisiert, wenn „ registerService()“ erneut aufgerufen wird.
int QBluetoothServiceInfo::serverChannel() const
Dies ist eine Hilfsfunktion. Gibt den Serverkanal für Dienste zurück, die das RFCOMM-Protokoll unterstützen; andernfalls wird -1 zurückgegeben.
Diese Funktion entspricht dem Extrahieren der Informationen aus „ QBluetoothServiceInfo::Sequence “, die von „ QBluetoothServiceInfo::attribute “ (QBluetootherServiceInfo::ProtocolDescriptorList) zurückgegeben werden.
quint8 QBluetoothServiceInfo::serviceAvailability() const
Dies ist eine Hilfsfunktion. Sie entspricht dem Aufruf von `attribute(QBluetoothServiceInfo::ServiceAvailability).toUInt()`.
Gibt die Verfügbarkeit des Dienstes zurück.
Siehe auch „ setServiceAvailability()“ und „ attribute()“.
QList<QBluetoothUuid> QBluetoothServiceInfo::serviceClassUuids() const
Gibt eine Liste von UUIDs zurück, die die Dienstklassen beschreiben, denen dieser Dienst entspricht.
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von `attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>()` und der anschließenden Iteration über die Einträge von ` QBluetoothUuid `.
Siehe auch ` attribute()`.
QString QBluetoothServiceInfo::serviceDescription() const
Dies ist eine Hilfsfunktion. Sie entspricht dem Aufruf von `attribute(QBluetoothServiceInfo::ServiceDescription).toString()`.
Gibt die Dienstbeschreibung in der Hauptsprache zurück.
Siehe auch ` setServiceDescription()` und ` attribute()`.
QString QBluetoothServiceInfo::serviceName() const
Dies ist eine Hilfsfunktion. Sie entspricht dem Aufruf von attribute(QBluetoothServiceInfo::ServiceName).toString().
Gibt den Servicenamen in der Hauptsprache zurück.
Siehe auch ` setServiceName()` und ` attribute()`.
QString QBluetoothServiceInfo::serviceProvider() const
Dies ist eine Hilfsfunktion. Sie entspricht dem Aufruf von `attribute(QBluetoothServiceInfo::ServiceProvider).toString()`.
Gibt den Dienstanbieter in der Primärsprache zurück.
Siehe auch ` setServiceProvider()` und ` attribute()`.
QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von `attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>()`.
Gibt die benutzerdefinierte UUID des Dienstes zurück. Diese UUID kann null sein. UUIDs, die auf den Bluetooth-SIG-Standards basieren, sollten über ` serviceClassUuids()` abgerufen werden.
Siehe auch ` setServiceUuid()` und ` attribute()`.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value)
Dies ist eine Hilfsfunktion.
Setzt das durch „ attributeId “ identifizierte Attribut auf „ value “.
Sind die Serviceinformationen bereits in der SDP-Datenbank der Plattform registriert, wird der Datenbankeintrag erst aktualisiert, wenn registerService() erneut aufgerufen wird.
Siehe auch attribute().
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value)
Dies ist eine Komfortfunktion.
Setzt das durch ` attributeId ` identifizierte Attribut auf ` value`.
Wenn die Serviceinformationen bereits in der SDP-Datenbank der Plattform registriert sind, wird der Datenbankeintrag erst aktualisiert, wenn registerService() erneut aufgerufen wird.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothUuid &value)
Dies ist eine Hilfsfunktion.
Setzt das durch „ attributeId “ identifizierte Attribut auf „ value “.
Wenn die Serviceinformationen bereits in der SDP-Datenbank der Plattform registriert sind, wird der Datensatz erst aktualisiert, wenn registerService() erneut aufgerufen wird.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QVariant &value)
Setzt das durch attributeId identifizierte Attribut auf value.
Wenn die Dienstinformationen bereits in der SDP-Datenbank der Plattform registriert sind, wird der Datenbankeintrag erst aktualisiert, wenn registerService() erneut aufgerufen wird.
Hinweis: Wenn ein Attribut einen byte-kodierten Wert erwartet (z. B. bei Bluetooth-HID-Diensten), sollte es als „ QByteArray “ gesetzt werden.
Siehe auch isRegistered() und registerService().
void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)
Legt das Bluetooth-Gerät, das diesen Dienst bereitstellt, auf „ device “ fest.
Siehe auch ` device()`.
void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von ` setAttribute(QBluetoothServiceInfo::ServiceAvailability, availability)`.
Setzt die Verfügbarkeit des Dienstes auf „ availability “.
Siehe auch „ serviceAvailability()“ und „ setAttribute()“.
void QBluetoothServiceInfo::setServiceDescription(const QString &description)
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceDescription, description).
Setzt die Dienstbeschreibung in der Hauptsprache auf „ description “.
Siehe auch „ serviceDescription()“ und „ setAttribute()“.
void QBluetoothServiceInfo::setServiceName(const QString &name)
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von „ setAttribute “ (QBluetoothServiceInfo::ServiceName, name).
Setzt den Servicenamen in der Primärsprache auf „ name “.
Siehe auch „ serviceName()“ und „ setAttribute()“.
void QBluetoothServiceInfo::setServiceProvider(const QString &provider)
Dies ist eine Komfortfunktion. Sie entspricht dem Aufruf von ` setAttribute(QBluetoothServiceInfo::ServiceProvider, provider)`.
Setzt den Dienstanbieter in der Primärsprache auf „ provider “ fest.
Siehe auch serviceProvider() und setAttribute().
void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)
Dies ist eine Hilfsfunktion. Sie entspricht dem Aufruf von „ setAttribute “ (QBluetoothServiceInfo::ServiceId, uuid).
Setzt die benutzerdefinierte Dienst-UUID auf „ uuid “. Diese Funktion sollte nicht zum Festlegen einer standardisierten Dienst-UUID verwendet werden.
Siehe auch „ serviceUuid()“ und „ setAttribute()“.
QBluetoothServiceInfo::Protocol QBluetoothServiceInfo::socketProtocol() const
Gibt das Protokoll zurück, das das Objekt „ QBluetoothServiceInfo “ verwendet.
bool QBluetoothServiceInfo::unregisterService()
Hebt die Registrierung dieses Dienstes bei der SDP-Implementierung (Service Discovery Protocol) der Plattform auf. Danach ist der Dienst für andere Geräte über die Dienstermittlung nicht mehr auffindbar.
Gibt „true“ zurück, wenn der Dienst erfolgreich abgemeldet wurde, andernfalls „false“.
QBluetoothServiceInfo &QBluetoothServiceInfo::operator=(const QBluetoothServiceInfo &other)
Erstellt eine Kopie des Objekts „ other “ und weist sie diesem „ QBluetoothServiceInfo “-Objekt zu. Die beiden Kopien nutzen weiterhin dieselben Dienst- und Registrierungsdaten.
© 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.