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.
| Constante | Valor | Descripción |
|---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle | 0x0000 | Especifica un registro de servicio del que se pueden recuperar atributos. |
QBluetoothServiceInfo::ServiceClassIds | 0x0001 | UUID 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::ServiceRecordState | 0x0002 | El atributo cambia cuando se añade, elimina o modifica cualquier otro atributo del servicio. |
QBluetoothServiceInfo::ServiceId | 0x0003 | UUID que identifica el servicio de forma única. |
QBluetoothServiceInfo::ProtocolDescriptorList | 0x0004 | Lista de protocolos utilizados por el servicio. Los UUID de protocolo más comunes se definen en QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList | 0x0005 | Lista de grupos de navegación en los que se encuentra el servicio. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList | 0x0006 | Lista de ID de atributos de base lingüística para admitir atributos legibles por humanos. |
QBluetoothServiceInfo::ServiceInfoTimeToLive | 0x0007 | Número de segundos durante los que se espera que el registro del servicio permanezca válido y sin cambios. |
QBluetoothServiceInfo::ServiceAvailability | 0x0008 | Valor que indica la disponibilidad del servicio. |
QBluetoothServiceInfo::BluetoothProfileDescriptorList | 0x0009 | Lista de perfiles a los que se ajusta el servicio. |
QBluetoothServiceInfo::DocumentationUrl | 0x000A | URL que apunta a la documentación sobre el servicio.. |
QBluetoothServiceInfo::ClientExecutableUrl | 0x000B | URL que remite a la ubicación de una aplicación que puede utilizarse para utilizar el servicio. |
QBluetoothServiceInfo::IconUrl | 0x000C | URL que remite a la ubicación del icono que representa el servicio. |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList | 0x000D | Protocolos adicionales utilizados por el servicio. Este atributo amplía ProtocolDescriptorList. |
QBluetoothServiceInfo::PrimaryLanguageBase | 0x0100 | Índice base para los descriptores de texto del idioma primario. |
QBluetoothServiceInfo::ServiceName | PrimaryLanguageBase + 0x0000 | Nombre del servicio Bluetooth en el idioma primario. |
QBluetoothServiceInfo::ServiceDescription | PrimaryLanguageBase + 0x0001 | Descripción del servicio Bluetooth en el idioma primario. |
QBluetoothServiceInfo::ServiceProvider | PrimaryLanguageBase + 0x0002 | Nombre 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.
| Constante | Valor | Descripción |
|---|---|---|
QBluetoothServiceInfo::UnknownProtocol | 0 | El servicio utiliza un protocolo de socket desconocido. |
QBluetoothServiceInfo::L2capProtocol | 1 | El servicio utiliza el protocolo de socket L2CAP. Este protocolo no es compatible con conexiones de socket directas en Android. |
QBluetoothServiceInfo::RfcommProtocol | 2 | El 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.