Класс QBluetoothServiceInfo
Класс QBluetoothServiceInfo обеспечивает доступ к атрибутам службы Bluetooth. Подробнее...
| Заголовок: | #include <QBluetoothServiceInfo> |
| qmake: | QT += bluetooth |
| С версии: | Qt 5.2 |
Открытые типы
| class | Alternative |
| class | Sequence |
| enum | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ..., ServiceProvider } |
| enum | 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) |
| 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 & | operator=(const QBluetoothServiceInfo &other) |
Подробное описание
Класс 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/archives/qt-5.6/qbluetoothserviceinfo.html