add workaround
[vuplus_dvbapp] / lib / python / connections.cpp
1 #include <lib/python/connections.h>
2
3 PSignal::PSignal()
4         :m_destroyed(0)
5 {
6 }
7
8 PSignal::~PSignal()
9 {
10         if (m_destroyed)
11                 *m_destroyed = true;
12         Py_XDECREF(m_list);
13 }
14
15 void PSignal::callPython(ePyObject tuple)
16 {
17         int size = PyList_Size(m_list);
18         int i;
19         for (i=0; i<size; ++i)
20         {
21                 ePyObject b = PyList_GET_ITEM(m_list, i);
22                 ePython::call(b, tuple);
23         }
24 }
25
26 PyObject *PSignal::get(bool steal)
27 {
28         if (!steal) {
29                 if (!m_list)
30                         m_list = PyList_New(0);
31                 Py_INCREF(m_list);
32         }
33         return m_list;
34 }