QNearFieldTarget Class

QNearFieldTargetクラスは、ターゲット・デバイスと通信するためのインターフェースを提供します。詳細...

Header: #include <QNearFieldTarget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake: QT += nfc
Inherits: QObject

パブリック型

class RequestId
enum AccessMethod { UnknownAccess, NdefAccess, TagTypeSpecificAccess, AnyAccess }
flags AccessMethods
enum Error { NoError, UnknownError, UnsupportedError, TargetOutOfRangeError, NoResponseError, …, UnsupportedTargetError }
enum Type { ProprietaryTag, NfcTagType1, NfcTagType2, NfcTagType3, NfcTagType4, …, MifareTag }

パブリック関数

QNearFieldTarget(QObject *parent = nullptr)
virtual ~QNearFieldTarget()
QNearFieldTarget::AccessMethods accessMethods() const
bool disconnect()
bool hasNdefMessage()
int maxCommandLength() const
QNearFieldTarget::RequestId readNdefMessages()
QVariant requestResponse(const QNearFieldTarget::RequestId &id) const
QNearFieldTarget::RequestId sendCommand(const QByteArray &command)
QNearFieldTarget::Type type() const
QByteArray uid() const
bool waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
QNearFieldTarget::RequestId writeNdefMessages(const QList<QNdefMessage> &messages)

シグナル

void disconnected()
void error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
void ndefMessageRead(const QNdefMessage &message)
void requestCompleted(const QNearFieldTarget::RequestId &id)

詳細説明

QNearFieldTarget は NFC ターゲット・デバイスと通信するための汎用インタフェー スを提供します。NFC フォーラム・デバイスと NFC フォーラム・タグ・ターゲットの両方がこのクラスでサ ポートされます。すべてのターゲット固有のクラスはこのクラスをサブクラス化します。

type() 関数を使用すると、ターゲット・デバイスのタイプを取得できます。uid() 関数は、ターゲットの一意の識別子を返します。accessMethods() 関数から返されるAccessMethods フラグをテストして、ターゲットがどのアクセス・メソッドをサ ポートしているかを判断することができる。

ターゲットがNdefAccess をサポートしている場合、hasNdefMessage() を呼び出して、ターゲットに NDEF メッセージが格納されているかどうかをテストすることができる。readNdefMessages() およびwriteNdefMessages() 関数を使用して、NDEF メッセージを取得および設定することができる。

ターゲットがTagTypeSpecificAccess をサポートしている場合、sendCommand() を使用して、ターゲットに独自のコマンドを 1 つ送信し、その応答を取得することができる。

メンバ型ドキュメント

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

この enum は、ニアフィールドターゲットがサポートするアクセスメソッドを記述します。

定数説明
QNearFieldTarget::UnknownAccess0x00ターゲットは未知のアクセス・タイプをサポートします。
QNearFieldTarget::NdefAccess0x01ターゲットはreadNdefMessages() とwriteNdefMessages() を使用した NDEF メッセージの読み書きをサポートする。
QNearFieldTarget::TagTypeSpecificAccess0x02ターゲットは、sendCommand ()を使用したタグ・タイプ固有のコマンドの送信をサポートしている。
QNearFieldTarget::AnyAccess0xffターゲットは、既知のアクセス・タイプのいずれかをサポートしている。

AccessMethods 型はQFlags<AccessMethod> の typedef である。これは、AccessMethod値のORの組み合わせを格納する。

enum QNearFieldTarget::Error

この列挙型は、ニアフィールドターゲットが報告するエラーコードを記述します。

定数説明
QNearFieldTarget::NoError0エラーは発生していません。
QNearFieldTarget::UnknownError1未確認のエラーが発生しました。
QNearFieldTarget::UnsupportedError2要求された操作は、このニアフィールドターゲットではサポートされていません。
QNearFieldTarget::TargetOutOfRangeError3ターゲットが範囲内にいません。
QNearFieldTarget::NoResponseError4ターゲットが応答しなかった。
QNearFieldTarget::ChecksumMismatchError5チェックサムが破損した応答を検出しました。
QNearFieldTarget::InvalidParametersError6タグタイプ固有の関数に無効なパラメータが渡されました。
QNearFieldTarget::ConnectionError7ターゲットへの接続に失敗しました。
QNearFieldTarget::NdefReadError8ターゲットからの NDEF メッセージの読み取りに失敗しました。
QNearFieldTarget::NdefWriteError9ターゲットへの NDEF メッセージの書き込みに失敗しました。
QNearFieldTarget::CommandError10ターゲットへのコマンド送信に失敗しました。
QNearFieldTarget::TimeoutError11waitForRequestCompleted() で指定された時間内に要求を完了できませんでした。
QNearFieldTarget::UnsupportedTargetError12使用されたターゲットがサポートされていません。例として、クライアントアプリから必要なエンタイトルメントやプライバシー設定がない場合に発生する可能性があります。

enum QNearFieldTarget::Type

この列挙型は、ターゲットが検出されたタグのタイプを記述する。

定数説明
QNearFieldTarget::ProprietaryTag0未確認の独自ターゲットタグ。
QNearFieldTarget::NfcTagType11NFCタグ・タイプ1のターゲット。
QNearFieldTarget::NfcTagType22NFCタグ・タイプ2のターゲット。
QNearFieldTarget::NfcTagType33NFC タグ・タイプ 3 のターゲット。
QNearFieldTarget::NfcTagType44NFC タグ・タイプ 4 のターゲット。この値は、NfcTagType4 が以下の NfcTagType4A または NfcTagType4B によってさらに絞り込めない場合に使用されます。
QNearFieldTarget::NfcTagType4A5ISO/IEC 14443-3A に基づく NFC タグタイプ 4 ターゲット。
QNearFieldTarget::NfcTagType4B6ISO/IEC 14443-3B に基づく NFC タグタイプ 4 ターゲット。
QNearFieldTarget::MifareTag7Mifareターゲット。

メンバー関数 ドキュメント

[explicit] QNearFieldTarget::QNearFieldTarget(QObject *parent = nullptr)

parent で新しいニアフィールドターゲットを構築する。

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

ニアフィールド・ターゲットを破棄します。

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

このニアフィールドターゲットがサポートするアクセスメソッドを返します。

bool QNearFieldTarget::disconnect()

ターゲットへの接続を閉じ、別のインスタンスからターゲットとの通信を可能にします。QNearFieldTarget が破棄されると、接続も閉じられます。ターゲットデバイスへの接続は、コマンドの処理やNDEFメッセージの読み書きのために(再)作成されます。

既存の接続が正常に閉じられた場合のみtrue を返し、そうでない場合はfalse を返す。

[signal] void QNearFieldTarget::disconnected()

このシグナルは、ニアフィールドターゲットが近接から外れたときに発せられる。

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

このシグナルは、リクエストid の処理中にエラーが発生したときに発せられる。error パラメータにエラーが記述される。

bool QNearFieldTarget::hasNdefMessage()

ニアフィールドターゲットにNDEFメッセージが少なくとも1つ格納されていればtrue を返し、そうでなければfalse を返す。

int QNearFieldTarget::maxCommandLength() const

sendCommand で送信可能な最大バイト数を返す。 ターゲットがタグタイプ固有のコマンドの送信をサポートしていない場合、0 が返される。

sendCommand()も参照のこと

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

このシグナルは、ターゲットから完全なNDEFmessage が読み取られたときに発せられる。

readNdefMessages()も参照

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

ニアフィールド・ターゲットに格納されたNDEFメッセージの読み取りを開始する。リクエストの完了ステータスを追跡するために使用できるリクエストIDを返す。ターゲットがNDEFメッセージの読み取りをサポートしていない場合、無効なリクエストIDが返される。

ndefMessageRead() シグナルは各NDEFメッセージに対して発せられる。requestCompleted() シグナルは、すべてのNDEFメッセージが読み込まれたときに発せられる。エラーが発生すると、error() シグナルが送出される。

NdefReadErrorタグはNDEFをサポートするようにフォーマットされていますが、まだメッセー ジを含んでいないためです。

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

このシグナルは、リクエスト(id )が完了したときに発せられます。

sendCommand()も参照のこと

QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const

リクエストid に対するデコードされた応答を返す。リクエストが不明であるか、まだ完了していない場合、無効なQVariant が返される。

QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)

command をニアフィールドターゲットに送信する。リクエストの完了ステータスを追跡するために使用できるリクエストIDを返す。ターゲットがタグタイプ固有のコマンドの送信をサポートしていない場合、無効なリクエストIDが返される。

リクエストが正常に完了するとrequestCompleted() シグナルが発行され、そうでない場合はerror() シグナルが発行される。

リクエストが正常に完了すると、requestResponse ()関数からレスポンスを取得できる。このリクエストのレスポンスはQByteArray となる。

requestCompleted() およびwaitForRequestCompleted()も参照

QNearFieldTarget::Type QNearFieldTarget::type() const

このニアフィールドターゲットのタグタイプを返す。

QByteArray QNearFieldTarget::uid() const

ニアフィールドターゲットの UID を返します。

注: iOS では、この関数はNdefAccess メソッドを使用して発見されたニアフィールドターゲッ トに対して空のQByteArray を返します。

QNearFieldTarget::AccessMethodも参照

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

id リクエストが完了するまで最大msecs ミリ秒待機する。リクエストが正常に完了し、requestCompeted()シグナルが発せられた場合はtrue を返し、そうでない場合はfalse を返す。

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

messages のNDEFメッセージをターゲットに書き込む。リクエストの完了ステータスを追跡するために使用できるリクエストID を返す。ターゲットがNDEFメッセージの読み取りをサポートしていない場合、無効なリクエストIDが返される。

書き込み操作が正常に完了するとrequestCompleted() シグナルが発行され、そうでない場合はerror() シグナルが発行されます。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。