Dynamische Sensor-Backend-Registrierung
Statische Backend-Registrierung
Sensor-Backends werden im Allgemeinen statisch registriert. Die Registrierung erfolgt, wenn die Sensorbibliothek zum ersten Mal verwendet wird, und die Registrierung bleibt in Kraft, während das Programm läuft.
Statisch registrierte Backends können dennoch ein gewisses dynamisches Verhalten aufweisen, da es QSensorBackendFactory freisteht, 0 zurückzugeben, um anzuzeigen, dass ein Backend nicht erstellt werden kann.
Dynamische Backend-Registrierung
Obwohl die statische Registrierung für die meisten Backends in Ordnung ist, gibt es einige Situationen, in denen dies problematisch ist.
Das deutlichste Beispiel sind Backends, die nicht fixe Hardware darstellen. Zum Beispiel ein Game Controller, der über Bluetooth verbunden ist. Da sich möglicherweise mehr als ein Gamecontroller in Reichweite des Telefons befindet, möchte das Programm aufzeichnen, dass ein bestimmter Gamecontroller verwendet werden soll. Wäre das Backend statisch registriert worden, hätte es keine eindeutigen Informationen über den Controller gegeben. Stattdessen wird die Registrierung verzögert, bis der Controller gesehen wird.
Vorgeschlagene Registrierungspolitik
Ein Backend für feste Hardware sollte sofort registriert werden. Anwendungen können sehen, dass der Sensor verwendet werden kann.
Ein Backend für entfernte Hardware sollte nicht sofort registriert werden. Anwendungen können sehen, dass der Sensor nicht verwendet werden kann. Wenn die Remote-Hardware verfügbar wird, sollte das Backend registriert werden. Anwendungen können sehen, dass der Sensor jetzt verfügbar ist.
Wenn es notwendig ist, für ein Backend, das registriert wurde, 0 von einer Fabrik zurückzugeben, sollte das Backend deregistriert werden. Anwendungen können sehen, dass der Sensor nicht mehr verfügbar ist. Wenn die Fabrik das Backend erneut erstellen kann, sollte es erneut registriert werden. Die Anwendungen können sehen, dass der Sensor wieder verfügbar ist.
Wenn die zugrunde liegende Hardware nicht mehr verfügbar ist, sollte das Backend deregistriert werden. Vorhandene Instanzen des Backends sollten der Anwendung Fehlerzustände melden, aber die Situation anständig behandeln.
© 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.