From d88c6f407b3e2da6b87d4f0254b49c973e615785 Mon Sep 17 00:00:00 2001
From: Guilhem Saurel <guilhem.saurel@laas.fr>
Date: Thu, 3 Sep 2020 00:19:16 +0200
Subject: [PATCH] add RosPublish.add_signals()

---
 src/CMakeLists.txt                  | 12 +++++++++---
 src/ros_publish-python-module-py.cc | 12 ++++++++++++
 src/ros_publish-python.hh           |  3 ---
 3 files changed, 21 insertions(+), 6 deletions(-)
 create mode 100644 src/ros_publish-python-module-py.cc
 delete mode 100644 src/ros_publish-python.hh

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index fef176b..19c7ea7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -24,9 +24,15 @@ FOREACH(plugin ${plugins})
 
   IF(BUILD_PYTHON_INTERFACE)
     STRING(REPLACE - _ PYTHON_LIBRARY_NAME ${LIBRARY_NAME})
-    DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}"
-      ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap
-      MODULE_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh)
+    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python-module-py.cc")
+      DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}"
+        ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap
+        SOURCE_PYTHON_MODULE "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python-module-py.cc")
+    elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh")
+      DYNAMIC_GRAPH_PYTHON_MODULE("ros/${PYTHON_LIBRARY_NAME}"
+        ${LIBRARY_NAME} ${PROJECT_NAME}-${PYTHON_LIBRARY_NAME}-wrap
+        MODULE_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/${plugin}-python.hh")
+    endif()
   ENDIF(BUILD_PYTHON_INTERFACE)
 ENDFOREACH(plugin)
 
diff --git a/src/ros_publish-python-module-py.cc b/src/ros_publish-python-module-py.cc
new file mode 100644
index 0000000..1d95259
--- /dev/null
+++ b/src/ros_publish-python-module-py.cc
@@ -0,0 +1,12 @@
+#include <dynamic-graph/python/module.hh>
+#include "ros_publish.hh"
+
+namespace dg = dynamicgraph;
+
+
+BOOST_PYTHON_MODULE(wrap)
+{
+  bp::import("dynamic_graph");
+
+  dg::python::exposeEntity<dg::RosPublish, bp::bases<dg::Entity>, dg::python::AddCommands>() ;
+}
diff --git a/src/ros_publish-python.hh b/src/ros_publish-python.hh
deleted file mode 100644
index 7be650a..0000000
--- a/src/ros_publish-python.hh
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "ros_publish.hh"
-
-typedef boost::mpl::vector< dynamicgraph::RosPublish > entities_t;
-- 
GitLab