diff options
author | Tom Tromey <tromey@redhat.com> | 2008-07-25 16:12:03 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2008-07-25 16:12:03 +0000 |
commit | 383f836e2002b1bc1793238ed099ed7aa215fec3 (patch) | |
tree | dfac517ac150fd2c7eb853e204f405d4bd6f5362 /gdb/tui/tui-hooks.c | |
parent | 2a00e4fb8e170de97cb80a0140ba4d42a8ffd42f (diff) | |
download | gdb-383f836e2002b1bc1793238ed099ed7aa215fec3.zip gdb-383f836e2002b1bc1793238ed099ed7aa215fec3.tar.gz gdb-383f836e2002b1bc1793238ed099ed7aa215fec3.tar.bz2 |
gdb:
* tui/tui-hooks.c: Include observer.h.
(tui_event_default, tui_old_event_hooks, tui_event_hooks):
Remove.
(tui_bp_created_observer, tui_bp_deleted_observer,
tui_bp_modified_observer): New globals.
(tui_install_hooks): Use observers, not events.
(tui_remove_hooks): Likewise.
* mi/mi-cmd-break.c: Include observer.h, not gdb-events.h.
(mi_breakpoint_observers_installed, mi_can_breakpoint_notify): New
globals.
(breakpoint_notify): Check mi_can_breakpoint_notify.
(breakpoint_hooks): Remove.
(mi_cmd_break_insert): Attach observers. Don't use events.
* tracepoint.c: Include observer.h, not gdb-events.h.
(tracepoint_operation, trace_pass_command): Notify observer.
* interps.c: Don't include gdb-events.h.
(clear_interpreter_hooks): Don't call clear_gdb_event_hooks.
* gdbarch.c: Rebuild.
* gdbarch.sh: Emit include for observer.h, not gdb-events.h.
(deprecated_current_gdbarch_select_hack): Notify observer.
* breakpoint.h: Don't include gdb-events.h.
* breakpoint.c: Don't include gdb-events.h.
(condition_command): Notify observer.
(commands_command): Likewise.
(commands_from_control_command): Likewise.
(mention, delete_breakpoint, set_ignore_count): Likewise.
(disable_breakpoint, do_enable_breakpoint): Likewise.
* Makefile.in (gdb_events_h): Remove.
(breakpoint_h): Update.
(COMMON_OBS): Remove gdb-events.o.
(gdb-events.o): Remove.
(breakpoint.o, gdbarch.o, interps.o, tracepoint.o, gdbtk-bp.o,
gdbtk-hooks.o, mi-cmd-break.o, tui-hooks.o): Update.
* gdb-events.c: Remove.
* gdb-events.h: Remove.
* gdb-events.sh: Remove.
gdb/doc:
* observer.texi (GDB Observers): Document new observers:
breakpoint_created, breakpoint_deleted, breakpoint_modified,
tracepoint_created, tracepoint_deleted, tracepoint_modified,
architecture_changed.
gdb/gdbtk:
* generic/gdbtk-hooks.c: Include observer.h, not gdb-events.h.
(gdbtk_add_hooks): Use observers, not events.
(gdbtk_architecture_changed): Add argument, for observer.
* generic/gdbtk-bp.c: Include observer.h.
(gdb_set_bp): Notify observer.
(gdb_set_bp_addr): Likewise.
Diffstat (limited to 'gdb/tui/tui-hooks.c')
-rw-r--r-- | gdb/tui/tui-hooks.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c index 0a15d2f..25c72ec 100644 --- a/gdb/tui/tui-hooks.c +++ b/gdb/tui/tui-hooks.c @@ -31,7 +31,6 @@ #include "event-top.h" #include "frame.h" #include "breakpoint.h" -#include "gdb-events.h" #include "ui-out.h" #include "top.h" #include "observer.h" @@ -157,23 +156,6 @@ tui_event_modify_breakpoint (int number) tui_update_all_breakpoint_info (); } -static void -tui_event_default (int number) -{ - ; -} - -static struct gdb_events *tui_old_event_hooks; - -static struct gdb_events tui_event_hooks = { - tui_event_create_breakpoint, - tui_event_delete_breakpoint, - tui_event_modify_breakpoint, - tui_event_default, - tui_event_default, - tui_event_default -}; - /* Called when going to wait for the target. Leave curses mode and setup program mode. */ static ptid_t @@ -262,6 +244,11 @@ tui_detach_hook (void) tui_display_main (); } +/* Observers created when installing TUI hooks. */ +static struct observer *tui_bp_created_observer; +static struct observer *tui_bp_deleted_observer; +static struct observer *tui_bp_modified_observer; + /* Install the TUI specific hooks. */ void tui_install_hooks (void) @@ -273,7 +260,12 @@ tui_install_hooks (void) deprecated_query_hook = tui_query_hook; /* Install the event hooks. */ - tui_old_event_hooks = deprecated_set_gdb_event_hooks (&tui_event_hooks); + tui_bp_created_observer + = observer_attach_breakpoint_created (tui_event_create_breakpoint); + tui_bp_deleted_observer + = observer_attach_breakpoint_deleted (tui_event_delete_breakpoint); + tui_bp_modified_observer + = observer_attach_breakpoint_modified (tui_event_modify_breakpoint); deprecated_register_changed_hook = tui_register_changed_hook; deprecated_detach_hook = tui_detach_hook; @@ -290,8 +282,13 @@ tui_remove_hooks (void) deprecated_register_changed_hook = 0; deprecated_detach_hook = 0; - /* Restore the previous event hooks. */ - deprecated_set_gdb_event_hooks (tui_old_event_hooks); + /* Remove our observers. */ + observer_detach_breakpoint_created (tui_bp_created_observer); + tui_bp_created_observer = NULL; + observer_detach_breakpoint_deleted (tui_bp_deleted_observer); + tui_bp_deleted_observer = NULL; + observer_detach_breakpoint_modified (tui_bp_modified_observer); + tui_bp_modified_observer = NULL; } void _initialize_tui_hooks (void); |