QNearFieldTarget Class
La classe QNearFieldTarget fournit une interface pour communiquer avec un dispositif cible. Plus d'informations...
| En-tête : | #include <QNearFieldTarget> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Nfc)target_link_libraries(mytarget PRIVATE Qt6::Nfc) |
| qmake : | QT += nfc |
| Héritages : | QObject |
Types publics
| 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 } |
Fonctions publiques
| 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) |
Signaux
| void | disconnected() |
| void | error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id) |
| void | ndefMessageRead(const QNdefMessage &message) |
| void | requestCompleted(const QNearFieldTarget::RequestId &id) |
Description détaillée
QNearFieldTarget fournit une interface générique pour communiquer avec un dispositif cible NFC. Cette classe prend en charge à la fois les dispositifs du Forum NFC et les cibles d'étiquettes du Forum NFC. Toutes les classes spécifiques aux cibles sous-classent cette classe.
La fonction type() peut être utilisée pour obtenir le type du dispositif cible. La fonction uid() renvoie l'identifiant unique de la cible. Les drapeaux AccessMethods renvoyés par la fonction accessMethods() peuvent être testés pour déterminer les méthodes d'accès supportées par la cible.
Si la cible supporte NdefAccess, hasNdefMessage() peut être appelé pour tester si la cible a un message NDEF stocké, les fonctions readNdefMessages() et writeNdefMessages() peuvent être utilisées pour obtenir et définir le message NDEF.
Si la cible supporte TagTypeSpecificAccess, sendCommand() peut être utilisé pour envoyer une commande propriétaire unique à la cible et récupérer la réponse.
Type de membre Documentation
enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods
Cette énumération décrit les méthodes d'accès prises en charge par une cible de champ proche.
| Constante | Valeur | Description |
|---|---|---|
QNearFieldTarget::UnknownAccess | 0x00 | La cible prend en charge un type d'accès inconnu. |
QNearFieldTarget::NdefAccess | 0x01 | La cible prend en charge la lecture et l'écriture de messages NDEF en utilisant readNdefMessages() et writeNdefMessages(). |
QNearFieldTarget::TagTypeSpecificAccess | 0x02 | La cible prend en charge l'envoi de commandes spécifiques au type de balise en utilisant sendCommand(). |
QNearFieldTarget::AnyAccess | 0xff | La cible supporte tous les types d'accès connus. |
Le type AccessMethods est un typedef pour QFlags<AccessMethod>. Il stocke une combinaison OR de valeurs AccessMethod.
enum QNearFieldTarget::Error
Cette énumération décrit les codes d'erreur signalés par une cible de champ proche.
| Constante | Valeur | Description de l'erreur |
|---|---|---|
QNearFieldTarget::NoError | 0 | Aucune erreur ne s'est produite. |
QNearFieldTarget::UnknownError | 1 | Une erreur non identifiée s'est produite. |
QNearFieldTarget::UnsupportedError | 2 | L'opération demandée n'est pas prise en charge par cette cible de champ proche. |
QNearFieldTarget::TargetOutOfRangeError | 3 | La cible n'est plus à portée. |
QNearFieldTarget::NoResponseError | 4 | La cible n'a pas répondu. |
QNearFieldTarget::ChecksumMismatchError | 5 | La somme de contrôle a détecté une réponse corrompue. |
QNearFieldTarget::InvalidParametersError | 6 | Des paramètres non valides ont été transmis à une fonction spécifique à un type de balise. |
QNearFieldTarget::ConnectionError | 7 | Échec de la connexion à la cible. |
QNearFieldTarget::NdefReadError | 8 | Échec de la lecture des messages NDEF de la cible. |
QNearFieldTarget::NdefWriteError | 9 | Échec de l'écriture de messages NDEF sur la cible. |
QNearFieldTarget::CommandError | 10 | Échec de l'envoi d'une commande à la cible. |
QNearFieldTarget::TimeoutError | 11 | La demande n'a pas pu être achevée dans le délai spécifié dans waitForRequestCompleted(). |
QNearFieldTarget::UnsupportedTargetError | 12 | La cible utilisée n'est pas prise en charge. Par exemple, cela peut se produire lorsque l'application client ne dispose pas des droits et/ou des paramètres de confidentialité requis. |
enum QNearFieldTarget::Type
Cette énumération décrit le type d'étiquette détecté pour la cible.
| Constante | Valeur | Description |
|---|---|---|
QNearFieldTarget::ProprietaryTag | 0 | Étiquette de cible propriétaire non identifiée. |
QNearFieldTarget::NfcTagType1 | 1 | Une cible NFC de type 1. |
QNearFieldTarget::NfcTagType2 | 2 | Un tag NFC de type 2. |
QNearFieldTarget::NfcTagType3 | 3 | Un tag NFC de type 3. |
QNearFieldTarget::NfcTagType4 | 4 | Un tag NFC de type 4 cible. Cette valeur est utilisée si le NfcTagType4 ne peut pas être affiné par le NfcTagType4A ou le NfcTagType4B ci-dessous. |
QNearFieldTarget::NfcTagType4A | 5 | Une cible d'étiquette NFC de type 4 basée sur la norme ISO/IEC 14443-3A. |
QNearFieldTarget::NfcTagType4B | 6 | Une cible d'étiquette NFC de type 4 basée sur la norme ISO/IEC 14443-3B. |
QNearFieldTarget::MifareTag | 7 | Une cible Mifare. |
Documentation des fonctions membres
[explicit] QNearFieldTarget::QNearFieldTarget(QObject *parent = nullptr)
Construit une nouvelle cible de champ proche avec parent.
[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()
Détruit la cible du champ proche.
QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const
Renvoie les méthodes d'accès prises en charge par cette cible de champ proche.
bool QNearFieldTarget::disconnect()
Ferme la connexion à la cible pour permettre la communication avec la cible à partir d'une instance différente. La connexion sera également fermée lorsque le site QNearFieldTarget sera détruit. Une connexion au dispositif cible est (re)créée pour traiter une commande ou lire/écrire un message NDEF.
Renvoie true uniquement si une connexion existante a été fermée avec succès ; sinon, renvoie false.
[signal] void QNearFieldTarget::disconnected()
Ce signal est émis lorsque la cible en champ proche s'éloigne.
[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
Ce signal est émis lorsqu'une erreur se produit lors du traitement de la demande id. Le paramètre error décrit l'erreur.
bool QNearFieldTarget::hasNdefMessage()
Renvoie true si au moins un message NDEF est stocké sur la cible de champ proche ; sinon, renvoie false.
int QNearFieldTarget::maxCommandLength() const
Renvoie le nombre maximum d'octets qui peuvent être envoyés avec sendCommand. 0 sera renvoyé si la cible ne supporte pas l'envoi de commandes spécifiques au type de tag.
Voir aussi sendCommand().
[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)
Ce signal est émis lorsqu'un NDEF message complet a été lu dans la cible.
Voir aussi readNdefMessages().
QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()
Commence à lire les messages NDEF stockés sur la cible de champ proche. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de demande invalide sera renvoyé si la cible ne prend pas en charge la lecture des messages NDEF.
Un signal ndefMessageRead() est émis pour chaque message NDEF. Le signal requestCompleted() est émis lorsque tous les messages NDEF ont été lus. Le signal error() est émis en cas d'erreur.
Note : Une tentative de lecture d'un message NDEF à partir d'un tag, qui est dans l'état INITIALIZED tel que défini par le NFC Forum, échouera avec le signal NdefReadError, car le tag est formaté pour supporter le NDEF mais ne contient pas encore de message.
[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)
Ce signal est émis lorsqu'une requête id est terminée.
Voir également sendCommand().
QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const
Renvoie la réponse décodée pour la demande id. Si la demande est inconnue ou n'a pas encore été complétée, une réponse invalide QVariant est renvoyée.
QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)
Envoie command à la cible en champ proche. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de demande invalide sera renvoyé si la cible ne prend pas en charge l'envoi de commandes spécifiques au type de balise.
Le signal requestCompleted() sera émis si la demande est terminée avec succès, sinon le signal error() sera émis.
Une fois la demande terminée avec succès, la réponse peut être récupérée à l'aide de la fonction requestResponse(). La réponse à cette demande sera un QByteArray.
Voir également requestCompleted() et waitForRequestCompleted().
QNearFieldTarget::Type QNearFieldTarget::type() const
Renvoie le type de balise de cette cible de champ proche.
QByteArray QNearFieldTarget::uid() const
Renvoie l'UID de la cible en champ proche.
Remarque : sur iOS, cette fonction renvoie une adresse QByteArray vide pour une cible de champ proche découverte à l'aide de la méthode NdefAccess.
Voir aussi QNearFieldTarget::AccessMethod.
bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
Attend jusqu'à msecs millisecondes que la demande id se termine. Renvoie true si la demande se termine avec succès et que le signal requestCompeted() est émis ; sinon, renvoie false.
QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)
Écrit les messages NDEF dans messages vers la cible. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de requête invalide sera renvoyé si la cible ne supporte pas l'écriture de messages NDEF.
Le signal requestCompleted() est émis lorsque l'opération d'écriture se termine avec succès ; dans le cas contraire, le signal error() est émis.
© 2026 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.