(index ("make-context" 0) ("send" 678) ("call" 764) ("make-method-proxy" 1163) ("register-signal-handler" 1440) ("register-method" 1785) ("enable-polling-thread!" 2133) ("poll-for-message" 2390) ("discover-services" 2945) ("discover-api-xml" 3092) ("session-bus" 3296) ("system-bus" 3369) ("starter-bus" 3439))
(def (sig (procedure "(make-context #!key (bus session-bus) service interface (path \"/\"))" (id make-context))) (p "Glom together a bus, service, interface and path into an object that you can conveniently hold for later use.  The choices for bus are " (tt "session-bus") " (which is the default if you don't specify it), " (tt "system-bus") " and " (tt "starter-bus") ".  The service, interface and path can be given as strings or symbols.  Symbols would be preferred; if you provide strings, " (tt "make-context") " will convert them to symbols.  The default for path is \"/\" so if you don't need a hierarchical organization of \"objects\", you don't need to specify it."))
(def (sig (procedure "(send context name . params)" (id send))) (p "Send a signal."))
(def (sig (procedure "(call context name . params)" (id call))) (p "Call a remote method, wait for the reply, and receive the return values from the remote method, as a list.  Note that since this is a blocking call (it waits for the reply), it's not suitable for implementing the " (link "http://en.wikipedia.org/wiki/Actor_model" "actor model") " or anything similarly lightweight/low-latency."))
(def (sig (procedure "(make-method-proxy context name)" (id make-method-proxy))) (p "Wrap " (tt "call") " in a lambda, which you can then use like any local function.  The return value from the function thus created will be the list of return values from the remote method."))
(def (sig (procedure "(register-signal-handler context name msg-cb)" (id register-signal-handler))) (p "Provide a handler to be called when the current process receives a DBus signal which matches the given context and the given signal name. Start a SRFI-18 thread to poll for incoming signals (unless polling has been disabled on this bus)."))
(def (sig (procedure "(register-method context name msg-cb)" (id register-method))) (p "Provide a handler (a method body) to be called when the current process receives a DBus message which matches the given context and the given method name.  Start a SRFI-18 thread to poll for incoming messages (unless polling has been disabled on this bus)."))
(def (sig (procedure "(enable-polling-thread! #!key (bus session-bus) (enable #t) (interval default-polling-interval))" (id enable-polling-thread!))) (p "Enable or disable the polling thread for a particular bus, and set the polling interval in seconds."))
(def (sig (procedure "(poll-for-message #!key (bus session-bus) (timeout 0))" (id poll-for-message))) (p "Check once whether any incoming DBus message is waiting on a particular bus, and if so, dispatch it to the appropriate callback (which you have previously registered using " (tt "register-method") " or " (tt "register-signal-handler") ").  Returns " (tt "#t") " if it received a message, " (tt "#f") " if not.  The optional " (tt "timeout") " parameter is an integer that indicates the maximum time in milliseconds to block waiting for messages."))
(def (sig (procedure "(discover-services #!key (bus session-bus))" (id discover-services))) (p "Get a list of service names available on a bus."))
(def (sig (procedure "(discover-api-xml context)" (id discover-api-xml))) (p "Get the XML API \"documentation\" provided by the Introspectable interface of a service, if that interface is implemented."))
(def (sig (constant "session-bus" (id session-bus))) (p "Session bus."))
(def (sig (constant "system-bus" (id system-bus))) (p "System bus."))
(def (sig (constant "starter-bus" (id starter-bus))) (p "Starter bus."))
