[Lldb-commits] [lldb] [lldb][progress] Add progress manager class (PR #81319)
Chelsea Cassanova via lldb-commits
lldb-commits at lists.llvm.org
Thu Feb 15 11:57:46 PST 2024
================
@@ -119,6 +120,32 @@ class Progress {
bool m_complete = false;
};
+/// A class used to group progress reports by category. This is done by using a
+/// map that maintains a refcount of each category of progress reports that have
+/// come in. Keeping track of progress reports this way will be done if a
+/// debugger is listening to the eBroadcastBitProgressByCategory broadcast bit.
+class ProgressManager {
+public:
+ ProgressManager();
+ ~ProgressManager();
+
+ static void Initialize();
+ static void Terminate();
+ // Control the refcount of the progress report category as needed
+ void Increment(std::string category);
+ void Decrement(std::string category);
+
+ // Public accessor for the class instance
+ static ProgressManager &Instance();
+
+private:
+ // Manage the class instance internally using a std::optional
----------------
chelcassanova wrote:
I should've changed this comment in a more recent push that removes the reference to the `std::optional`.
https://github.com/llvm/llvm-project/pull/81319
More information about the lldb-commits
mailing list