X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5bdcf268b3fe57526f35e7097c79f441bae7a5d3..cd883d9759844701ef57afa0cb03de7722acc5e5:/lib/python/connections.h diff --git a/lib/python/connections.h b/lib/python/connections.h index 9b4abdd2..d24bb42f 100644 --- a/lib/python/connections.h +++ b/lib/python/connections.h @@ -7,37 +7,17 @@ #include #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112L -#include + #include class PSignal { + ePyObject m_list; public: - PyObject *m_list; -public: - PSignal() - { - m_list = PyList_New(0); - Py_INCREF(m_list); - } - ~PSignal() - { - Py_DECREF(m_list); - } - - void callPython(PyObject *tuple) - { - int size = PyList_Size(m_list); - int i; - for (i=0; i class PSignal0: public PSignal, public Signal0 { @@ -53,7 +38,7 @@ public: { PyObject *pArgs = PyTuple_New(0); callPython(pArgs); - Py_DECREF(pArgs); + Org_Py_DECREF(pArgs); return Signal0::operator()(); } }; @@ -65,9 +50,9 @@ public: R operator()(V0 a0) { PyObject *pArgs = PyTuple_New(1); - PyTuple_SetItem(pArgs, 0, PyFrom(a0)); + PyTuple_SET_ITEM(pArgs, 0, PyFrom(a0)); callPython(pArgs); - Py_DECREF(pArgs); + Org_Py_DECREF(pArgs); return Signal1::operator()(a0); } }; @@ -79,10 +64,10 @@ public: R operator()(V0 a0, V1 a1) { PyObject *pArgs = PyTuple_New(2); - PyTuple_SetItem(pArgs, 0, PyFrom(a0)); - PyTuple_SetItem(pArgs, 1, PyFrom(a1)); + PyTuple_SET_ITEM(pArgs, 0, PyFrom(a0)); + PyTuple_SET_ITEM(pArgs, 1, PyFrom(a1)); callPython(pArgs); - Py_DECREF(pArgs); + Org_Py_DECREF(pArgs); return Signal2::operator()(a0, a1); } };