logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

patch to expose dbus_bus_get_unix_user in python bindings: msg#00003

Subject: patch to expose dbus_bus_get_unix_user in python bindings
This is a multi-part message in MIME format.
This patch consists of the addition of a get_unix_user method to the Bus class, and a fix for extract.py so it copes with 'unsigned long' return types in function definitions.

Thanks

Rob Taylor


Index: python/dbus.py
===================================================================
RCS file: /cvs/dbus/dbus/python/dbus.py,v
retrieving revision 1.12
diff -u -r1.12 dbus.py
--- python/dbus.py      28 Jul 2004 18:14:55 -0000      1.12
+++ python/dbus.py      13 Dec 2004 11:38:35 -0000
@@ -99,6 +99,10 @@
     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'"
Index: python/dbus_bindings.pyx.in
===================================================================
RCS file: /cvs/dbus/dbus/python/dbus_bindings.pyx.in,v
retrieving revision 1.15
diff -u -r1.15 dbus_bindings.pyx.in
--- python/dbus_bindings.pyx.in 16 Sep 2004 19:56:26 -0000      1.15
+++ python/dbus_bindings.pyx.in 13 Dec 2004 11:38:35 -0000
@@ -1132,6 +1132,19 @@
     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)
Index: python/extract.py
===================================================================
RCS file: /cvs/dbus/dbus/python/extract.py,v
retrieving revision 1.2
diff -u -r1.2 extract.py
--- python/extract.py   30 Sep 2003 02:40:49 -0000      1.2
+++ python/extract.py   13 Dec 2004 11:38:35 -0000
@@ -108,7 +108,7 @@
     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
@@ -123,7 +123,6 @@
     for p in buf:
         if len(p) == 0:
             continue
-        
         m = proto_pat.match(p)
         if m == None:
             continue

<Prev in Thread] Current Thread [Next in Thread>