Класс QBluetoothServiceInfo
Класс QBluetoothServiceInfo обеспечивает доступ к атрибутам службы Bluetooth. Подробнее...
| Заголовок: | #include <QBluetoothServiceInfo> |
| qmake: | QT += bluetooth |
| С версии: | Qt 5.2 |
Открытые типы
| class | Alternative |
| class | Sequence |
| enum | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ProtocolDescriptorList, …, ServiceProvider } |
| enum | Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol } |
Открытые функции
| QBluetoothServiceInfo(const QBluetoothServiceInfo &other) | |
| QBluetoothServiceInfo() | |
| QBluetoothServiceInfo & | operator=(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 QVariant &value) |
| void | setAttribute(quint16 attributeId, const QBluetoothUuid &value) |
| void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value) |
| void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &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 предоставляет информацию о службе, предлагаемой устройством Bluetooth. Кроме того, его можно использовать для регистрации новых служб на локальном устройстве. Обратите внимание, что такая регистрация влияет только на записи Bluetooth SDP. Любой сервер, прослушивающий входящие соединения (например, сервер RFCOMM), должен быть запущен до вызова registerService(). Отмена регистрации должна происходить в обратном порядке.
QBluetoothServiceInfo не является типом значения в традиционном смысле. Все копии одного и того же объекта информации о службе используют одни и те же данные, поскольку они не отсоединяются при их изменении. Это гарантирует, что две копии могут (де)регистрировать одну и ту же службу Bluetooth.
На iOS этот класс использовать нельзя, поскольку платформа не предоставляет API, который может разрешить доступ к функциям, связанным с QBluetoothServiceInfo.
Документация по типам членов
enum QBluetoothServiceInfo::AttributeId
Атрибуты службы Bluetooth. Пожалуйста, проверьте спецификацию Bluetooth Core для более подробного описания этих атрибутов.
| Константа | Значение | Описание |
|---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle |
0x0000 |
Указывает на запись службы, из которой можно получить атрибуты. |
QBluetoothServiceInfo::ServiceClassIds |
0x0001 |
UUID служб, которым соответствует служба. Наиболее распространённые классы служб определены в (QBluetoothUuid::ServiceClassUuid). |
QBluetoothServiceInfo::ServiceRecordState |
0x0002 |
Атрибуты изменяются при добавлении, удалении или изменении любого другого атрибута службы. |
QBluetoothServiceInfo::ServiceId |
0x0003 |
UUID, уникально идентифицирующий службу. |
QBluetoothServiceInfo::ProtocolDescriptorList |
0x0004 |
Список протоколов, используемых службой. Наиболее распространённые UUID протоколов определены в QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList |
0x0005 |
Список групп просмотра, в которых находится служба. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList |
0x0006 |
Список идентификаторов базовых атрибутов языка для поддержки атрибутов, понятных человеку. |
QBluetoothServiceInfo::ServiceInfoTimeToLive |
0x0007 |
Количество секунд, в течение которого запись службы должна оставаться действительной и неизменной. |
QBluetoothServiceInfo::ServiceAvailability |
0x0008 |
Значение, указывающее на доступность службы. |
QBluetoothServiceInfo::BluetoothProfileDescriptorList |
0x0009 |
Список профилей, которым соответствует служба. |
QBluetoothServiceInfo::DocumentationUrl |
0x000A |
URL, указывающий на документацию по службе. |
QBluetoothServiceInfo::ClientExecutableUrl |
0x000B |
URL, указывающий на местоположение приложения, которое может быть использовано для работы со службой. |
QBluetoothServiceInfo::IconUrl |
0x000C |
URL местоположения значка, представляющего службу. |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList |
0x000D |
Дополнительные протоколы, используемые службой. Этот атрибут расширяет ProtocolDescriptorList. |
QBluetoothServiceInfo::PrimaryLanguageBase |
0x0100 |
Базовый индекс для описателей текстов основного языка. |
QBluetoothServiceInfo::ServiceName |
PrimaryLanguageBase + 0x0000 |
Имя Bluetooth-службы на основном языке. |
QBluetoothServiceInfo::ServiceDescription |
PrimaryLanguageBase + 0x0001 |
Описание Bluetooth-службы на основном языке. |
QBluetoothServiceInfo::ServiceProvider |
PrimaryLanguageBase + 0x0002 |
Имя компании/сущности, предоставляющей Bluetooth-службу, на основном языке. |
Примечание: В Windows ServiceClassIds и ProtocolDescriptorList автоматически устанавливаются значения по умолчанию при создании службы. Ручное задание значений для этих атрибутов не сработает и может привести к неожиданным результатам на этой платформе.
Перечисление QBluetoothServiceInfo::Protocol
Это перечисление описывает протокол сокета, используемый службой.
| Константа | Значение | Описание |
|---|---|---|
QBluetoothServiceInfo::UnknownProtocol |
0 |
Служба использует неизвестный протокол сокета. |
QBluetoothServiceInfo::L2capProtocol |
1 |
Служба использует протокол сокета L2CAP. Этот протокол не поддерживается для прямых соединений сокета на Android. |
QBluetoothServiceInfo::RfcommProtocol |
2 |
Служба использует протокол сокета RFCOMM. |
Документация по функциям-членам
QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)
Создаёт новый QBluetoothServiceInfo, являющийся копией other.
Обе копии продолжают использовать общие данные, при этом развязка не происходит при записи.
QBluetoothServiceInfo::QBluetoothServiceInfo()
Создаёт новый невалидный QBluetoothServiceInfo;
QBluetoothServiceInfo &QBluetoothServiceInfo::operator=(const QBluetoothServiceInfo &other)
Создаёт копию other и присваивает её объекту QBluetoothServiceInfo. Обе копии продолжают совместно использовать данные о службе и регистрации.
QBluetoothServiceInfo::~QBluetoothServiceInfo()
Удаляет объект QBluetoothServiceInfo.
QVariant QBluetoothServiceInfo::attribute(quint16 attributeId) const
Возвращает значение атрибута attributeId.
См. также setAttribute().
QList<quint16> QBluetoothServiceInfo::attributes() const
Возвращает список всех идентификаторов атрибутов, имеющихся у объекта QBluetoothServiceInfo.
bool QBluetoothServiceInfo::contains(quint16 attributeId) const
Возвращает true, если объект QBluetoothServiceInfo содержит атрибут attributeId, иначе возвращает false.
QBluetoothDeviceInfo QBluetoothServiceInfo::device() const
Возвращает адрес устройства Bluetooth, предоставляющего эту службу.
См. также setDevice().
bool QBluetoothServiceInfo::isComplete() const
Возвращает true, если объект QBluetoothServiceInfo считается полным, иначе возвращает false.
Полный объект QBluetoothServiceInfo содержит атрибут ProtocolDescriptorList.
bool QBluetoothServiceInfo::isRegistered() const
Возвращает true, если информация о службе зарегистрирована в реализации протокола обнаружения служб (SDP) платформы, иначе возвращает false.
bool QBluetoothServiceInfo::isValid() const
Возвращает true, если объект QBluetoothServiceInfo действителен, иначе возвращает false.
Недействительный объект QBluetoothServiceInfo не будет содержать атрибутов.
QBluetoothServiceInfo::Sequence QBluetoothServiceInfo::protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const
Возвращает параметры протокола как QBluetoothServiceInfo::Sequence для протокола protocol.
Пустой QBluetoothServiceInfo::Sequence возвращается, если protocol не поддерживается.
int QBluetoothServiceInfo::protocolServiceMultiplexer() const
Это вспомогательная функция. Возвращает мультиплексор протокола/службы для служб, которые поддерживают протокол L2CAP, иначе возвращает -1.
Эта функция эквивалентна извлечению информации из QBluetoothServiceInfo::Sequence, возвращённой QBluetoothServiceInfo::attribute(QBluetoothServiceInfo::ProtocolDescriptorList).
bool QBluetoothServiceInfo::registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress())
Регистрирует эту службу в реализации протокола обнаружения служб (SDP) платформы, что делает её доступной для других устройств при выполнении ими поиска служб. Возвращает true, если служба успешно зарегистрирована, иначе возвращает false. После регистрации изменения записи сделать нельзя. Службу необходимо дерегистрировать и зарегистрировать заново с внесёнными изменениями.
Параметр localAdapter определяет локальный адаптер Bluetooth, под которым должна быть зарегистрирована служба. Если localAdapter — null используется адаптер Bluetooth по умолчанию. Если эта информация о службе уже зарегистрирована через локальный адаптер, и эта функция вызывается с использованием другого локального адаптера, предыдущая регистрация удаляется, и служба регистрируется заново с использованием нового адаптера.
void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)
Удаляет атрибут attributeId из объекта QBluetoothServiceInfo.
Если информация о службе уже зарегистрирована в базе данных SDP платформы, запись в базе данных не будет обновлена до тех пор, пока не будет вызван метод registerService() повторно.
int QBluetoothServiceInfo::serverChannel() const
Это вспомогательная функция. Возвращает номер канала сервера для служб, которые поддерживают протокол RFCOMM, в противном случае возвращает -1.
Эта функция эквивалентна извлечению информации из QBluetoothServiceInfo::Sequence, возвращаемой методом QBluetoothServiceInfo::attribute(QBluetootherServiceInfo::ProtocolDescriptorList).
quint8 QBluetoothServiceInfo::serviceAvailability() const
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceAvailability).toUInt().
Возвращает доступность службы.
См. также setServiceAvailability() и attribute().
QList<QBluetoothUuid> QBluetoothServiceInfo::serviceClassUuids() const
Возвращает список UUID, описывающих классы служб, которым соответствует эта служба.
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() и последующему перебору элементов QBluetoothUuid.
См. также attribute().
QString QBluetoothServiceInfo::serviceDescription() const
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceDescription).toString().
Возвращает описание службы на языке по умолчанию.
См. также setServiceDescription() и attribute().
QString QBluetoothServiceInfo::serviceName() const
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceName).toString().
Возвращает имя службы на языке по умолчанию.
См. также setServiceName() и attribute().
QString QBluetoothServiceInfo::serviceProvider() const
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceProvider).toString().
Возвращает информацию о поставщике службы на языке по умолчанию.
См. также setServiceProvider() и attribute().
QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const
Это вспомогательная функция. Она эквивалентна вызову attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>().
Возвращает пользовательский UUID службы. Этот UUID может быть пустым. UUID, основанные на стандартах Bluetooth SIG, следует получать с помощью serviceClassUuids().
См. также setServiceUuid() и attribute().
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QVariant &value)
Устанавливает атрибут, идентифицируемый по attributeId, в значение value.
Если информация о службе уже зарегистрирована в базе данных SDP платформы, запись в базе данных не будет обновлена до тех пор, пока не будет вызван метод registerService() повторно.
Примечание: Если атрибут ожидает кодированное байтовое значение (например, службы Bluetooth HID), оно должно быть установлено как QByteArray.
См. также attribute(), isRegistered() и registerService().
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothUuid &value)
Это вспомогательная функция.
Устанавливает атрибут, идентифицируемый по attributeId, в значение value.
Если информация о службе уже зарегистрирована в базе данных SDP платформы, запись в базе данных не будет обновлена до тех пор, пока не будет вызван метод registerService() повторно.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value)
Это вспомогательная функция.
Устанавливает атрибут, идентифицируемый по attributeId, в значение value.
Если информация о службе уже зарегистрирована в базе данных SDP платформы, запись в базе данных не будет обновлена до тех пор, пока не будет вызван метод registerService() повторно.
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value)
Это вспомогательная функция.
Устанавливает атрибут, идентифицируемый по attributeId, в значение value.
Если информация о службе уже зарегистрирована в базе данных SDP платформы, запись в базе данных не будет обновлена до тех пор, пока не будет вызван метод registerService() повторно.
void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)
Устанавливает устройство Bluetooth, предоставляющее эту службу, в device.
См. также device().
void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)
Это вспомогательная функция. Она эквивалентна вызову setAttribute(QBluetoothServiceInfo::ServiceAvailability, availability).
Устанавливает доступность службы в значение availability.
См. также serviceAvailability() и setAttribute().
void QBluetoothServiceInfo::setServiceDescription(const QString &description)
Это вспомогательная функция. Она эквивалентна вызову setAttribute(QBluetoothServiceInfo::ServiceDescription, description).
Устанавливает описание службы на языке по умолчанию в значение description.
См. также serviceDescription() и setAttribute().
void QBluetoothServiceInfo::setServiceName(const QString &name)
Это вспомогательная функция. Она эквивалентна вызову setAttribute(QBluetoothServiceInfo::ServiceName, name).
Устанавливает имя службы на языке по умолчанию в значение name.
См. также serviceName() и setAttribute().
void QBluetoothServiceInfo::setServiceProvider(const QString &provider)
Это вспомогательная функция. Она эквивалентна вызову setAttribute(QBluetoothServiceInfo::ServiceProvider, provider).
Устанавливает информацию о поставщике службы на языке по умолчанию в значение provider.
См. также serviceProvider() и setAttribute().
void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)
Это вспомогательная функция. Она эквивалентна вызову setAttribute(QBluetoothServiceInfo::ServiceId, uuid).
Устанавливает пользовательский UUID службы в значение uuid. Эта функция не должна использоваться для установки стандартизованного UUID службы.
См. также serviceUuid() и setAttribute().
QBluetoothServiceInfo::Protocol QBluetoothServiceInfo::socketProtocol() const
Возвращает протокол, используемый объектом QBluetoothServiceInfo.
bool QBluetoothServiceInfo::unregisterService()
Отменяет регистрацию этой службы в реализации протокола обнаружения служб (SDP) платформы. После этого служба больше не будет обнаруживаема другими устройствами через обнаружение служб.
Возвращает true, если служба успешно отменена, в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qbluetoothserviceinfo.html