Reimplement tui_next_win and tui_prev_win
[binutils-gdb.git] / gdb / tui / tui-disasm.h
index cc00d0018fa5f157b35c8a56db9317e91218e97e..416be95fd8bb8de33bcbe38c8ef338aac36ae102 100644 (file)
@@ -1,6 +1,6 @@
 /* Disassembly display.
 
-   Copyright (C) 1998-2019 Free Software Foundation, Inc.
+   Copyright (C) 1998-2020 Free Software Foundation, Inc.
    
    Contributed by Hewlett-Packard Company.
 
@@ -24,6 +24,7 @@
 
 #include "tui/tui.h"
 #include "tui/tui-data.h"
+#include "tui-winsource.h"
 
 /* A TUI disassembly window.  */
 
@@ -43,15 +44,26 @@ struct tui_disasm_window : public tui_source_window_base
 
   bool location_matches_p (struct bp_location *loc, int line_no) override;
 
+  void maybe_update (struct frame_info *fi, symtab_and_line sal) override;
+
+  void erase_source_content () override
+  {
+    do_erase_source_content (_("[ No Assembly Available ]"));
+  }
+
 protected:
 
   void do_scroll_vertical (int num_to_scroll) override;
+
+  bool set_contents (struct gdbarch *gdbarch,
+                    const struct symtab_and_line &sal) override;
+
+private:
+  /* Answer whether a particular line number or address is displayed
+     in the current source window.  */
+  bool addr_is_displayed (CORE_ADDR addr) const;
 };
 
-extern enum tui_status tui_set_disassem_content (tui_source_window_base *,
-                                                struct gdbarch *, CORE_ADDR);
-extern void tui_show_disassem (struct gdbarch *, CORE_ADDR);
-extern void tui_show_disassem_and_update_source (struct gdbarch *, CORE_ADDR);
 extern void tui_get_begin_asm_address (struct gdbarch **, CORE_ADDR *);
 
 #endif /* TUI_TUI_DISASM_H */