Spec-Zone.ru › Qt 5.11

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

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

Поскольку бэкэнды датчиков создаются по требованию, плагин датчика загружается и просит зарегистрировать бэкэнды датчиков, за которые он отвечает. Плагин должен реализовывать 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/archives/qt-5.11/creating-a-sensor-plugin.html

Spec-Zone.ru

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