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'"
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)
return typedefs
proto_pat = re.compile(r"""
-(?P<ret>(-|\w|\&|\*)+\s*) # return type
+(?P<ret>(-|\w|\&|\*|\s)+\s*) # return type
\s+ # skip whitespace
(?P<func>\w+)\s*[(] # match the function name until the opening (
(?P<args>.*?)[)] # group the function arguments
for p in buf:
if len(p) == 0:
continue
-
m = proto_pat.match(p)
if m == None:
continue