QBluetoothServiceInfo Class

Die Klasse QBluetoothServiceInfo ermöglicht den Zugriff auf die Attribute eines Bluetooth-Dienstes. Mehr...

Header: #include <QBluetoothServiceInfo>
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)

Detaillierte Beschreibung

QBluetoothServiceInfo liefert Informationen über einen 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 die Bluetooth-SDP-Einträge betrifft. Jeder Server, der auf eingehende Verbindungen wartet (z. B. ein RFCOMM-Server), muss gestartet werden, bevor registerService() aufgerufen wird. Die Deregistrierung muss in umgekehrter Reihenfolge erfolgen.

QBluetoothServiceInfo ist kein Wertetyp im herkömmlichen Sinne. Alle Kopien desselben Service-Info-Objekts teilen sich dieselben Daten, da sie sich beim Ändern nicht trennen. 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 QBluetoothServiceInfo-bezogene Funktionen ermöglicht.

Dokumentation der Mitgliedstypen

enum QBluetoothServiceInfo::AttributeId

Bluetooth-Dienstattribute. Eine genauere Beschreibung dieser Attribute finden Sie in der Bluetooth Core Specification.

KonstanteWertBeschreibung
QBluetoothServiceInfo::ServiceRecordHandle0x0000Gibt einen Diensteintrag an, aus dem Attribute abgerufen werden können.
QBluetoothServiceInfo::ServiceClassIds0x0001UUIDs von Dienstklassen, denen der Dienst entspricht. Die gängigsten Dienstklassen sind in (QBluetoothUuid::ServiceClassUuid) definiert.
QBluetoothServiceInfo::ServiceRecordState0x0002Das Attribut ändert sich, wenn ein anderes Dienstattribut hinzugefügt, gelöscht oder geändert wird.
QBluetoothServiceInfo::ServiceId0x0003UUID zur eindeutigen Identifizierung des Dienstes.
QBluetoothServiceInfo::ProtocolDescriptorList0x0004Liste der vom Dienst verwendeten Protokolle. Die gebräuchlichsten Protokoll-UUIDs sind definiert in QBluetoothUuid::ProtocolUuid
QBluetoothServiceInfo::BrowseGroupList0x0005Liste der Browse-Gruppen, in denen sich der Dienst befindet.
QBluetoothServiceInfo::LanguageBaseAttributeIdList0x0006Liste der Sprachbasis-Attribut-IDs zur Unterstützung von menschenlesbaren Attributen.
QBluetoothServiceInfo::ServiceInfoTimeToLive0x0007Anzahl der Sekunden, für die der Datensatz des Dienstes voraussichtlich gültig und unverändert bleiben wird.
QBluetoothServiceInfo::ServiceAvailability0x0008Wert, der die Verfügbarkeit des Dienstes angibt.
QBluetoothServiceInfo::BluetoothProfileDescriptorList0x0009Liste der Profile, mit denen der Dienst konform ist.
QBluetoothServiceInfo::DocumentationUrl0x000AURL, die auf die Dokumentation des Dienstes verweist.
QBluetoothServiceInfo::ClientExecutableUrl0x000BURL, die auf den Ort einer Anwendung verweist, die zur Nutzung des Dienstes verwendet werden kann.
QBluetoothServiceInfo::IconUrl0x000CURL, die auf den Ort des Symbols verweist, das den Dienst darstellt.
QBluetoothServiceInfo::AdditionalProtocolDescriptorList0x000DZusätzliche Protokolle, die von dem Dienst verwendet werden. Dieses Attribut erweitert ProtocolDescriptorList.
QBluetoothServiceInfo::PrimaryLanguageBase0x0100Basisindex für primärsprachliche Textdeskriptoren.
QBluetoothServiceInfo::ServiceNamePrimaryLanguageBase + 0x0000Name des Bluetooth-Dienstes in der Primärsprache.
QBluetoothServiceInfo::ServiceDescriptionPrimaryLanguageBase + 0x0001Beschreibung des Bluetooth-Dienstes in der Hauptsprache.
QBluetoothServiceInfo::ServiceProviderPrimaryLanguageBase + 0x0002Name der Firma/Einheit, die den Bluetooth-Dienst in der Primärsprache anbietet.

Hinweis: Unter Windows werden ServiceClassIds und ProtocolDescriptorList automatisch auf Standardwerte gesetzt, wenn ein Dienst erstellt wird. Das manuelle Festlegen von Werten für diese Attribute ist nicht möglich und kann auf dieser Plattform zu unerwarteten Ergebnissen führen.

enum QBluetoothServiceInfo::Protocol

Diese Aufzählung beschreibt das vom Dienst verwendete Socket-Protokoll.

KonstanteWertBeschreibung
QBluetoothServiceInfo::UnknownProtocol0Der Dienst verwendet ein unbekanntes Socket-Protokoll.
QBluetoothServiceInfo::L2capProtocol1Der Dienst verwendet das L2CAP-Socket-Protokoll. Dieses Protokoll wird für direkte Socket-Verbindungen unter Android nicht unterstützt.
QBluetoothServiceInfo::RfcommProtocol2Der Dienst verwendet das RFCOMM-Socket-Protokoll.

Dokumentation der Mitgliedsfunktionen

QBluetoothServiceInfo::QBluetoothServiceInfo()

Konstruieren Sie eine neue ungültige QBluetoothServiceInfo;

QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)

Konstruieren Sie ein neues QBluetoothServiceInfo, das eine Kopie von other ist.

Die beiden Kopien teilen sich weiterhin die gleichen zugrunde liegenden Daten, die beim Schreiben nicht getrennt werden.

[noexcept] QBluetoothServiceInfo::~QBluetoothServiceInfo()

Zerstört das Objekt QBluetoothServiceInfo.

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, die das Objekt QBluetoothServiceInfo hat.

bool QBluetoothServiceInfo::contains(quint16 attributeId) const

Gibt true zurück, wenn das Objekt QBluetoothServiceInfo das Attribut attributeId enthält, andernfalls gibt es false zurück.

QBluetoothDeviceInfo QBluetoothServiceInfo::device() const

Gibt die Adresse des Bluetooth-Geräts zurück, das diesen Dienst anbietet.

Siehe auch setDevice().

bool QBluetoothServiceInfo::isComplete() const

Gibt true zurück, wenn das QBluetoothServiceInfo Objekt als vollständig betrachtet wird, 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 Implementierung des Service Discovery Protocol (SDP) der Plattform registriert sind, andernfalls false.

bool QBluetoothServiceInfo::isValid() const

Gibt true zurück, wenn das Objekt QBluetoothServiceInfo gültig ist, andernfalls gibt es false zurück.

Ein ungültiges QBluetoothServiceInfo Objekt hat keine Attribute.

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

Gibt die Protokollparameter als QBluetoothServiceInfo::Sequence für das Protokoll protocol zurück.

Ein leeres QBluetoothServiceInfo::Sequence wird zurückgegeben, wenn protocol nicht unterstützt wird.

int QBluetoothServiceInfo::protocolServiceMultiplexer() const

Dies ist eine Komfortfunktion. Gibt den Protokoll-/Dienstmultiplexer für Dienste zurück, die das L2CAP-Protokoll unterstützen, andernfalls wird -1 zurückgegeben.

Diese Funktion entspricht der Extraktion 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, so dass er von anderen Geräten gefunden werden kann, wenn diese eine Dienstsuche durchführen. Gibt true zurück, wenn der Dienst erfolgreich registriert wurde, andernfalls wird false zurückgegeben. Nach der Registrierung können keine Änderungen an dem Datensatz vorgenommen werden. Der Dienst muss deregistriert und mit den Änderungen erneut registriert werden.

Der Parameter localAdapter bestimmt den lokalen Bluetooth-Adapter, unter dem der Dienst registriert werden soll. Wenn localAdapter gleich null ist, wird der Standard-Bluetooth-Adapter verwendet. Wenn dieses Service-Info-Objekt bereits über einen lokalen Adapter registriert ist und diese Funktion unter Verwendung eines anderen lokalen Adapters aufgerufen wird, wird die vorherige Registrierung entfernt und der Dienst unter Verwendung des neuen Adapters neu registriert.

void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)

Entfernt das Attribut attributeId aus dem Objekt QBluetoothServiceInfo.

Wenn die Dienstinformationen 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 Komfortfunktion. Liefert den Serverkanal für Dienste, die das RFCOMM-Protokoll unterstützen, andernfalls gibt sie -1 zurück.

Diese Funktion entspricht der Extraktion der Informationen aus QBluetoothServiceInfo::Sequence, die von QBluetoothServiceInfo::attribute(QBluetootherServiceInfo::ProtocolDescriptorList) zurückgegeben werden.

quint8 QBluetoothServiceInfo::serviceAvailability() const

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit 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 ist gleichbedeutend mit dem Aufruf von attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() und der anschließenden Iteration über seine QBluetoothUuid Einträge.

Siehe auch attribute().

QString QBluetoothServiceInfo::serviceDescription() const

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit 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 Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von attribute(QBluetoothServiceInfo::ServiceName).toString().

Gibt den Dienstnamen in der Hauptsprache zurück.

Siehe auch setServiceName() und attribute().

QString QBluetoothServiceInfo::serviceProvider() const

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von attribute(QBluetoothServiceInfo::ServiceProvider).toString().

Gibt den Dienstanbieter in der Hauptsprache zurück.

Siehe auch setServiceProvider() und attribute().

QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>().

Gibt die benutzerdefinierte UUID des Dienstes zurück. Diese UUID kann null sein. UUIDs, die auf Bluetooth-SIG-Standards basieren, sollten über serviceClassUuids() abgefragt werden.

Siehe auch setServiceUuid() und attribute().

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

Dies ist eine Komfortfunktion.

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.

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 Dienstinformationen 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 Komfortfunktion.

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.

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 dann aktualisiert, wenn registerService() erneut aufgerufen wurde.

Hinweis: Wenn ein Attribut einen bytekodierten Wert erwartet (z. B. Bluetooth-HID-Dienste), sollte es als QByteArray gesetzt werden.

Siehe auch isRegistered() und registerService().

void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)

Stellt das Bluetooth-Gerät, das diesen Dienst anbietet, auf device ein.

Siehe auch device().

void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceAvailability, Verfügbarkeit).

Setzt die Verfügbarkeit des Dienstes auf availability.

Siehe auch serviceAvailability() und setAttribute().

void QBluetoothServiceInfo::setServiceDescription(const QString &description)

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceDescription, Beschreibung).

Setzt die Dienstbeschreibung in der Hauptsprache auf description.

Siehe auch serviceDescription() und setAttribute().

void QBluetoothServiceInfo::setServiceName(const QString &name)

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceName, name).

Setzt den Namen des Dienstes in der Hauptsprache auf name.

Siehe auch serviceName() und setAttribute().

void QBluetoothServiceInfo::setServiceProvider(const QString &provider)

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceProvider, Anbieter).

Setzt den Dienstanbieter in der Primärsprache auf provider.

Siehe auch serviceProvider() und setAttribute().

void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)

Dies ist eine Komfortfunktion. Sie ist gleichbedeutend mit dem Aufruf von setAttribute(QBluetoothServiceInfo::ServiceId, uuid).

Setzt die benutzerdefinierte Dienst-UUID auf uuid. Diese Funktion sollte nicht verwendet werden, um eine standardisierte Dienst-UUID zu setzen.

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 Implementierung des Service Discovery Protocol (SDP) der Plattform auf. Danach ist der Dienst für andere Geräte nicht mehr über die Diensteerkennung auffindbar.

Gibt true zurück, wenn der Dienst erfolgreich deregistriert wurde, andernfalls wird false zurückgegeben.

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

Erstellt eine Kopie von other und ordnet sie diesem QBluetoothServiceInfo Objekt zu. Die beiden Kopien teilen sich weiterhin denselben Dienst und dieselben Registrierungsdaten.

© 2025 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.