Sur cette page

Enregistrement dynamique du backend du capteur

Enregistrement statique du backend

Les backends de capteurs sont généralement enregistrés de manière statique. L'enregistrement a lieu lors de la première utilisation de la bibliothèque de capteurs et reste en vigueur pendant l'exécution du programme.

Les backends enregistrés de manière statique peuvent encore présenter un certain comportement dynamique, car QSensorBackendFactory est libre de renvoyer 0 pour indiquer qu'un backend ne peut pas être créé.

Enregistrement dynamique des backends

Bien que l'enregistrement statique convienne à la plupart des backends, il pose problème dans certaines situations.

L'exemple le plus clair est celui des backends qui représentent du matériel non fixe. Par exemple, un contrôleur de jeu connecté via Bluetooth. Comme il peut y avoir plus d'une manette de jeu à portée du téléphone, le programme veut enregistrer qu'une manette de jeu spécifique doit être utilisée. Si le backend avait été enregistré de manière statique, il n'y aurait pas eu d'informations uniques sur le contrôleur. Au lieu de cela, l'enregistrement est retardé jusqu'à ce que la manette soit vue.

Politique d'enregistrement suggérée

Un backend pour du matériel fixe doit être enregistré immédiatement. Les applications peuvent voir que le capteur peut être utilisé.

Un backend pour matériel distant ne doit pas être enregistré immédiatement. Les applications peuvent voir que le capteur ne peut pas être utilisé. Lorsque le matériel distant devient disponible, le backend doit être enregistré. Les applications peuvent voir que le capteur est disponible dès maintenant.

S'il est nécessaire de renvoyer 0 d'une usine pour un backend qui a été enregistré, le backend doit être désenregistré. Les applications peuvent voir que le capteur n'est plus disponible. Si la fabrique peut à nouveau créer le backend, il doit être réenregistré. Les applications peuvent constater que le capteur est à nouveau disponible.

Lorsque le matériel sous-jacent n'est plus disponible, le backend doit être désenregistré. Les instances existantes du backend doivent signaler les états d'erreur à l'application, mais doivent gérer la situation avec élégance.

© 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.