From a03633756e372284884e8a73135405cc4930b75e Mon Sep 17 00:00:00 2001
From: Olivier Stasse <olivier.stasse@gmail.com>
Date: Wed, 10 Jul 2013 16:18:41 +0200
Subject: [PATCH] Exposes class name to the python side.

---
 src/dynamic-graph-py.cc          | 3 +++
 src/dynamic_graph/signal_base.py | 8 +++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/dynamic-graph-py.cc b/src/dynamic-graph-py.cc
index 86485c7..acaaf29 100644
--- a/src/dynamic-graph-py.cc
+++ b/src/dynamic-graph-py.cc
@@ -33,6 +33,7 @@ namespace dynamicgraph {
       extern PyObject* getTime(PyObject* self, PyObject* args);
       extern PyObject* setTime(PyObject* self, PyObject* args);
       extern PyObject* getName(PyObject* self, PyObject* args);
+      extern PyObject* getClassName(PyObject* self, PyObject* args);
       extern PyObject* display(PyObject* self, PyObject* args);
       extern PyObject* displayDependencies(PyObject* self, PyObject* args);
       extern PyObject* getValue(PyObject* self, PyObject* args);
@@ -151,6 +152,8 @@ static PyMethodDef dynamicGraphMethods[] = {
    METH_VARARGS, "Set time of  a SignalBase"},
   {"signal_base_get_name", dynamicgraph::python::signalBase::getName,
    METH_VARARGS, "Get the name of a signal"},
+  {"signal_base_get_class_name", dynamicgraph::python::signalBase::getClassName,
+   METH_VARARGS, "Get the class name of a signal"},
   {"signal_base_display", dynamicgraph::python::signalBase::display,
    METH_VARARGS, "Print the signal in a string"},
   {"signal_base_display_dependencies", dynamicgraph::python::signalBase::displayDependencies,
diff --git a/src/dynamic_graph/signal_base.py b/src/dynamic_graph/signal_base.py
index a769e4b..1894d9e 100644
--- a/src/dynamic_graph/signal_base.py
+++ b/src/dynamic_graph/signal_base.py
@@ -165,7 +165,7 @@ class SignalBase (object) :
             raise RuntimeError(
                 "A pointer is required to create SignalBase object.")
         self.name=self.getName()
-
+        self.className=self.getClassName()
     @property
     def time(self) :
         """
@@ -222,6 +222,12 @@ class SignalBase (object) :
         """
         return wrap.signal_base_get_name(self.obj)
 
+    def getClassName(self):
+        """
+        Get class name of signal
+        """
+        return wrap.signal_base_get_class_name(self.obj)
+
     def recompute(self, time):
         """
         Force signal to recompute the value at given time.
-- 
GitLab