Spec-Zone.ru › Qt 5.9

Класс QNearFieldTarget

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

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

Типы

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

Открытые функции

QNearFieldTarget(QObject *parent = Q_NULLPTR)
виртуальный ~QNearFieldTarget()
виртуальный AccessMethods accessMethods() const = 0
bool disconnect()
виртуальный bool hasNdefMessage()
bool isProcessingCommand() const
bool keepConnection() const
int maxCommandLength() const
виртуальный RequestId readNdefMessages()
QVariant requestResponse(const RequestId &id)
виртуальный RequestId sendCommand(const QByteArray &command)
виртуальный RequestId sendCommands(const QList<QByteArray> &commands)
bool setKeepConnection(bool isPersistent)
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)
  • 32 открытые функции унаследованные от 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, так и целевые метки 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.

enum 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 в целевой объект.
QNearFieldTarget::CommandError 9 Не удалось отправить команду целевому объекту.

enum QNearFieldTarget::Type

Это перечисление описывает тип метки, распознанной как целевой объект.

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

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

QNearFieldTarget::QNearFieldTarget(QObject *parent = Q_NULLPTR)

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

[virtual] QNearFieldTarget::~QNearFieldTarget()

Удаляет целевой объект ближнего поля.

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

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

bool QNearFieldTarget::disconnect()

Закрывает соединение с целевым объектом.

Возвращает true только если существующее соединение было успешно закрыто.

Эта функция была добавлена в Qt 5.9.

См. также keepConnection() и setKeepConnection().

[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.

bool QNearFieldTarget::keepConnection() const

Возвращает true, если эта функция включена.

Эта функция была добавлена в Qt 5.9.

См. также setKeepConnection() и disconnect().

int QNearFieldTarget::maxCommandLength() const

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

Эта функция была добавлена в Qt 5.9.

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

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

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

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

[signal] void QNearFieldTarget::ndefMessagesWritten()

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

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

[virtual] RequestId QNearFieldTarget::readNdefMessages()

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

Сигнал ndefMessageRead() будет излучаться для каждого сообщения NDEF. Сигнал 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)

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

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

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

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

bool QNearFieldTarget::setKeepConnection(bool isPersistent)

Сохраняет соединение с целевым устройством после обработки команды или чтения/записи сообщений NDEF, если isPersistent равно true. По умолчанию это поведение отключено.

Возвращает true если включение этой функции прошло успешно. Возможная причина неудачи — отсутствие поддержки на используемой платформе.

Для активации этой функции необходимо также использовать функцию disconnect(), чтобы вручную закрыть соединение и включить взаимодействие с целевым устройством из другого экземпляра. Отключение этой функции также закроет открытое соединение.

Функция была добавлена в Qt 5.9.

См. также keepConnection() и disconnect().

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

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

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

[pure virtual] Тип 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, если запрос завершен успешно и сигнал requestCompleted() испущен; в противном случае возвращает 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/qt-5.9/qnearfieldtarget.html

Spec-Zone.ru

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