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;