From a11bbc91a794052eeb0a88aa207b01c871677cf4 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Mon, 27 Dec 2004 16:01:13 +0000 Subject: 2004-12-26 John (J5) Palmieri * python/dbus_bindings.pyx.in (bus_activate_service): Bind dbus_bus_activate_service * python/dbus.py (Bus.activate_service): activate a service on the bus. --- ChangeLog | 8 ++++++++ python/dbus.py | 7 +++++++ python/dbus_bindings.pyx.in | 16 ++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/ChangeLog b/ChangeLog index cf6ee412..4ab43329 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-12-26 John (J5) Palmieri + + * python/dbus_bindings.pyx.in (bus_activate_service): Bind + dbus_bus_activate_service + + * python/dbus.py (Bus.activate_service): activate a service on the + bus. + 2004-12-24 Havoc Pennington * test/decode-gcov.c: change to use .gcno and .gcda files, but the diff --git a/python/dbus.py b/python/dbus.py index c8ac561a..6d38667d 100644 --- a/python/dbus.py +++ b/python/dbus.py @@ -62,6 +62,10 @@ class Bus: """bus_type=[Bus.TYPE_SESSION | Bus.TYPE_SYSTEM | Bus.TYPE_ACTIVATION] """ + + ACTIVATION_REPLY_ACTIVE = dbus_bindings.ACTIVATION_REPLY_ACTIVE + ACTIVATION_REPLY_ALREADY_ACTIVE = dbus_bindings.ACTIVATION_REPLY_ALREADY_ACTIVE + def __init__(self, bus_type=TYPE_SESSION, glib_mainloop=True): self._connection = dbus_bindings.bus_get(bus_type) @@ -139,6 +143,9 @@ class Bus: for receiver in receivers: receiver(*args) + def activate_service(self, service): + return dbus_bindings.bus_activate_service(self._connection, service) + class SystemBus(Bus): """The system-wide message bus """ diff --git a/python/dbus_bindings.pyx.in b/python/dbus_bindings.pyx.in index 59c38586..db391e1d 100644 --- a/python/dbus_bindings.pyx.in +++ b/python/dbus_bindings.pyx.in @@ -1144,7 +1144,23 @@ def bus_get_unix_user(Connection connection, service_name): if dbus_error_is_set(&error): raise DBusException, error.message return retval + +ACTIVATION_REPLY_ACTIVATED = DBUS_ACTIVATION_REPLY_ACTIVATED +ACTIVATION_REPLY_ALREADY_ACTIVE = DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE +def bus_activate_service(Connection connection, service_name, flags=0): + cdef DBusError error + dbus_error_init(&error) + cdef dbus_bool_t retval + cdef dbus_uint32_t results + cdef DBusConnection *conn + + conn = connection._get_conn() + + retval = dbus_bus_activate_service(conn, service_name, flags, &results, &error) + + return (retval, results) + def bus_register(Connection connection): cdef DBusError error dbus_error_init(&error) -- cgit v1.2.3