@syncodeindex fn cp
@copying
-Copyright @copyright{} 2007, 2008, 2009, 2010,
-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2007-2012 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@end quotation
@end copying
-@dircategory Emacs
+@dircategory Emacs lisp libraries
@direntry
* D-Bus: (dbus). Using D-Bus in Emacs.
@end direntry
registered names. Internally they use the basic interface
@samp{org.freedesktop.DBus}, which is supported by all objects of a bus.
-@defun dbus-list-activatable-names
-This function returns the D-Bus service names, which can be activated.
-An activatable service is described in a service registration file.
-Under GNU/Linux, such files are located at
-@file{/usr/share/dbus-1/services/}.
+@defun dbus-list-activatable-names &optional bus
+This function returns the D-Bus service names, which can be activated
+for @var{bus}. It must be either the symbol @code{:system} (the
+default) or the symbol @code{:session}. An activatable service is
+described in a service registration file. Under GNU/Linux, such files
+are located at @file{/usr/share/dbus-1/system-services/} (for the
+@code{:system} bus) or @file{/usr/share/dbus-1/services/}. An
+activatable service is not necessarily registered at @var{bus} at already.
The result is a list of strings, which is @code{nil} when there are no
-activatable service names at all.
+activatable service names at all. Example:
+
+@lisp
+;; Check, whether the document viewer can be accessed via D-Bus.
+(member "org.gnome.evince.Daemon"
+ (dbus-list-activatable-names :session))
+@end lisp
+
@end defun
@defun dbus-list-names bus
@end defun
@defun dbus-list-known-names bus
-Retrieves all services which correspond to a known name in @var{bus}.
+Retrieves all registered services which correspond to a known name in @var{bus}.
A service has a known name if it doesn't start with @samp{:}. The
result is a list of strings, which is @code{nil} when there are no
known names at all.
@code{method}, @code{signal}, and @code{property} elements. Unlike
properties, which can change their values during lifetime of a D-Bus
object, annotations are static. Often they are used for code
-generators of D-Bus langugae bindings. Example:
+generators of D-Bus language bindings. Example:
@example
<annotation name="de.berlios.Pinot.GetStatistics" value="pinotDBus"/>
@node Methods and Signal
@section Applying the functionality.
-Methods and signals are the communicatione means to D-Bus. The
+Methods and signals are the communication means to D-Bus. The
following functions return their specifications.
@defun dbus-introspect-get-method-names bus service path interface
@end example
Other Lisp objects, like symbols or hash tables, are not accepted as
-input parameter.
+input parameters.
If it is necessary to use another D-Bus type, a corresponding type
-symbol can be preceeded to the corresponding Lisp object. Basic D-Bus
+symbol can be prepended to the corresponding Lisp object. Basic D-Bus
types are represented by the type symbols @code{:byte},
@code{:boolean}, @code{:int16}, @code{:uint16}, @code{:int32},
@code{:uint32}, @code{:int64}, @code{:uint64}, @code{:double},
@var{service} is the D-Bus service name used by the sending D-Bus
object. It can be either a known name or the unique name of the D-Bus
-object sending the signal. In case of a unique name, signals won't be
-received any longer once the object owning this unique name has
-disappeared, and a new queued object has replaced it.
+object sending the signal. A known name will be mapped onto the
+unique name of the object, owning @var{service} at registration time.
+When the corresponding D-Bus object disappears, signals won't be
+received any longer.
When @var{service} is @code{nil}, related signals from all D-Bus
objects shall be accepted.
@var{bus} can be either the symbol @code{:system} or the symbol
@code{:session}, or it can be a string denoting the address of the
-corresponding bus. For the system and session busses, this function
+corresponding bus. For the system and session buses, this function
is called when loading @file{dbus.el}, there is no need to call it
again.
@defvar dbus-event-error-hooks
This hook variable keeps a list of functions, which are called when a
D-Bus error happens in the event handler. Every function must accept
-two arguments, the event and the error variable catched in
+two arguments, the event and the error variable caught in
@code{condition-case} by @code{dbus-error}.
Such functions can be used the adapt the error signal to be raised.