hand over extra_args to finished callback for eBatch calls
[enigma2.git] / lib / python / connections.cpp
index c24c9399478a7bb994a5c72a6eb3ed05bf7ae14e..b54c07b16620287b40684b98592a936b6b5c7e50 100644 (file)
@@ -1,9 +1,34 @@
 #include <lib/python/connections.h>
 
-PSignal1<void,int> testsignal;
+PSignal::PSignal()
+       :m_destroyed(0)
+{
+}
 
-void connect(Slot1<void, int> &slot, PyObject *fnc)
+PSignal::~PSignal()
 {
-       printf("CONNECT !\n");
+       if (m_destroyed)
+               *m_destroyed = true;
+       Py_XDECREF(m_list);
 }
 
+void PSignal::callPython(ePyObject tuple)
+{
+       int size = PyList_Size(m_list);
+       int i;
+       for (i=0; i<size; ++i)
+       {
+               ePyObject b = PyList_GET_ITEM(m_list, i);
+               ePython::call(b, tuple);
+       }
+}
+
+PyObject *PSignal::get(bool steal)
+{
+       if (!steal) {
+               if (!m_list)
+                       m_list = PyList_New(0);
+               Py_INCREF(m_list);
+       }
+       return m_list;
+}