[gdb/cli] Add a progress meter
authorTom Tromey <tom@tromey.com>
Wed, 16 Dec 2020 17:18:40 +0000 (18:18 +0100)
committerTom de Vries <tdevries@suse.de>
Wed, 16 Dec 2020 17:18:40 +0000 (18:18 +0100)
commit2f2287318b33ddf855a692fcc191f6b25caf4644
treea4ed9af701499455d0eb659a29e912117b565a1e
parent1e61189d0ab0905178002120eb0a380858ed6dc0
[gdb/cli] Add a progress meter

Add a progress meter.  It's not used anywhere yet.

gdb/ChangeLog:

2020-12-16  Tom Tromey  <tom@tromey.com>
    Tom Tromey  <tromey@redhat.com>
    Tom de Vries  <tdevries@suse.de>

* utils.h (get_chars_per_line): Declare.
* utils.c (get_chars_per_line): New function.
(fputs_maybe_filtered): Handle '\r'.
* ui-out.h (ui_out::progress_meter): New class.
(ui_out::progress, ui_out::do_progress_start)
(ui_out::do_progress_notify, ui_out::do_progress_end): New
methods.
* ui-out.c (do_progress_end)
(make_cleanup_ui_out_progress_begin_end, ui_out_progress): New
functions.
* mi/mi-out.h (mi_ui_out::do_progress_start)
(mi_ui_out::do_progress_notify, mi_ui_out::do_progress_end): New
methods.
* cli-out.h (struct cli_ui_out) <do_progress_start,
do_progress_notify, do_progress_end>: New methods.
<enum meter_stat, struct cli_progress_info>: New.
<m_meters>: New member.
* cli-out.c (cli_ui_out::do_progress_start)
(cli_ui_out::do_progress_notify, cli_ui_out::do_progress_end): New
methods.
gdb/ChangeLog
gdb/cli-out.c
gdb/cli-out.h
gdb/mi/mi-out.h
gdb/ui-out.h
gdb/utils.c
gdb/utils.h