From f06f148871c42ca76c7f7471ca7d0acb66fce8c4 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Thu, 23 Dec 2004 00:50:37 +0000 Subject: * patch from Rob Taylor - wrap bus_get_unix_user method in low level bindings - add get_unix_user method to the Bus class - fix extract.py so it can handle unsigned long return types --- python/dbus.py | 4 ++++ python/dbus_bindings.pyx.in | 13 +++++++++++++ python/extract.py | 3 +-- 3 files changed, 18 insertions(+), 2 deletions(-) (limited to 'python') diff --git a/python/dbus.py b/python/dbus.py index 4b538970..c8ac561a 100644 --- a/python/dbus.py +++ b/python/dbus.py @@ -99,6 +99,10 @@ class Bus: def get_connection(self): """Get the dbus_bindings.Connection object associated with this Bus""" return self._connection + + def get_unix_user(self, service_name): + """Get the unix user for the given service_name on this Bus""" + return dbus_bindings.bus_get_unix_user(self._connection, service_name) def _get_match_rule(self, signal_name, interface, service, path): match_rule = "type='signal'" diff --git a/python/dbus_bindings.pyx.in b/python/dbus_bindings.pyx.in index 64b43a6d..59c38586 100644 --- a/python/dbus_bindings.pyx.in +++ b/python/dbus_bindings.pyx.in @@ -1132,6 +1132,19 @@ def bus_get_base_service(Connection connection): conn = connection._get_conn() return dbus_bus_get_base_service(conn) +def bus_get_unix_user(Connection connection, service_name): + cdef DBusError error + dbus_error_init(&error) + cdef int retval + cdef DBusConnection *conn + + conn = connection._get_conn() + retval = dbus_bus_get_unix_user(conn, service_name, &error) + + if dbus_error_is_set(&error): + raise DBusException, error.message + return retval + def bus_register(Connection connection): cdef DBusError error dbus_error_init(&error) diff --git a/python/extract.py b/python/extract.py index 460af5ab..f836edc7 100644 --- a/python/extract.py +++ b/python/extract.py @@ -108,7 +108,7 @@ def find_typedefs(buf): return typedefs proto_pat = re.compile(r""" -(?P(-|\w|\&|\*)+\s*) # return type +(?P(-|\w|\&|\*|\s)+\s*) # return type \s+ # skip whitespace (?P\w+)\s*[(] # match the function name until the opening ( (?P.*?)[)] # group the function arguments @@ -123,7 +123,6 @@ def find_functions(buf): for p in buf: if len(p) == 0: continue - m = proto_pat.match(p) if m == None: continue -- cgit