diff options
Diffstat (limited to 'lldb/include/lldb/API/SBDebugger.h')
-rw-r--r-- | lldb/include/lldb/API/SBDebugger.h | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/lldb/include/lldb/API/SBDebugger.h b/lldb/include/lldb/API/SBDebugger.h index b3bfa230139c..ef62141f579d 100644 --- a/lldb/include/lldb/API/SBDebugger.h +++ b/lldb/include/lldb/API/SBDebugger.h @@ -9,7 +9,7 @@ #ifndef LLDB_API_SBDEBUGGER_H #define LLDB_API_SBDEBUGGER_H -#include <stdio.h> +#include <cstdio> #include "lldb/API/SBDefines.h" #include "lldb/API/SBPlatform.h" @@ -33,6 +33,8 @@ public: class LLDB_API SBDebugger { public: + FLAGS_ANONYMOUS_ENUM(){eBroadcastBitProgress = (1 << 0)}; + SBDebugger(); SBDebugger(const lldb::SBDebugger &rhs); @@ -41,6 +43,42 @@ public: ~SBDebugger(); + static const char *GetBroadcasterClass(); + + lldb::SBBroadcaster GetBroadcaster(); + + /// Get progress data from a SBEvent whose type is eBroadcastBitProgress. + /// + /// \param [in] event + /// The event to extract the progress information from. + /// + /// \param [out] progress_id + /// The unique integer identifier for the progress to report. + /// + /// \param [out] completed + /// The amount of work completed. If \a completed is zero, then this event + /// is a progress started event. If \a completed is equal to \a total, then + /// this event is a progress end event. Otherwise completed indicates the + /// current progress update. + /// + /// \param [out] total + /// The total amount of work units that need to be completed. If this value + /// is UINT64_MAX, then an indeterminate progress indicator should be + /// displayed. + /// + /// \param [out] is_debugger_specific + /// Set to true if this progress is specific to this debugger only. Many + /// progress events are not specific to a debugger instance, like any + /// progress events for loading information in modules since LLDB has a + /// global module cache that all debuggers use. + /// + /// \return The message for the progress. If the returned value is NULL, then + /// \a event was not a eBroadcastBitProgress event. + static const char *GetProgressFromEvent(const lldb::SBEvent &event, + uint64_t &progress_id, + uint64_t &completed, uint64_t &total, + bool &is_debugger_specific); + lldb::SBDebugger &operator=(const lldb::SBDebugger &rhs); static void Initialize(); |