Simplify the ui-out progress API
authorTom Tromey <tromey@adacore.com>
Fri, 4 Mar 2022 18:40:49 +0000 (11:40 -0700)
committerTom Tromey <tromey@adacore.com>
Thu, 10 Mar 2022 17:11:38 +0000 (10:11 -0700)
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
gdb/ui-out.h

index b44ce67c340a79e45fcdd9db26302acb6ac8aad2..e077e136614951f8caf72cfd7b94ea462dd4e28a 100644 (file)
@@ -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;
 }
index 60dd6fc2d37a6439a49d22437c7ba64c4d681651..cd36211be1f97c20bc08267af51a30d12d1bf3b3 100644 (file)
@@ -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)