Spec-Zone.ru › Qt 5.9

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

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

Поскольку бэкенды датчиков создаются по требованию, плагин датчика загружается и его просят зарегистрировать бэкенды датчиков, за которые он отвечает. Плагин должен реализовать 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()
    {
        QSensorManager::registerBackend(QAccelerometer::type, MyBackend::id, this);
    }

    QSensorBackend *createBackend(QSensor *sensor)
    {
        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.6/creating-a-sensor-plugin.html

Spec-Zone.ru

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