====== DBus API in EDE ======
===== Introduction =====
This document will describe
[[http://freedesktop.org/wiki/Software/dbus/|DBus]] usage in EDE
applications, specifically what programs are listening and what data
is send via DBus protocol.
===== Naming convention =====
EDE uses ''org.equinoxproject'' as main namespace for interfaces and
object paths, e.g.
org.equinoxproject.Desktop # ede-desktop interface
/org/equinoxproject/Desktop # ede-desktop object path
rest of the name is application name with method or signal name. If
application name is not suitable or could not be represented as DBus
name (or could be ambiguous), it can be replaced with applications
functionality (''org.equinoxproject.Desktop'' will be more explanatory
than ''org.equinoxproject.Ede_Desktop'').
For example:
org.equinoxproject.Desktop.FooMethod # FooMethod belongs to ede-desktop
===== Interfaces =====
==== org.equinoxproject.Shutdown ====
A general signal emitted when EDE is starting to shut down.
^ Name ^ Details ^
| void Shutdown (void) | The only member of 'org.equinoxproject.Shutdown' signal. Emitted when desktop is closed by logging out or shutting down or restarting the computer.|
==== org.equinoxproject.Xsettings ====
This service path exposes XSETTINGS registry. Object path for access
service methods is '/org/equinoxproject/Xsettings' and interface is
'org.equinoxproject.Xsettings'.
^ Name ^ Details ^
| as GetAll (void) | Returns array of all known keys hold by XSETTINGS manager. Each array item is string type. |
| string GetType (string key)| Returns type of the given key. As XSETTINGS knows only three types (int, string and color), returned value will be string holding type name. |
| void Remove (string key)|Removes given key from XSETTINGS registry. If key wasn't found, the function will do nothing.|
| void Flush (void) | Force XSETTINGS manager to store data on disk. This is usually done by manager when exits.|
| bool Set (string key, type value) | Set key to given value. Here, value can be int32, string or array (4 int32 elements, representing RGBA) and set value will automatically set key value type. Returns true if done successfully or false if not.|