Класс QBluetoothServiceInfo
Класс QBluetoothServiceInfo позволяет получить доступ к атрибутам Bluetooth-сервиса. Подробнее...
| Заголовок: | #include <QBluetoothServiceInfo> |
| qmake: | QT += bluetooth |
| С тех пор: | Qt 5.2 |
Открытые типы
| класс | Alternative |
| класс | Sequence |
| перечисление | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ..., ServiceProvider } |
| перечисление | Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol } |
Открытые функции
| 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 QVariant &value) |
Подробное описание
Класс QBluetoothServiceInfo обеспечивает доступ к атрибутам Bluetooth-сервиса.
QBluetoothServiceInfo предоставляет информацию о сервисе, предлагаемом Bluetooth-устройством. Кроме того, он может использоваться для регистрации новых сервисов на локальном устройстве. Обратите внимание, что такая регистрация влияет только на записи Bluetooth SDP. Любой сервер, ожидающий входящие подключения (например, RFCOMM-сервер), должен быть запущен до вызова registerService(). Дерегистрация должна выполняться в обратном порядке.
QBluetoothServiceInfo не является типом значений в традиционном понимании. Все копии одного объекта информации о сервисе используют одни и те же данные, поскольку они не отделяются при их изменении. Это гарантирует, что две копии могут (де)регистрировать один и тот же Bluetooth-сервис.
Документация по типам членов
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 сервис, на основном языке. |
перечисление QBluetoothServiceInfo::Протокол
Это перечисление описывает протокол сокета, используемый сервисом.
| Константа | Значение | Описание |
|---|---|---|
QBluetoothServiceInfo::UnknownProtocol |
0 |
Сервис использует неизвестный протокол сокета. |
QBluetoothServiceInfo::L2capProtocol |
1 |
Сервис использует протокол сокета L2CAP. Этот протокол не поддерживается для прямых соединений сокетов на Android. |
QBluetoothServiceInfo::RfcommProtocol |
2 |
Сервис использует протокол сокета RFCOMM. |
Документация по функциям-членам
QBluetoothServiceInfo::QBluetoothServiceInfo()
Создаёт новый недействительный QBluetoothServiceInfo;
QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)
Создаёт новый QBluetoothServiceInfo, являющийся копией other.
Обе копии продолжают совместно использовать те же данные, которые не отсоединяются при записи.
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.
Если протокол protocol не поддерживается, возвращается пустой QBluetoothServiceInfo::Sequence.
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().
См. также 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()
Отменяет регистрацию этой службы в реализации протокола Service Discovery Protocol (SDP) платформы. После этого служба больше не будет обнаруживаться другими устройствами через поиск служб.
Возвращает true, если служба успешно дезактивирована, иначе возвращает false.
QBluetoothServiceInfo &QBluetoothServiceInfo::operator=(const QBluetoothServiceInfo &other)
Создает копию other и присваивает её этому объекту QBluetoothServiceInfo. Обе копии продолжают совместно использовать те же данные о службе и регистрации.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qbluetoothserviceinfo.html