diff options
Diffstat (limited to 'src/sensors/qsensormanager.h')
-rw-r--r-- | src/sensors/qsensormanager.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/sensors/qsensormanager.h b/src/sensors/qsensormanager.h index 48a2ed46..f23f9e7e 100644 --- a/src/sensors/qsensormanager.h +++ b/src/sensors/qsensormanager.h @@ -43,7 +43,6 @@ #define QSENSORMANAGER_H #include "qsensor.h" -#include "qsensorplugindefs.h" QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -80,6 +79,21 @@ protected: ~QSensorBackendFactory() {} }; +// Static plugins have their own registration methods. +// They can only register types. They cannot use the changes interface. +#define REGISTER_STATIC_PLUGIN(pluginname) \ + static QSensorPluginInterface *create_static_plugin_ ## pluginname()\ + {\ + return new pluginname;\ + }\ + static bool side_effect_sensor_backend_ ## pluginname ()\ + {\ + QSensorManager::registerStaticPlugin(create_static_plugin_ ## pluginname);\ + return false;\ + }\ + /* This assignment calls the function above */\ + static bool dummy_sensor_backend_ ## pluginname = side_effect_sensor_backend_ ## pluginname(); + QT_END_NAMESPACE QT_END_HEADER |