diff options
| author | Anders Carlsson <andersca@codefactory.se> | 2004-07-28 18:14:55 +0000 | 
|---|---|---|
| committer | Anders Carlsson <andersca@codefactory.se> | 2004-07-28 18:14:55 +0000 | 
| commit | b72fe8c67d724d0f4637714a72e4e91c9487349f (patch) | |
| tree | 059527a9ccbbc0cde99a767d1cc2fef64b2aec0d | |
| parent | c3cac7a6bfcf4a1a73a40905f8e302f3d53dfb64 (diff) | |
2004-07-28  Anders Carlsson  <andersca@gnome.org>
	* python/dbus.py:
	* python/dbus_bindings.pyx.in:
	Add dbus.init_gthreads (), allow emit_signal to pass
	arguments to the signal.
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | python/dbus.py | 13 | ||||
| -rw-r--r-- | python/dbus_bindings.pyx.in | 4 | 
3 files changed, 23 insertions, 1 deletions
| @@ -1,3 +1,10 @@ +2004-07-28  Anders Carlsson  <andersca@gnome.org> + +	* python/dbus.py: +	* python/dbus_bindings.pyx.in: +	Add dbus.init_gthreads (), allow emit_signal to pass +	arguments to the signal. +	  2004-07-24  Havoc Pennington  <hp@redhat.com>  	* AUTHORS: add some people, not really comprehensively, let me diff --git a/python/dbus.py b/python/dbus.py index de42d74d..4b538970 100644 --- a/python/dbus.py +++ b/python/dbus.py @@ -43,6 +43,13 @@ print(dbus_object.ListServices())  import dbus_bindings +_threads_initialized = 0 +def init_gthreads (): +    global _threads_initialized +    if not _threads_initialized: +        dbus_bindings.init_gthreads () +        _threads_initialized = 1 +      class Bus:      """A connection to a DBus daemon. @@ -285,8 +292,12 @@ class Object:          self._connection.register_object_path(object_path, self._unregister_cb, self._message_cb) -    def emit_signal(self, interface, signal_name): +    def emit_signal(self, interface, signal_name, *args):          message = dbus_bindings.Signal(self._object_path, interface, signal_name) +        iter = message.get_iter() +        for arg in args: +            iter.append(arg) +                  self._connection.send(message)      def _unregister_cb(self, connection): diff --git a/python/dbus_bindings.pyx.in b/python/dbus_bindings.pyx.in index 498076db..6e73c852 100644 --- a/python/dbus_bindings.pyx.in +++ b/python/dbus_bindings.pyx.in @@ -18,6 +18,7 @@ cdef extern from "dbus-glib.h":                                                   GMainContext   *context)      cdef void dbus_server_setup_with_g_main     (DBusServer     *server,                                                   GMainContext   *context) +    cdef void dbus_g_thread_init ()  cdef extern from "Python.h":      void Py_XINCREF (object) @@ -1136,3 +1137,6 @@ def bus_remove_match(Connection connection, rule):      if dbus_error_is_set(&error):          raise DBusException, error.message + +def init_gthreads (): +        dbus_g_thread_init () | 
