aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2008-07-25 16:12:03 +0000
committerTom Tromey <tromey@redhat.com>2008-07-25 16:12:03 +0000
commit383f836e2002b1bc1793238ed099ed7aa215fec3 (patch)
treedfac517ac150fd2c7eb853e204f405d4bd6f5362 /gdb/tui
parent2a00e4fb8e170de97cb80a0140ba4d42a8ffd42f (diff)
downloadgdb-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')
-rw-r--r--gdb/tui/tui-hooks.c39
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);