summaryrefslogtreecommitdiffstats
path: root/src/sensors/qsensormanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sensors/qsensormanager.h')
-rw-r--r--src/sensors/qsensormanager.h16
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