Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set.
Use this to allow the lldb Driver to emit notifications for breakpoint modifications.
<rdar://problem/10619974>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150665 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/interface/SBCommandInterpreter.i b/scripts/Python/interface/SBCommandInterpreter.i
index 1f15a98..62aaf8c 100644
--- a/scripts/Python/interface/SBCommandInterpreter.i
+++ b/scripts/Python/interface/SBCommandInterpreter.i
@@ -87,6 +87,9 @@
     lldb::SBBroadcaster
     GetBroadcaster ();
 
+    static const char *
+    GetBroadcasterClass ();
+
     bool
     HasCommands ();
 
diff --git a/scripts/Python/interface/SBCommunication.i b/scripts/Python/interface/SBCommunication.i
index ca2bfa7..99814d9 100644
--- a/scripts/Python/interface/SBCommunication.i
+++ b/scripts/Python/interface/SBCommunication.i
@@ -34,6 +34,8 @@
     lldb::SBBroadcaster
     GetBroadcaster ();
 
+    static const char *GetBroadcasterClass();
+
     lldb::ConnectionStatus
     AdoptFileDesriptor (int fd, bool owns_fd);
 
diff --git a/scripts/Python/interface/SBEvent.i b/scripts/Python/interface/SBEvent.i
index 66963ea..b360e34 100644
--- a/scripts/Python/interface/SBEvent.i
+++ b/scripts/Python/interface/SBEvent.i
@@ -134,6 +134,9 @@
     lldb::SBBroadcaster
     GetBroadcaster () const;
 
+    const char *
+    GetBroadcasterClass () const;
+
     bool
     BroadcasterMatchesRef (const lldb::SBBroadcaster &broadcaster);
 
diff --git a/scripts/Python/interface/SBListener.i b/scripts/Python/interface/SBListener.i
index ded91b9..9560b91 100644
--- a/scripts/Python/interface/SBListener.i
+++ b/scripts/Python/interface/SBListener.i
@@ -35,6 +35,16 @@
     IsValid () const;
 
     uint32_t
+    StartListeningForEventClass (SBDebugger &debugger,
+                                 const char *broadcaster_class, 
+                                 uint32_t event_mask);
+                                 
+    uint32_t
+    StopListeningForEventClass (SBDebugger &debugger,
+                                const char *broadcaster_class,
+                                uint32_t event_mask);
+    
+    uint32_t
     StartListeningForEvents (const lldb::SBBroadcaster& broadcaster,
                              uint32_t event_mask);
 
diff --git a/scripts/Python/interface/SBProcess.i b/scripts/Python/interface/SBProcess.i
index 20d782a..3710055 100644
--- a/scripts/Python/interface/SBProcess.i
+++ b/scripts/Python/interface/SBProcess.i
@@ -52,6 +52,9 @@
 
     ~SBProcess();
 
+    static const char *
+    GetBroadcasterClassName ();
+
     void
     Clear ();
 
diff --git a/scripts/Python/interface/SBTarget.i b/scripts/Python/interface/SBTarget.i
index 58a546b..a8e3395 100644
--- a/scripts/Python/interface/SBTarget.i
+++ b/scripts/Python/interface/SBTarget.i
@@ -72,6 +72,9 @@
     //------------------------------------------------------------------
     ~SBTarget();
 
+    static const char *
+    GetBroadcasterClassName ();
+    
     bool
     IsValid() const;