Added needed breakpoint functionality to the public API that includes:
SBTarget:
- get breakpoint count
- get breakpoint at index
SBBreakpoint:
- Extract data from breakpoint events
llvm-svn: 109289
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index d3eb735..fdff5ad 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -231,9 +231,9 @@
resolver_sp->SetBreakpoint (bp_sp.get());
if (internal)
- m_internal_breakpoint_list.Add (bp_sp);
+ m_internal_breakpoint_list.Add (bp_sp, false);
else
- m_breakpoint_list.Add (bp_sp);
+ m_breakpoint_list.Add (bp_sp, true);
Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_BREAKPOINTS);
if (log)
@@ -243,13 +243,6 @@
log->Printf ("Target::%s (internal = %s) => break_id = %s\n", __FUNCTION__, internal ? "yes" : "no", s.GetData());
}
- // Broadcast the breakpoint creation event.
- if (!internal && EventTypeHasListeners(eBroadcastBitBreakpointChanged))
- {
- BroadcastEvent (eBroadcastBitBreakpointChanged,
- new Breakpoint::BreakpointEventData (Breakpoint::BreakpointEventData::eBreakpointAdded, bp_sp));
- }
-
bp_sp->ResolveBreakpoint();
}
return bp_sp;
@@ -262,9 +255,9 @@
if (log)
log->Printf ("Target::%s (internal_also = %s)\n", __FUNCTION__, internal_also ? "yes" : "no");
- m_breakpoint_list.RemoveAll();
+ m_breakpoint_list.RemoveAll (true);
if (internal_also)
- m_internal_breakpoint_list.RemoveAll();
+ m_internal_breakpoint_list.RemoveAll (false);
}
void
@@ -301,9 +294,9 @@
if (DisableBreakpointByID (break_id))
{
if (LLDB_BREAK_ID_IS_INTERNAL (break_id))
- m_internal_breakpoint_list.Remove(break_id);
+ m_internal_breakpoint_list.Remove(break_id, false);
else
- m_breakpoint_list.Remove(break_id);
+ m_breakpoint_list.Remove(break_id, true);
return true;
}
return false;