QNearFieldTarget Class
QNearFieldTargetクラスは、ターゲット・デバイスと通信するためのインターフェースを提供します。詳細...
ヘッダー | #include <QNearFieldTarget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Nfc) target_link_libraries(mytarget PRIVATE Qt6::Nfc) |
qmake: | QT += nfc |
継承: | 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::UnknownAccess | 0x00 | ターゲットは未知のアクセス・タイプをサポートします。 |
QNearFieldTarget::NdefAccess | 0x01 | ターゲットはreadNdefMessages() とwriteNdefMessages() を使用した NDEF メッセージの読み書きをサポートする。 |
QNearFieldTarget::TagTypeSpecificAccess | 0x02 | ターゲットは、sendCommand ()を使用したタグ・タイプ固有のコマンドの送信をサポートしている。 |
QNearFieldTarget::AnyAccess | 0xff | ターゲットは、既知のアクセス・タイプのいずれかをサポートしている。 |
AccessMethods 型はQFlags<AccessMethod> の typedef である。これは、AccessMethod値のORの組み合わせを格納する。
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::ConnectionError | 7 | ターゲットへの接続に失敗しました。 |
QNearFieldTarget::NdefReadError | 8 | ターゲットからの NDEF メッセージの読み取りに失敗しました。 |
QNearFieldTarget::NdefWriteError | 9 | ターゲットへの NDEF メッセージの書き込みに失敗しました。 |
QNearFieldTarget::CommandError | 10 | ターゲットへのコマンド送信に失敗しました。 |
QNearFieldTarget::TimeoutError | 11 | waitForRequestCompleted() で指定された時間内に要求を完了できませんでした。 |
QNearFieldTarget::UnsupportedTargetError | 12 | 使用されたターゲットがサポートされていません。例として、クライアントアプリから必要なエンタイトルメントやプライバシー設定が見つからない場合に発生する可能性があります。 |
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 のターゲット。この値は、NfcTagType4 が以下の NfcTagType4A または NfcTagType4B によってさらに絞り込めない場合に使用されます。 |
QNearFieldTarget::NfcTagType4A | 5 | ISO/IEC 14443-3A に基づく NFC タグタイプ 4 ターゲット。 |
QNearFieldTarget::NfcTagType4B | 6 | ISO/IEC 14443-3B に基づく NFC タグタイプ 4 ターゲット。 |
QNearFieldTarget::MifareTag | 7 | Mifareターゲット。 |
メンバー関数ドキュメント
[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()
少なくとも1つのNDEFメッセージがニアフィールド・ターゲットに保存されていれば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() シグナルが送出される。
注: NFCフォーラムによって定義されたINITIALIZED状態にあるタグからNDEFメッセー ジを読み取ろうとすると、タグはNDEFをサポートするようにフォーマットされてい るが、まだメッセージを含んでいないため、NdefReadError で失敗します。
[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() シグナルが発行される。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.