En esta página

QBluetoothServiceInfo Class

La clase QBluetoothServiceInfo permite acceder a los atributos de un servicio Bluetooth. Más...

Cabecera: #include <QBluetoothServiceInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Bluetooth)
target_link_libraries(mytarget PRIVATE Qt6::Bluetooth)
qmake: QT += bluetooth

Tipos Públicos

class Alternative
class Sequence
enum AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ProtocolDescriptorList, …, ServiceProvider }
enum Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol }

Funciones Públicas

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)

Descripción detallada

QBluetoothServiceInfo proporciona información sobre un servicio ofrecido por un dispositivo Bluetooth. Además, puede utilizarse para registrar nuevos servicios en el dispositivo local. Tenga en cuenta que dicho registro sólo afecta a las entradas SDP Bluetooth. Cualquier servidor a la escucha de conexiones entrantes (por ejemplo, un servidor RFCOMM) debe iniciarse antes de llamar a registerService(). La baja debe producirse en el orden inverso.

QBluetoothServiceInfo no es un tipo de valor en el sentido tradicional. Todas las copias del mismo objeto service info comparten los mismos datos, ya que no se separan al cambiarlos. Esto garantiza que dos copias puedan (de)registrar el mismo servicio Bluetooth.

En iOS, esta clase no se puede utilizar porque la plataforma no expone una API que pueda permitir el acceso a las funciones relacionadas con QBluetoothServiceInfo.

Documentación de tipos de miembros

enum QBluetoothServiceInfo::AttributeId

Atributos de servicio Bluetooth. Consulte la Especificación básica de Bluetooth para obtener una descripción más detallada de estos atributos.

ConstanteValorDescripción
QBluetoothServiceInfo::ServiceRecordHandle0x0000Especifica un registro de servicio del que se pueden recuperar atributos.
QBluetoothServiceInfo::ServiceClassIds0x0001UUID de las clases de servicio a las que se ajusta el servicio. Las clases de servicio más comunes se definen en (QBluetoothUuid::ServiceClassUuid)
QBluetoothServiceInfo::ServiceRecordState0x0002El atributo cambia cuando se añade, elimina o modifica cualquier otro atributo del servicio.
QBluetoothServiceInfo::ServiceId0x0003UUID que identifica el servicio de forma única.
QBluetoothServiceInfo::ProtocolDescriptorList0x0004Lista de protocolos utilizados por el servicio. Los UUID de protocolo más comunes se definen en QBluetoothUuid::ProtocolUuid
QBluetoothServiceInfo::BrowseGroupList0x0005Lista de grupos de navegación en los que se encuentra el servicio.
QBluetoothServiceInfo::LanguageBaseAttributeIdList0x0006Lista de ID de atributos de base lingüística para admitir atributos legibles por humanos.
QBluetoothServiceInfo::ServiceInfoTimeToLive0x0007Número de segundos durante los que se espera que el registro del servicio permanezca válido y sin cambios.
QBluetoothServiceInfo::ServiceAvailability0x0008Valor que indica la disponibilidad del servicio.
QBluetoothServiceInfo::BluetoothProfileDescriptorList0x0009Lista de perfiles a los que se ajusta el servicio.
QBluetoothServiceInfo::DocumentationUrl0x000AURL que apunta a la documentación sobre el servicio..
QBluetoothServiceInfo::ClientExecutableUrl0x000BURL que remite a la ubicación de una aplicación que puede utilizarse para utilizar el servicio.
QBluetoothServiceInfo::IconUrl0x000CURL que remite a la ubicación del icono que representa el servicio.
QBluetoothServiceInfo::AdditionalProtocolDescriptorList0x000DProtocolos adicionales utilizados por el servicio. Este atributo amplía ProtocolDescriptorList.
QBluetoothServiceInfo::PrimaryLanguageBase0x0100Índice base para los descriptores de texto del idioma primario.
QBluetoothServiceInfo::ServiceNamePrimaryLanguageBase + 0x0000Nombre del servicio Bluetooth en el idioma primario.
QBluetoothServiceInfo::ServiceDescriptionPrimaryLanguageBase + 0x0001Descripción del servicio Bluetooth en el idioma primario.
QBluetoothServiceInfo::ServiceProviderPrimaryLanguageBase + 0x0002Nombre de la empresa/entidad que proporciona el servicio Bluetooth en el idioma primario.

Nota: En Windows, ServiceClassIds y ProtocolDescriptorList se establecen automáticamente en los valores predeterminados cuando se crea un servicio. Establecer manualmente los valores de estos atributos no funcionará y podría dar lugar a resultados inesperados en esta plataforma.

enum QBluetoothServiceInfo::Protocol

Este enum describe el protocolo de socket utilizado por el servicio.

ConstanteValorDescripción
QBluetoothServiceInfo::UnknownProtocol0El servicio utiliza un protocolo de socket desconocido.
QBluetoothServiceInfo::L2capProtocol1El servicio utiliza el protocolo de socket L2CAP. Este protocolo no es compatible con conexiones de socket directas en Android.
QBluetoothServiceInfo::RfcommProtocol2El servicio utiliza el protocolo de socket RFCOMM.

Documentación de la función miembro

QBluetoothServiceInfo::QBluetoothServiceInfo()

Construye un nuevo QBluetoothServiceInfo inválido;

QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)

Construye un nuevo QBluetoothServiceInfo que es una copia de other.

Las dos copias siguen compartiendo los mismos datos subyacentes que no se separan al escribir.

[noexcept] QBluetoothServiceInfo::~QBluetoothServiceInfo()

Destruye el objeto QBluetoothServiceInfo.

QVariant QBluetoothServiceInfo::attribute(quint16 attributeId) const

Devuelve el valor del atributo attributeId.

Véase también setAttribute().

QList<quint16> QBluetoothServiceInfo::attributes() const

Devuelve una lista de todos los identificadores de atributo que tiene el objeto QBluetoothServiceInfo.

bool QBluetoothServiceInfo::contains(quint16 attributeId) const

Devuelve true si el objeto QBluetoothServiceInfo contiene el atributo attributeId, en caso contrario devuelve false.

QBluetoothDeviceInfo QBluetoothServiceInfo::device() const

Devuelve la dirección del dispositivo Bluetooth que proporciona este servicio.

Véase también setDevice().

bool QBluetoothServiceInfo::isComplete() const

Devuelve true si el objeto QBluetoothServiceInfo se considera completo, en caso contrario devuelve false.

Un objeto QBluetoothServiceInfo completo contiene un atributo ProtocolDescriptorList.

bool QBluetoothServiceInfo::isRegistered() const

Devuelve true si la información del servicio está registrada con la implementación del Protocolo de Descubrimiento de Servicios (SDP) de la plataforma, de lo contrario devuelve false.

bool QBluetoothServiceInfo::isValid() const

Devuelve true si el objeto QBluetoothServiceInfo es válido, en caso contrario devuelve false.

Un objeto QBluetoothServiceInfo no válido no tendrá atributos.

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

Devuelve los parámetros del protocolo como QBluetoothServiceInfo::Sequence para el protocolo protocol.

Se devuelve un QBluetoothServiceInfo::Sequence vacío si no se admite protocol.

int QBluetoothServiceInfo::protocolServiceMultiplexer() const

Esta es una función de conveniencia. Devuelve el multiplexor de protocolo/servicio para los servicios que soportan el protocolo L2CAP, en caso contrario devuelve -1.

Esta función equivale a extraer la información de QBluetoothServiceInfo::Sequence devuelta por QBluetoothServiceInfo::attribute(QBluetoothServiceInfo::ProtocolDescriptorList).

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

Registra este servicio con la implementación del Protocolo de Descubrimiento de Servicios (SDP) de la plataforma, para que otros dispositivos puedan encontrarlo cuando realicen el descubrimiento de servicios. Devuelve true si el servicio se ha registrado correctamente; en caso contrario, devuelve false. Una vez registrado, no se pueden realizar cambios en el registro. El servicio debe ser desregistrado y registrado de nuevo con los cambios.

El parámetro localAdapter determina el adaptador Bluetooth local bajo el cual debe registrarse el servicio. Si localAdapter es null se utilizará el adaptador Bluetooth por defecto. Si este objeto de información de servicio ya está registrado a través de un adaptador local y se llama a esta función utilizando un adaptador local diferente, se elimina el registro anterior y se vuelve a registrar el servicio utilizando el nuevo adaptador.

void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)

Elimina el atributo attributeId del objeto QBluetoothServiceInfo.

Si la información de servicio ya está registrada en la base de datos SDP de la plataforma, la entrada de la base de datos no se actualizará hasta que se vuelva a llamar a registerService().

int QBluetoothServiceInfo::serverChannel() const

Esta es una función de conveniencia. Devuelve el canal del servidor para los servicios que soportan el protocolo RFCOMM, en caso contrario devuelve -1.

Esta función es equivalente a extraer la información de QBluetoothServiceInfo::Sequence devuelta por QBluetoothServiceInfo::attribute(QBluetootherServiceInfo::ProtocolDescriptorList).

quint8 QBluetoothServiceInfo::serviceAvailability() const

Esta es una función de conveniencia. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceAvailability).toUInt().

Devuelve la disponibilidad del servicio.

Véase también setServiceAvailability() y attribute().

QList<QBluetoothUuid> QBluetoothServiceInfo::serviceClassUuids() const

Devuelve una lista de UUID que describen las clases de servicio a las que se ajusta este servicio.

Se trata de una función práctica. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() e iterar posteriormente sobre sus entradas QBluetoothUuid.

Véase también attribute().

QString QBluetoothServiceInfo::serviceDescription() const

Se trata de una función práctica. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceDescription).toString().

Devuelve la descripción del servicio en el idioma principal.

Véase también setServiceDescription() y attribute().

QString QBluetoothServiceInfo::serviceName() const

Se trata de una función práctica. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceName).toString().

Devuelve el nombre del servicio en el idioma primario.

Véase también setServiceName() y attribute().

QString QBluetoothServiceInfo::serviceProvider() const

Se trata de una función práctica. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceProvider).toString().

Devuelve el proveedor de servicios en el idioma principal.

Véase también setServiceProvider() y attribute().

QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const

Se trata de una función práctica. Equivale a llamar a attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>().

Devuelve el UUID personalizado del servicio. Este UUID puede ser nulo. Los UUID basados en estándares Bluetooth SIG deben recuperarse a través de serviceClassUuids().

Véase también setServiceUuid() y attribute().

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

Esta es una función de conveniencia.

Establece el atributo identificado por attributeId en value.

Si la información del servicio ya está registrada en la base de datos SDP de la plataforma, la entrada de la base de datos no se actualizará hasta que se vuelva a llamar a registerService().

Véase también attribute().

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

Esta es una función de conveniencia.

Establece el atributo identificado por attributeId en value.

Si la información del servicio ya está registrada en la base de datos SDP de la plataforma, la entrada de la base de datos no se actualizará hasta que se vuelva a llamar a registerService().

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

Esta es una función de conveniencia.

Establece el atributo identificado por attributeId en value.

Si la información del servicio ya está registrada en la base de datos SDP de la plataforma, la entrada de la base de datos no se actualizará hasta que se vuelva a llamar a registerService().

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

Establece el atributo identificado por attributeId en value.

Si la información del servicio ya está registrada en la base de datos SDP de la plataforma, la entrada de la base de datos no se actualizará hasta que se vuelva a llamar a registerService().

Nota: Si un atributo espera un valor codificado en bytes (por ejemplo, servicios Bluetooth HID), debe establecerse como QByteArray.

Véase también isRegistered() y registerService().

void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)

Establece el dispositivo Bluetooth que proporciona este servicio en device.

Véase también device().

void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)

Se trata de una función de conveniencia. Equivale a llamar a setAttribute(QBluetoothServiceInfo::ServiceAvailability, disponibilidad).

Establece la disponibilidad del servicio en availability.

Véase también serviceAvailability() y setAttribute().

void QBluetoothServiceInfo::setServiceDescription(const QString &description)

Se trata de una función de conveniencia. Equivale a llamar a setAttribute(QBluetoothServiceInfo::ServiceDescription, descripción).

Establece la descripción del servicio en el idioma principal en description.

Véase también serviceDescription() y setAttribute().

void QBluetoothServiceInfo::setServiceName(const QString &name)

Se trata de una función de conveniencia. Equivale a llamar a setAttribute(QBluetoothServiceInfo::ServiceName, nombre).

Establece el nombre del servicio en el idioma primario en name.

Véase también serviceName() y setAttribute().

void QBluetoothServiceInfo::setServiceProvider(const QString &provider)

Se trata de una función práctica. Equivale a llamar a setAttribute(QBluetoothServiceInfo::ServiceProvider, proveedor).

Establece el proveedor de servicios en el idioma principal en provider.

Véase también serviceProvider() y setAttribute().

void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)

Se trata de una función de conveniencia. Es equivalente a llamar a setAttribute(QBluetoothServiceInfo::ServiceId, uuid).

Establece el UUID de servicio personalizado en uuid. Esta función no debe utilizarse para establecer un UUID de servicio estandarizado.

Véase también serviceUuid() y setAttribute().

QBluetoothServiceInfo::Protocol QBluetoothServiceInfo::socketProtocol() const

Devuelve el protocolo que utiliza el objeto QBluetoothServiceInfo.

bool QBluetoothServiceInfo::unregisterService()

Anula el registro de este servicio en la implementación del Protocolo de Descubrimiento de Servicios (SDP) de la plataforma. Después de esto, el servicio ya no podrá ser encontrado por otros dispositivos a través del descubrimiento de servicios.

Devuelve true si el servicio se ha desregistrado correctamente; en caso contrario, devuelve false.

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

Hace una copia de other y la asigna a este objeto QBluetoothServiceInfo. Las dos copias siguen compartiendo los mismos detalles de servicio y registro.

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