Spec-Zone.ru › Qt 5.15

Создание плагина датчика

Как загружается плагин датчика

Поскольку бэкэнды датчиков создаются по требованию, плагин датчика загружается и ему предлагается зарегистрировать бэкэнды датчиков, за которые он отвечает. Плагин должен реализовать QSensorPluginInterface::registerSensors() и вызвать QSensorManager::registerBackend() для регистрации доступных бэкэндов. Как правило, плагин также должен наследоваться от QSensorBackendFactory и реализовать QSensorBackendFactory::createBackend() для создания бэкэндов, которые он зарегистрировал.

Простейший плагин будет иметь только один бэкэнд датчика, хотя нет никаких причин, по которым в одном плагине не может быть несколько бэкэндов датчиков.

Следующий пример.

 class MyPluginClass : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
 {
     Q_OBJECT
     //Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
     Q_INTERFACES(QSensorPluginInterface)
 public:
     void registerSensors() override
     {
         QSensorManager::registerBackend(QAccelerometer::type, MyBackend::id, this);
     }

     QSensorBackend *createBackend(QSensor *sensor) override
     {
         if (sensor->identifier() == MyBackend::id)
             return new MyBackend(sensor);
         return 0;
     }
 };

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/creating-a-sensor-plugin.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API