diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2005-05-24 00:21:07 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2005-05-24 00:21:07 +0000 |
commit | e43a353d27f1b9643c21ccff53a7759fc3dcdffe (patch) | |
tree | ad51cf8b4ec9801fe11e012b7453ddb52c51ab44 /python/decorators.py | |
parent | 8af9f11e54317698424bc15ca566e46268646d73 (diff) |
* python/decorators.py: import dbus_bindings
* python/matchrules.py (SignalMatchRule, SignalMatchTree,
SignalMatchNode): new classes that implement wildcard signal
callback matching using a tree lookup. Heavily modified from a
patch sent by Celso Pinto (fd.o bug #3241)
* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
use new match classes to handle signals.
Diffstat (limited to 'python/decorators.py')
-rw-r--r-- | python/decorators.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/python/decorators.py b/python/decorators.py index 4be6e207..7847b3a2 100644 --- a/python/decorators.py +++ b/python/decorators.py @@ -1,5 +1,6 @@ import _util import inspect +import dbus_bindings def method(dbus_interface): @@ -18,14 +19,15 @@ def signal(dbus_interface): _util._validate_interface_or_name(dbus_interface) def decorator(func): def emit_signal(self, *args, **keywords): - func(self, *args, **keywords) - message = dbus_bindings.Signal(self._object_path, dbus_interface, func.__name__) + func(self, *args, **keywords) + message = dbus_bindings.Signal(self._object_path, dbus_interface, func.__name__) iter = message.get_iter(True) + for arg in args: iter.append(arg) - + self._connection.send(message) - + emit_signal._dbus_is_signal = True emit_signal._dbus_interface = dbus_interface emit_signal.__name__ = func.__name__ |