From 615bb9f431f456f2c1fa5175e568448e52d8cb5f Mon Sep 17 00:00:00 2001
From: Florent Lamiraux <florent@laas.fr>
Date: Mon, 31 Jan 2011 06:21:08 +0100
Subject: [PATCH] Bind SignalBase<T, int>::setTime.

---
 src/dynamic-graph-py.cc          |  3 +++
 src/dynamic_graph/signal_base.py | 10 ++++++++++
 src/signal-base-py.cc            | 19 +++++++++++++++++++
 3 files changed, 32 insertions(+)

diff --git a/src/dynamic-graph-py.cc b/src/dynamic-graph-py.cc
index bf70bba..00a576d 100644
--- a/src/dynamic-graph-py.cc
+++ b/src/dynamic-graph-py.cc
@@ -29,6 +29,7 @@ namespace dynamicgraph {
     namespace signalBase {
       extern PyObject* create(PyObject* self, PyObject* args);
       extern PyObject* getTime(PyObject* self, PyObject* args);
+      extern PyObject* setTime(PyObject* self, PyObject* args);
       extern PyObject* getName(PyObject* self, PyObject* args);
       extern PyObject* display(PyObject* self, PyObject* args);
       extern PyObject* getValue(PyObject* self, PyObject* args);
@@ -147,6 +148,8 @@ static PyMethodDef dynamicGraphMethods[] = {
    "create a SignalBase C++ object"},
   {"signal_base_get_time", dynamicgraph::python::signalBase::getTime,
    METH_VARARGS, "Get time of  a SignalBase"},
+  {"signal_base_set_time", dynamicgraph::python::signalBase::setTime,
+   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_display", dynamicgraph::python::signalBase::display,
diff --git a/src/dynamic_graph/signal_base.py b/src/dynamic_graph/signal_base.py
index 7661b8d..08e4832 100644
--- a/src/dynamic_graph/signal_base.py
+++ b/src/dynamic_graph/signal_base.py
@@ -167,6 +167,16 @@ class SignalBase (object) :
         """
         return wrap.signal_base_get_time(self.obj)
 
+    @time.setter
+    def time(self, val) :
+        """
+        Set Time of signal
+
+          Input:
+            - an integer
+        """
+        return wrap.signal_base_set_time(self.obj, val)
+
     @property
     def value(self) :
         """
diff --git a/src/signal-base-py.cc b/src/signal-base-py.cc
index dc5d5e1..08b61e1 100644
--- a/src/signal-base-py.cc
+++ b/src/signal-base-py.cc
@@ -77,6 +77,25 @@ namespace dynamicgraph {
 	return Py_BuildValue("i", time);
       }
 
+      PyObject* setTime(PyObject* /*self*/, PyObject* args)
+      {
+	void* pointer = NULL;
+	PyObject* object = NULL;
+	int time;
+	if (!PyArg_ParseTuple(args,"Oi", &object, &time))
+	  return NULL;
+	if (!PyCObject_Check(object)) {
+	  PyErr_SetString(error, "object should be a C object");
+	  return NULL;
+	}
+
+	pointer = PyCObject_AsVoidPtr(object);
+	SignalBase<int>* obj = (SignalBase<int>*)pointer;
+
+	obj->setTime(time);
+	return Py_BuildValue("");
+      }
+
       PyObject* display(PyObject* /*self*/, PyObject* args)
       {
 	void* pointer = NULL;
-- 
GitLab