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::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()
ニアフィールドターゲットに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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。