Make it simpler to add events to Python
authorTom Tromey <tom@tromey.com>
Fri, 8 Sep 2017 21:38:12 +0000 (15:38 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 11 Sep 2017 20:15:22 +0000 (14:15 -0600)
commit7d221d749c0239f06ca571be6c9452cd22b5d582
tree0195f0e127b789e980939faeb79c6ed13ef7fd3d
parent35c61a1dd5462ceab42618c48c9a60238245761b
Make it simpler to add events to Python

The first patch in this series went through several iterations as I'd
forgotten how many places had to be touched to add a new event and a
new event type.

This patch simplifies the process using two new ".def" files.  Now, a
new event type can be added by adding a line to "py-event-types.def",
and a new event registry can be added by adding a line to
"py-all-events.def".

ChangeLog
2017-09-11  Tom Tromey  <tom@tromey.com>

* python/python.c (do_start_initialization): Use
py-event-types.def to initialize types.
Define all object type structures.
* python/python-internal.h: Don't declare event initialization
functions.
* python/py-threadevent.c (thread_event_object_type): Don't
define.
* python/py-stopevent.c (stop_event_object_type): Don't define.
* python/py-signalevent.c (signal_event_object_type): Don't
declare or define.
* python/py-newobjfileevent.c (new_objfile_event_object_type)
(clear_objfiles_event_object_type): Don't declare or define.
* python/py-infevents.c (inferior_call_pre_event_object_type)
(inferior_call_post_event_object_type)
(register_changed_event_object_type)
(memory_changed_event_object_type): Don't declare or define.
* python/py-inferior.c (new_thread_event_object_type)
(new_inferior_event_object_type)
(inferior_deleted_event_object_type): Don't declare or define.
* python/py-exitedevent.c (exited_event_object_type): Don't
declare or define.
* python/py-evts.c (gdbpy_initialize_py_events): Use
py-all-events.def.
* python/py-events.h (thread_event_object_type): Don't declare.
(events_object): Use py-all-events.def.
* python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
py-event-types.def.
* python/py-event-types.def: New file.
* python/py-continueevent.c (create_continue_event_object): Don't
declare or define.
* python/py-bpevent.c (breakpoint_event_object_type): Don't
declare or define.
* python/py-all-events.def: New file.
17 files changed:
gdb/ChangeLog
gdb/python/py-all-events.def [new file with mode: 0644]
gdb/python/py-bpevent.c
gdb/python/py-continueevent.c
gdb/python/py-event-types.def [new file with mode: 0644]
gdb/python/py-event.h
gdb/python/py-events.h
gdb/python/py-evts.c
gdb/python/py-exitedevent.c
gdb/python/py-inferior.c
gdb/python/py-infevents.c
gdb/python/py-newobjfileevent.c
gdb/python/py-signalevent.c
gdb/python/py-stopevent.c
gdb/python/py-threadevent.c
gdb/python/python-internal.h
gdb/python/python.c