summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--python/dbus.py12
2 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e75e88b2..08af5331 100644
--- 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]:
diff --git a/python/dbus.py b/python/dbus.py
index c7ab5dd3..3a997da1 100644
--- a/python/dbus.py
+++ b/python/dbus.py
@@ -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)