[PATCH] Simplify the ui-out progress API

Tom Tromey tromey@adacore.com
Fri Mar 4 19:30:15 GMT 2022


I noticed that 'progress' is a method on ui-out, but it seems to me
that it would be better if the only API were via the progress_meter
class.  This patch makes this change, changing progress to be a method
on the meter itself.
---
 gdb/debuginfod-support.c |  2 +-
 gdb/ui-out.h             | 14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/gdb/debuginfod-support.c b/gdb/debuginfod-support.c
index 56d8e7781c5..deb1c24d5ed 100644
--- a/gdb/debuginfod-support.c
+++ b/gdb/debuginfod-support.c
@@ -129,7 +129,7 @@ progressfn (debuginfod_client *c, long cur, long total)
       data->meter.emplace (current_uiout, message, 1);
     }
 
-  current_uiout->progress ((double)cur / (double)total);
+  data->meter->progress ((double)cur / (double)total);
 
   return 0;
 }
diff --git a/gdb/ui-out.h b/gdb/ui-out.h
index 60dd6fc2d37..cd36211be1f 100644
--- a/gdb/ui-out.h
+++ b/gdb/ui-out.h
@@ -301,18 +301,18 @@ class ui_out
     progress_meter (const progress_meter &) = delete;
     progress_meter &operator= (const progress_meter &) = delete;
 
+    /* Emit some progress for this progress meter.  HOWMUCH may range
+       from 0.0 to 1.0.  */
+    void progress (double howmuch)
+    {
+      m_uiout->do_progress_notify (howmuch);
+    }
+
   private:
 
     struct ui_out *m_uiout;
   };
 
-  /* Emit some progress corresponding to the most recently created
-     progress meter.  HOWMUCH may range from 0.0 to 1.0.  */
-  void progress (double howmuch)
-  {
-    do_progress_notify (howmuch);
-  }
-
  protected:
 
   virtual void do_table_begin (int nbrofcols, int nr_rows, const char *tblid)
-- 
2.34.1



More information about the Gdb-patches mailing list