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 (SeeErrors and Events).
 
      All other arguments args are passed to METHOD as arguments.  They
      are converted into D-Bus types as described in SeeType
      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