QNearFieldTarget Class
La classe QNearFieldTarget fournit une interface permettant de communiquer avec un périphérique cible. En savoir plus...
| En-tête : | #include <QNearFieldTarget> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Nfc) target_link_libraries(mytarget PRIVATE Qt6::Nfc) |
| qmake : | QT += nfc |
| Hérite de : | 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 permettant de communiquer avec un périphérique cible NFC. Cette classe prend en charge à la fois les périphériques NFC Forum et les cibles NFC Forum Tag. Toutes les classes spécifiques à une cible sont des sous-classes de cette classe.
La fonction type() permet d'obtenir le type du périphérique cible. La fonction uid() renvoie l'identifiant unique de la cible. Les indicateurs AccessMethods renvoyés par la fonction accessMethods() peuvent être analysés pour déterminer quelles méthodes d'accès sont prises en charge par la cible.
Si la cible prend en charge la fonction « NdefAccess », la fonction ` hasNdefMessage()` peut être appelée pour vérifier si la cible contient un message NDEF stocké ; les fonctions ` readNdefMessages()` et ` writeNdefMessages()` peuvent alors être utilisées pour récupérer et définir ce message NDEF.
Si la cible prend en charge TagTypeSpecificAccess, la fonction sendCommand() peut être utilisée pour envoyer une commande propriétaire unique à la cible et récupérer la réponse.
Documentation sur les types de membres
enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods
Cette énumération décrit les méthodes d'accès prises en charge par une cible en 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 à l'aide des méthodes readNdefMessages() et writeNdefMessages(). |
QNearFieldTarget::TagTypeSpecificAccess | 0x02 | La cible prend en charge l'envoi de commandes spécifiques au type de balise à l'aide de sendCommand(). |
QNearFieldTarget::AnyAccess | 0xff | La cible prend en charge 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 renvoyés par une cible en champ proche.
| Constante | Valeur | Description |
|---|---|---|
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 en 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 au type de balise. |
QNearFieldTarget::ConnectionError | 7 | Échec de la connexion à la cible. |
QNearFieldTarget::NdefReadError | 8 | Échec de la lecture des messages NDEF depuis la cible. |
QNearFieldTarget::NdefWriteError | 9 | Échec de l'écriture des messages NDEF sur la cible. |
QNearFieldTarget::CommandError | 10 | Échec de l'envoi d'une commande à la cible. |
QNearFieldTarget::TimeoutError | 11 | La requête n'a pas pu être traitée dans le délai spécifié dans ` waitForRequestCompleted()`. |
QNearFieldTarget::UnsupportedTargetError | 12 | La cible utilisée n'est pas prise en charge. Cela peut notamment se produire en cas d'absence des autorisations requises et/ou de paramètres de confidentialité dans l'application cliente. |
enum QNearFieldTarget::Type
Cette énumération décrit le type de balise attribué à la cible détectée.
| Constante | Valeur | Description |
|---|---|---|
QNearFieldTarget::ProprietaryTag | 0 | Une balise cible propriétaire non identifiée. |
QNearFieldTarget::NfcTagType1 | 1 | Une cible de type 1 pour les balises NFC. |
QNearFieldTarget::NfcTagType2 | 2 | Une cible de balise NFC de type 2. |
QNearFieldTarget::NfcTagType3 | 3 | Une cible de balise NFC de type 3. |
QNearFieldTarget::NfcTagType4 | 4 | Une cible de balise NFC de type 4. Cette valeur est utilisée si le NfcTagType4 ne peut pas être précisé davantage par les valeurs NfcTagType4A ou NfcTagType4B ci-dessous. |
QNearFieldTarget::NfcTagType4A | 5 | Une cible de balise NFC de type 4 conforme à la norme ISO/IEC 14443-3A. |
QNearFieldTarget::NfcTagType4B | 6 | Une cible de balise 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)
Crée une nouvelle cible en champ proche à l'aide de ` parent`.
[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()
Détruit la cible située à proximité.
QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const
Renvoie les méthodes d'accès prises en charge par cette cible en champ proche.
bool QNearFieldTarget::disconnect()
Ferme la connexion avec la cible afin de permettre la communication avec celle-ci depuis une autre instance. La connexion sera également fermée lorsque l'QNearFieldTarget sera détruite. Une connexion avec le périphérique cible est (re)créée pour traiter une commande ou lire/écrire des messages 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 survient lors du traitement de la requête 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 en champ proche ; sinon, renvoie ` false`.
int QNearFieldTarget::maxCommandLength() const
Renvoie le nombre maximal d'octets pouvant être envoyés via sendCommand. La valeur 0 est renvoyée si la cible ne prend pas en charge l'envoi de commandes spécifiques au type de balise.
Voir également ` sendCommand()`.
[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)
Ce signal est émis lorsqu'une message NDEF complète a été lue à partir de la cible.
Voir également readNdefMessages().
QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()
Lance la lecture des messages NDEF stockés sur la cible en champ proche. Renvoie un identifiant de requête qui peut être utilisé pour suivre l'état d'avancement de la requête. Un identifiant de requête non valide sera renvoyé si la cible ne prend pas en charge la lecture des messages NDEF.
Un signal « ndefMessageRead() » sera émis pour chaque message NDEF. Le signal « requestCompleted() » sera émis lorsque tous les messages NDEF auront été lus. Le signal « error() » est émis en cas d’erreur.
Remarque : toute tentative de lecture d’un message NDEF à partir d’une balise se trouvant à l’état INITIALIZED, tel que défini par le NFC Forum, échouera avec le signal « NdefReadError », car la balise est formatée pour prendre en charge le protocole 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 correspondant à la requête id. Si la requête est inconnue ou n'a pas encore été traitée, un code d'erreur « QVariant » est renvoyé.
QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)
Envoie la commande « command » à la cible en champ proche. Renvoie un identifiant de requête permettant de suivre l'état d'avancement de la requête. Un identifiant de requête non valide 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 requête aboutit ; dans le cas contraire, c’est le signal ` error()` qui sera émis.
Une fois la requête exécutée avec succès, la réponse peut être récupérée via la fonction ` requestResponse()`. La réponse à cette requête sera un ` QByteArray`.
Voir également requestCompleted() et waitForRequestCompleted().
QNearFieldTarget::Type QNearFieldTarget::type() const
Renvoie le type de balise de cette cible en champ proche.
QByteArray QNearFieldTarget::uid() const
Renvoie l'UID de la cible en champ proche.
Remarque : sous iOS, cette fonction renvoie un objet ` QByteArray ` vide pour une cible en champ proche détectée à l'aide de la méthode ` NdefAccess `.
Voir également QNearFieldTarget::AccessMethod.
bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
Attend jusqu’à msecs millisecondes que la requête id soit terminée. Renvoie true si la requête aboutit et que le signal requestCompeted() est émis ; sinon, renvoie false.
QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)
Écrit les messages NDEF contenus dans ` messages ` sur la cible. Renvoie un identifiant de requête permettant de suivre l'état d'avancement de la requête. Un identifiant de requête non valide sera renvoyé si la cible ne prend pas en charge l'écriture de messages NDEF.
Le signal « requestCompleted() » sera émis lorsque l’opération d’écriture se sera terminée avec succès ; dans le cas contraire, le signal « error() » sera é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.