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;
 
