Spec-Zone.ru › Qt 5.6

Класс QNearFieldTarget

Класс QNearFieldTarget предоставляет интерфейс для взаимодействия с целевым устройством. Подробнее...

Заголовок: #include <QNearFieldTarget>
qmake: QT += nfc
С момента: Qt 5.2
Наследует: QObject
  • Список всех членов, включая унаследованные

Типы

класс RequestId
класс RequestIdPrivate
перечисление AccessMethod { UnknownAccess, NdefAccess, TagTypeSpecificAccess, LlcpAccess }
флаги AccessMethods
перечисление Error { NoError, UnknownError, UnsupportedError, TargetOutOfRangeError, ..., NdefWriteError }
перечисление Type { ProprietaryTag, NfcTagType1, NfcTagType2, NfcTagType3, NfcTagType4, MifareTag }

Публичные функции

QNearFieldTarget(QObject *parent = Q_NULLPTR)
виртуальный ~QNearFieldTarget()
виртуальный AccessMethods accessMethods() const = 0
виртуальный bool hasNdefMessage()
bool isProcessingCommand() const
виртуальный RequestId readNdefMessages()
QVariant requestResponse(const RequestId &id)
виртуальный RequestId sendCommand(const QByteArray &command)
виртуальный RequestId sendCommands(const QList<QByteArray> &commands)
void setResponseForRequest(const QNearFieldTarget::RequestId &id, const QVariant &response, bool emitRequestCompleted = true)
виртуальный Type type() const = 0
виртуальный QByteArray uid() const = 0
виртуальный QUrl url() const
виртуальный bool waitForRequestCompleted(const RequestId &id, int msecs = 5000)
виртуальный RequestId writeNdefMessages(const QList<QNdefMessage> &messages)
  • 31 публичная функция, унаследованная от QObject

Сигналы

void disconnected()
void error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
void ndefMessageRead(const QNdefMessage &message)
void ndefMessagesWritten()
void requestCompleted(const QNearFieldTarget::RequestId &id)
  • 2 сигнала, унаследованные от QObject

Защищенные функции

виртуальный bool handleResponse(const QNearFieldTarget::RequestId &id, const QByteArray &response)
  • 9 защищенных функций, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 публичный слот, унаследованный от QObject
  • 11 статических публичных членов, унаследованных от QObject

Подробное описание

Класс QNearFieldTarget предоставляет интерфейс для взаимодействия с целевым устройством.

QNearFieldTarget обеспечивает общий интерфейс для взаимодействия с целевым устройством NFC. Данный класс поддерживает как устройства, так и метки NFC Forum. Все классы, специфичные для целевых устройств, наследуются от этого класса.

Функция type() может быть использована для получения типа целевого устройства. Функция uid() возвращает уникальный идентификатор целевого устройства. Флаги AccessMethods, возвращаемые функцией accessMethods(), позволяют определить поддерживаемые методы доступа.

Если целевое устройство поддерживает NdefAccess, hasNdefMessage() может быть вызвана для проверки наличия сохранённого сообщения NDEF, функции readNdefMessages() и writeNdefMessages() могут быть использованы для получения и изменения сообщения NDEF.

Если целевое устройство поддерживает TagTypeSpecificAccess, sendCommand() может быть использована для отправки единственной специфичной для типа метки команды и получения ответа. sendCommands() может быть использована для отправки нескольких специфичных для типа метки команд и получения всех ответов.

Если целевое устройство поддерживает LlcpAccess, класс QLlcpSocket может быть использован для подключения к сервису, предоставляемому целевым устройством.

Документация по типу члена

перечисление QNearFieldTarget::AccessMethodфлаги QNearFieldTarget::AccessMethods

Это перечисление описывает методы доступа, поддерживаемые целевым устройством ближнего поля.

Константа Значение Описание
QNearFieldTarget::UnknownAccess 0x00 Целевое устройство поддерживает неизвестный тип доступа.
QNearFieldTarget::NdefAccess 0x01 Целевое устройство поддерживает чтение и запись сообщений NDEF с помощью readNdefMessages() и writeNdefMessages().
QNearFieldTarget::TagTypeSpecificAccess 0x02 Целевое устройство поддерживает отправку команд, специфичных для типа метки, с помощью sendCommand() и sendCommands().
QNearFieldTarget::LlcpAccess 0x04 Целевое устройство поддерживает двустороннюю LLCP-связь.

Тип AccessMethods является псевдонимом для QFlags<AccessMethod>. Он хранит логическое ИЛИ комбинацию значений AccessMethod.

перечисление QNearFieldTarget::Error

Это перечисление описывает коды ошибок, которые сообщает целевое устройство ближнего поля.

Константа Значение Описание
QNearFieldTarget::NoError 0 Ошибка не произошла.
QNearFieldTarget::UnknownError 1 Произошла неопределённая ошибка.
QNearFieldTarget::UnsupportedError 2 Запрошенная операция не поддерживается этим целевым устройством ближнего поля.
QNearFieldTarget::TargetOutOfRangeError 3 Целевое устройство больше не находится в зоне действия.
QNearFieldTarget::NoResponseError 4 Целевое устройство не ответило.
QNearFieldTarget::ChecksumMismatchError 5 Контрольная сумма обнаружила повреждённый ответ.
QNearFieldTarget::InvalidParametersError 6 В функцию, специфичную для типа тега, были переданы некорректные параметры.
QNearFieldTarget::NdefReadError 7 Не удалось прочитать сообщения NDEF из целевого устройства.
QNearFieldTarget::NdefWriteError 8 Не удалось записать сообщения NDEF в целевое устройство.

enum QNearFieldTarget::Type

Этот перечисление описывает тип тега, который был обнаружен как целевое устройство.

Константа Значение Описание
QNearFieldTarget::ProprietaryTag 0 Целевой тег с неопределённым собственным протоколом.
QNearFieldTarget::NfcTagType1 1 Целевое устройство типа NFC 1.
QNearFieldTarget::NfcTagType2 2 Целевое устройство типа NFC 2.
QNearFieldTarget::NfcTagType3 3 Целевое устройство типа NFC 3.
QNearFieldTarget::NfcTagType4 4 Целевое устройство типа NFC 4.
QNearFieldTarget::MifareTag 5 Целевое устройство Mifare.

Документация по функциям-членам

QNearFieldTarget::QNearFieldTarget(QObject *parent = Q_NULLPTR)

Создаёт новое целевое устройство ближнего поля с parent.

[virtual] QNearFieldTarget::~QNearFieldTarget()

Уничтожает целевое устройство ближнего поля.

[pure virtual] AccessMethods QNearFieldTarget::accessMethods() const

Возвращает методы доступа, поддерживаемые этим целевым устройством ближнего поля.

[signal] void QNearFieldTarget::disconnected()

Этот сигнал подаётся, когда целевое устройство ближнего поля перемещается за пределы зоны действия.

[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)

Этот сигнал подаётся, когда при обработке запроса id возникает ошибка. Параметр error описывает ошибку.

[virtual protected] bool QNearFieldTarget::handleResponse(const QNearFieldTarget::RequestId &id, const QByteArray &response)

Обрабатывает полученный ответ response для запроса id. Возвращает true, если ответ обработан, иначе возвращает false.

Классы, переопределяющие эту виртуальную функцию, должны вызывать реализацию базового класса, чтобы гарантировать правильную обработку запросов, инициированных этими классами.

По умолчанию реализация сохраняет ответ, чтобы его можно было получить с помощью requestResponse().

[virtual] bool QNearFieldTarget::hasNdefMessage()

Возвращает true, если на целевом устройстве ближнего поля хранится хотя бы одно сообщение NDEF; в противном случае возвращает false.

bool QNearFieldTarget::isProcessingCommand() const

Возвращает true, если целевое устройство обрабатывает команды; в противном случае возвращает false.

[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)

Этот сигнал подаётся, когда полное сообщение NDEF message было прочитано с целевого устройства.

См. также readNdefMessages().

[signal] void QNearFieldTarget::ndefMessagesWritten()

Этот сигнал подаётся, когда сообщения NDEF были успешно записаны в целевое устройство.

См. также writeNdefMessages().

[virtual] RequestId QNearFieldTarget::readNdefMessages()

Начинает чтение сообщений NDEF, хранящихся на целевом устройстве ближнего поля. Возвращает идентификатор запроса, который можно использовать для отслеживания статуса завершения запроса. Недопустимый идентификатор запроса будет возвращён, если целевое устройство не поддерживает чтение сообщений NDEF.

Для каждого сообщения NDEF будет подаваться сигнал ndefMessageRead(). Сигнал requestCompleted() будет подан, когда все сообщения NDEF будут прочитаны. Сигнал error() подаётся, если произошла ошибка.

[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)

Этот сигнал подаётся, когда запрос id завершается.

См. также sendCommand().

QVariant QNearFieldTarget::requestResponse(const RequestId &id)

Возвращает декодированный ответ для запроса id. Если запрос неизвестен или ещё не завершён, возвращается недействительный QVariant.

[virtual] RequestId QNearFieldTarget::sendCommand(const QByteArray &command)

Отправляет command целевому устройству ближнего поля. Возвращает идентификатор запроса, который можно использовать для отслеживания статуса завершения запроса. Недопустимый идентификатор запроса будет возвращён, если целевое устройство не поддерживает отправку команд, специфичных для типа тега.

Сигнал requestCompleted() будет подан при успешном завершении запроса; в противном случае будет подан сигнал error().

После успешного завершения запроса ответ можно получить из функции requestResponse(). Ответ этого запроса будет QByteArray.

См. также requestCompleted() и waitForRequestCompleted().

[virtual] RequestId QNearFieldTarget::sendCommands(const QList<QByteArray> &commands)

Отправляет несколько commands целевому устройству ближнего поля. Возвращает идентификатор запроса, который можно использовать для отслеживания статуса завершения запроса. Недопустимый идентификатор запроса будет возвращён, если целевое устройство не поддерживает отправку команд, специфичных для типа тега.

Если все команды завершатся успешно, будет подан сигнал requestCompleted(); в противном случае будет подан сигнал error(). Если команда завершится неудачей, последующие команды из этого вызова не будут обработаны.

После завершения запроса ответ для успешно завершённых запросов можно получить из функции requestResponse(). Ответ этого запроса будет QList<QByteArray>.

См. также requestCompleted() и waitForRequestCompleted().

void QNearFieldTarget::setResponseForRequest(const QNearFieldTarget::RequestId &id, const QVariant &response, bool emitRequestCompleted = true)

Устанавливает декодированный ответ для запроса id на response. Если emitRequestCompleted равно true, будет подан сигнал requestCompleted() для id; в противном случае сигнал не будет подан.

См. также requestResponse().

[pure virtual] Type QNearFieldTarget::type() const

Возвращает тип тега данного целевого объекта ближнего поля.

[pure virtual] QByteArray QNearFieldTarget::uid() const

Возвращает UID целевого объекта ближнего поля.

[virtual] QUrl QNearFieldTarget::url() const

Возвращает URL целевого объекта ближнего поля.

[virtual] bool QNearFieldTarget::waitForRequestCompleted(const RequestId &id, int msecs = 5000)

Ожидает завершения запроса id в течение msecs миллисекунд. Возвращает true, если запрос завершился успешно и был выпущен сигнал requestCompeted(); в противном случае возвращает false.

[virtual] RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)

Записывает NDEF-сообщения в messages в целевой объект. Возвращает идентификатор запроса, который может быть использован для отслеживания статуса завершения запроса. Возвращает недопустимый идентификатор запроса, если целевой объект не поддерживает чтение NDEF-сообщений.

Сигнал ndefMessagesWritten() будет выпущен при успешном завершении операции записи; в противном случае выпущен сигнал error().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qnearfieldtarget.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API