]> code.delx.au - gnu-emacs/blobdiff - lisp/net/dbus.el
Merge from mainline.
[gnu-emacs] / lisp / net / dbus.el
index 2a1bd0430802d615515b25cdcfae425805a51e2e..5635640cd4c92abccd1552a46d17800273fa9f46 100644 (file)
@@ -1,6 +1,6 @@
 ;;; dbus.el --- Elisp bindings for D-Bus.
 
-;; Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+;; Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 ;; Author: Michael Albinus <michael.albinus@gmx.de>
 ;; Keywords: comm, hardware
@@ -573,7 +573,8 @@ the introspection data, is a string in XML format."
   ;; is used, because the handler can be registered in our Emacs
   ;; instance; caller an callee would block each other.
   (dbus-ignore-errors
-    (dbus-call-method-non-blocking
+    (funcall
+     (if noninteractive 'dbus-call-method 'dbus-call-method-non-blocking)
      bus service path dbus-interface-introspectable "Introspect")))
 
 (defun dbus-introspect-xml (bus service path)
@@ -831,7 +832,8 @@ valid D-Bus value, or `nil' if there is no PROPERTY."
   (dbus-ignore-errors
     ;; "Get" returns a variant, so we must use the `car'.
     (car
-     (dbus-call-method-non-blocking
+     (funcall
+      (if noninteractive 'dbus-call-method 'dbus-call-method-non-blocking)
       bus service path dbus-interface-properties
       "Get" :timeout 500 interface property))))
 
@@ -842,7 +844,8 @@ been set successful, the result is VALUE.  Otherwise, `nil' is
 returned."
   (dbus-ignore-errors
     ;; "Set" requires a variant.
-    (dbus-call-method-non-blocking
+    (funcall
+     (if noninteractive 'dbus-call-method 'dbus-call-method-non-blocking)
      bus service path dbus-interface-properties
      "Set" :timeout 500 interface property (list :variant value))
     ;; Return VALUE.
@@ -857,7 +860,10 @@ name of the property, and its value.  If there are no properties,
     ;; "GetAll" returns "a{sv}".
     (let (result)
       (dolist (dict
-              (dbus-call-method-non-blocking
+              (funcall
+               (if noninteractive
+                   'dbus-call-method
+                 'dbus-call-method-non-blocking)
                bus service path dbus-interface-properties
                "GetAll" :timeout 500 interface)
               result)