Added needed breakpoint functionality to the public API that includes:
SBTarget:
- get breakpoint count
- get breakpoint at index
SBBreakpoint:
- Extract data from breakpoint events
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109289 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/API/SBBreakpoint.cpp b/source/API/SBBreakpoint.cpp
index 4ab200c..f8c52ef 100644
--- a/source/API/SBBreakpoint.cpp
+++ b/source/API/SBBreakpoint.cpp
@@ -10,6 +10,7 @@
#include "lldb/API/SBBreakpoint.h"
#include "lldb/API/SBBreakpointLocation.h"
#include "lldb/API/SBDebugger.h"
+#include "lldb/API/SBEvent.h"
#include "lldb/API/SBProcess.h"
#include "lldb/API/SBThread.h"
@@ -242,6 +243,15 @@
}
uint32_t
+SBBreakpoint::GetHitCount () const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetHitCount();
+ else
+ return 0;
+}
+
+uint32_t
SBBreakpoint::GetIgnoreCount () const
{
if (m_opaque_sp)
@@ -457,3 +467,30 @@
return m_opaque_sp;
}
+BreakpointEventType
+SBBreakpoint::GetBreakpointEventTypeFromEvent (const SBEvent& event)
+{
+ if (event.IsValid())
+ return Breakpoint::BreakpointEventData::GetBreakpointEventTypeFromEvent (event.GetSP());
+ return eBreakpointEventTypeInvalidType;
+}
+
+SBBreakpoint
+SBBreakpoint::GetBreakpointFromEvent (const lldb::SBEvent& event)
+{
+ SBBreakpoint sb_breakpoint;
+ if (event.IsValid())
+ sb_breakpoint.m_opaque_sp = Breakpoint::BreakpointEventData::GetBreakpointFromEvent (event.GetSP());
+ return sb_breakpoint;
+}
+
+SBBreakpointLocation
+SBBreakpoint::GetBreakpointLocationAtIndexFromEvent (const lldb::SBEvent& event, uint32_t loc_idx)
+{
+ SBBreakpointLocation sb_breakpoint_loc;
+ if (event.IsValid())
+ sb_breakpoint_loc.SetLocation (Breakpoint::BreakpointEventData::GetBreakpointLocationAtIndexFromEvent (event.GetSP(), loc_idx));
+ return sb_breakpoint_loc;
+}
+
+
diff --git a/source/API/SBTarget.cpp b/source/API/SBTarget.cpp
index 8618643..85ec06c 100644
--- a/source/API/SBTarget.cpp
+++ b/source/API/SBTarget.cpp
@@ -277,26 +277,6 @@
return sb_bp;
}
-void
-SBTarget::ListAllBreakpoints ()
-{
- FILE *out_file = m_opaque_sp->GetDebugger().GetOutputFileHandle();
-
- if (out_file == NULL)
- return;
-
- if (m_opaque_sp)
- {
- const BreakpointList &bp_list = m_opaque_sp->GetBreakpointList();
- size_t num_bps = bp_list.GetSize();
- for (size_t i = 0; i < num_bps; ++i)
- {
- SBBreakpoint sb_breakpoint (bp_list.GetBreakpointByIndex (i));
- sb_breakpoint.GetDescription (out_file, "full");
- }
- }
-}
-
SBBreakpoint
SBTarget::FindBreakpointByID (break_id_t bp_id)
{
@@ -306,6 +286,22 @@
return sb_breakpoint;
}
+uint32_t
+SBTarget::GetNumBreakpoints () const
+{
+ if (m_opaque_sp)
+ return m_opaque_sp->GetBreakpointList().GetSize();
+ return 0;
+}
+
+SBBreakpoint
+SBTarget::GetBreakpointAtIndex (uint32_t idx) const
+{
+ SBBreakpoint sb_breakpoint;
+ if (m_opaque_sp)
+ *sb_breakpoint = m_opaque_sp->GetBreakpointList().GetBreakpointAtIndex(idx);
+ return sb_breakpoint;
+}
bool
SBTarget::BreakpointDelete (break_id_t bp_id)