39 if (!PyArg_ParseTuple (
function,
"O", &
func))
42 if (!PyCallable_Check (
func))
44 PyErr_SetString (PyExc_RuntimeError,
"Function is not callable");
48 if (PyList_Append (callback_list,
func) < 0)
64 if (!PyArg_ParseTuple (
function,
"O", &
func))
67 index = PySequence_Index (callback_list,
func);
71 if (PySequence_DelItem (callback_list, index) < 0)
87 if (eventregistry_obj == NULL)
90 eventregistry_obj->callbacks = PyList_New (0);
91 if (!eventregistry_obj->callbacks)
94 return eventregistry_obj.
release ();
101 Py_TYPE (
self)->tp_free (
self);
122 return PyList_Size (registry->
callbacks) == 0;
154 "GDB event registry object",
int gdb_pymodule_addobject(PyObject *module, const char *name, PyObject *object)
static void evregpy_dealloc(PyObject *self)
eventregistry_object * create_eventregistry_object(void)
PyObject_HEAD PyObject * callbacks
static PyObject * evregpy_connect(PyObject *self, PyObject *function)
#define PyVarObject_HEAD_INIT(type, size)
int evregpy_no_listeners_p(eventregistry_object *registry)
PyTypeObject eventregistry_object_type
events_object gdb_py_events
PyTypeObject eventregistry_object_type CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF("eventregistry_object")
static PyObject * evregpy_disconnect(PyObject *self, PyObject *function)
int gdbpy_initialize_eventregistry(void)
static PyMethodDef eventregistry_object_methods[]