38 if (!PyArg_ParseTuple (function,
"O", &
func))
41 if (!PyCallable_Check (
func))
43 PyErr_SetString (PyExc_RuntimeError,
"Function is not callable");
47 if (PyList_Append (callback_list,
func) < 0)
63 if (!PyArg_ParseTuple (function,
"O", &
func))
66 index = PySequence_Index (callback_list,
func);
70 if (PySequence_DelItem (callback_list, index) < 0)
86 if (eventregistry_obj == NULL)
89 eventregistry_obj->callbacks = PyList_New (0);
90 if (!eventregistry_obj->callbacks)
93 return eventregistry_obj.release ();
100 Py_TYPE (self)->tp_free (self);
137 PyVarObject_HEAD_INIT (NULL, 0)
157 "GDB event registry object",
static PyObject * evregpy_connect(PyObject *self, PyObject *function)
eventregistry_object * create_eventregistry_object(void)
PyTypeObject eventregistry_object_type
static PyObject * evregpy_disconnect(PyObject *self, PyObject *function)
static void evregpy_dealloc(PyObject *self)
static PyMethodDef eventregistry_object_methods[]
events_object gdb_py_events
static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION gdbpy_initialize_eventregistry(void)
bool evregpy_no_listeners_p(eventregistry_object *registry)
gdb::ref_ptr< T, gdbpy_ref_policy< T > > gdbpy_ref
int gdb_pymodule_addobject(PyObject *module, const char *name, PyObject *object)
#define CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF(ARG)
#define CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
#define GDBPY_INITIALIZE_FILE(INIT,...)
void(* func)(remote_target *remote, char *)