dbus: Asynchronous Methods
5 Calling methods non-blocking.
*******************************
-- Function: dbus-call-method-asynchronously bus service path interface
method handler &optional :timeout timeout &rest args
This function calls METHOD on the D-Bus BUS asynchronously. BUS is
either the symbol ‘:system’ or the symbol ‘:session’.
SERVICE is the D-Bus service name to be used. PATH is the D-Bus
object path, SERVICE is registered at. INTERFACE is an interface
offered by SERVICE. It must provide METHOD.
HANDLER is a Lisp function, which is called when the corresponding
return message has arrived. If HANDLER is ‘nil’, no return message
will be expected.
If the parameter ‘:timeout’ is given, the following integer TIMEOUT
specifies the maximum number of milliseconds a reply message must
arrive. The default value is 25,000. If there is no reply message
in time, a D-Bus error is raised (Errors and Events).
All other arguments args are passed to METHOD as arguments. They
are converted into D-Bus types as described in Type
Conversion.
If HANDLER is a Lisp function, the function returns a key into the
hash table ‘dbus-registered-objects-table’. The corresponding
entry in the hash table is removed, when the return message has
been arrived, and HANDLER is called. Example:
(dbus-call-method-asynchronously
:system "org.freedesktop.Hal"
"/org/freedesktop/Hal/devices/computer"
"org.freedesktop.Hal.Device" "GetPropertyString" 'message
"system.kernel.machine")
⇒ (:serial :system 2)
⊣ i686