From 6d18a269650d0c7f70a5adaca7c71bc2958f97ab Mon Sep 17 00:00:00 2001
From: Jeremie Deray <jeremie.deray@pal-robotics.com>
Date: Thu, 29 Sep 2016 16:32:20 +0200
Subject: [PATCH] define macro WOLF_REGISTER_SENSOR & use it with laser2D

---
 src/sensor_factory.h    | 4 ++++
 src/sensor_laser_2D.cpp | 4 +++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/sensor_factory.h b/src/sensor_factory.h
index 03bb93797..d70721001 100644
--- a/src/sensor_factory.h
+++ b/src/sensor_factory.h
@@ -225,6 +225,10 @@ inline std::string Factory<SensorBase,
   return "SensorFactory";
 }
 
+#define WOLF_REGISTER_SENSOR(SensorType, SensorName) \
+  const bool SensorName##Registered = \
+    wolf::SensorFactory::get().registerCreator(SensorType, SensorName::create); \
+
 } /* namespace wolf */
 
 #endif /* SENSOR_FACTORY_H_ */
diff --git a/src/sensor_laser_2D.cpp b/src/sensor_laser_2D.cpp
index 92e5cf14a..aa89b092c 100644
--- a/src/sensor_laser_2D.cpp
+++ b/src/sensor_laser_2D.cpp
@@ -87,7 +87,9 @@ namespace wolf {
 //}
 namespace
 {
-const bool registered_laser = SensorFactory::get().registerCreator("LASER 2D", SensorLaser2D::create);
+//const bool registered_laser = SensorFactory::get().registerCreator("LASER 2D", SensorLaser2D::create);
 //const bool registered_laser_params = IntrinsicsFactory::get().registerCreator("LASER 2D", createIntrinsicsLaser2D);
+
+WOLF_REGISTER_SENSOR("LASER 2D", SensorLaser2D)
 }
 } // namespace wolf
-- 
GitLab