2003-12-01 David Zeuthen <david@fubar.dk>
authorDavid Zeuthen <davidz@redhat.com>
Mon, 1 Dec 2003 20:49:53 +0000 (20:49 +0000)
committerDavid Zeuthen <davidz@redhat.com>
Mon, 1 Dec 2003 20:49:53 +0000 (20:49 +0000)
* python/dbus.py: Add the actual message when calling the reciever
of a signal such that parameters can be inspected. Add the method
remove_signal_receiver

ChangeLog
python/dbus.py

index e75e88b..08af533 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-01  David Zeuthen  <david@fubar.dk>
+
+       * python/dbus.py: Add the actual message when calling the reciever
+       of a signal such that parameters can be inspected. Add the method
+       remove_signal_receiver
+       
 2003-11-26  Mikael Hallendal  <micke@imendio.com>
 
        * bus/*.[ch]:
index c7ab5dd..3a997da 100644 (file)
@@ -75,7 +75,15 @@ class Bus:
         self._match_rule_to_receivers[match_rule].append(receiver)
         
         dbus_bindings.bus_add_match(self._connection, match_rule)
-        
+
+    def remove_signal_receiver(self, receiver, interface=None, service=None, path=None):
+        match_rule = self._get_match_rule(interface, service, path)
+
+        if self._match_rule_to_receivers.has_key(match_rule):
+            if self._match_rule_to_receivers[match_rule].__contains__(receiver):
+                self._match_rule_to_receivers[match_rule].remove(receiver)
+                dbus_bindings.bus_remove_match(self._connection, match_rule)
+
     def get_connection(self):
         """Get the dbus_bindings.Connection object associated with this Bus"""
         return self._connection
@@ -103,7 +111,7 @@ class Bus:
 
         if (self._match_rule_to_receivers.has_key(match_rule)):
             receivers = self._match_rule_to_receivers[match_rule]
-            args = [interface, member, service, path]
+            args = [interface, member, service, path, message]
             for receiver in receivers:
                 receiver(*args)