summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--python/dbus.py7
-rw-r--r--python/dbus_bindings.pyx.in16
3 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index cf6ee412..4ab43329 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-12-26 John (J5) Palmieri <johnp@redhat.com>
+
+ * 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 <hp@redhat.com>
* 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)