From 505500db28fbb90d6391c2fdcfd27bcab443cd9c Mon Sep 17 00:00:00 2001 From: Sami Wagiaalla Date: Fri, 4 Feb 2011 21:54:16 +0000 Subject: Add Python support for GDB events. 2011-02-04 Sami Wagiaalla * gdb.python/py-evthreads.c: New file. * gdb.python/py-evthreads.exp: New file. * gdb.python/py-events.py: New file. * gdb.python/py-events.exp: New file. * gdb.python/py-events.c: New file. 2011-02-04 Sami Wagiaalla Oguz Kayral * python/py-inferior.c (python_on_normal_stop): New function. (python_on_resume): New function. (python_inferior_exit): New function. (gdbpy_initialize_inferior): Add normal_stop, target_resumed, and inferior_exit observers. * python/py-evtregistry.c: New file. * python/py-threadevent.c : New file. * python/py-event.c: New file. * python/py-evts.c: New file. * python/py-continueevent.c: New file. * python/py-bpevent.c: New file. * python/py-signalevent.c: New file. * python/py-exetiedevent.c: New file. * python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function. Move struct breakpoint_object from here... * python/python-internal.h: ... to here. * python/py-event.h: New file. * python/py-events.h: New file. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o, py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o, py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o. (SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c, py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c, py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c. Add build rules for all the above. --- gdb/python/python-internal.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gdb/python/python-internal.h') diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index cf4f936..134268b 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -97,6 +97,7 @@ typedef unsigned long gdb_py_ulongest; /* Also needed to parse enum var_types. */ #include "command.h" +#include "breakpoint.h" #include "exceptions.h" @@ -104,11 +105,18 @@ struct block; struct value; struct language_defn; struct program_space; +struct bpstats; extern PyObject *gdb_module; extern PyTypeObject value_object_type; extern PyTypeObject block_object_type; extern PyTypeObject symbol_object_type; +extern PyTypeObject event_object_type; +extern PyTypeObject events_object_type; +extern PyTypeObject stop_event_object_type; + +/* Defined in py-breakpoint.c */ +typedef struct breakpoint_object breakpoint_object; typedef struct { @@ -161,6 +169,7 @@ PyObject *objfpy_get_printers (PyObject *, void *); thread_object *create_thread_object (struct thread_info *tp); thread_object *find_thread_object (ptid_t ptid); PyObject *find_inferior_object (int pid); +PyObject *inferior_to_inferior_object (struct inferior *inferior); struct block *block_object_to_block (PyObject *obj); struct symbol *symbol_object_to_symbol (PyObject *obj); @@ -187,6 +196,15 @@ void gdbpy_initialize_lazy_string (void); void gdbpy_initialize_parameters (void); void gdbpy_initialize_thread (void); void gdbpy_initialize_inferior (void); +void gdbpy_initialize_eventregistry (void); +void gdbpy_initialize_event (void); +void gdbpy_initialize_py_events (void); +void gdbpy_initialize_stop_event (void); +void gdbpy_initialize_signal_event (void); +void gdbpy_initialize_breakpoint_event (void); +void gdbpy_initialize_continue_event (void); +void gdbpy_initialize_exited_event (void); +void gdbpy_initialize_thread_event (void); struct cleanup *make_cleanup_py_decref (PyObject *py); -- cgit v1.1