started 0.14 development
[profile/ivi/automotive-message-broker.git] / docs / dbus.idl
1 /*!
2 * \mainpage Automotive Message Broker DBus API Documentation
3 *
4 * \section intro Introduction
5 * AMB organizes the API into two general interface categories.  First the Manager interface (see manager.txt)
6 * which includes tools for using the other interfaces.  Second is a number of interfaces that
7 * represent vehicle data.  The latter follows the schema of "org.automotive.DataType" and are
8 * contained in verious DBus paths.  The DBus paths are generally organized by
9 * /{source}/{zone}/DataType.  "source" refers to the AMB source that produces the data.  "zone"
10 * refers to the zone in which the data type is located in the vehicle or "0" for no zone.
11 *
12 * The interfaces and data types are documented in <a href="amb.fidl">amb.fidl</a>.  Franca IDL
13 * tools can be used to generate DBus introspection xml which can be used to generate bindings
14 * for your language of choice.  These interfaces types map to internal AMB properties.  To understand the mappings,
15 * see the <a href="ambdbusmappings_8idl.html">mapping documentation</a>
16 *
17 * \section basic_usage Basic Recommended Usage
18 *
19 * It is recommended that the Manager interface be used to find the DBus Object that contains the
20 * data type you need.  This is done through the FindObject() call.  It is expected that DBus
21 * Object Paths may change and so it is not appropriate to hard code DBus Object Paths.
22 *
23 * \section example Usage Example
24 * Here is a pseudo-code example of how the api is to be used:
25 *
26 * \code
27 * var manager = dbus.interface("org.automotive.Manager", "/");
28 *
29 * var speedObjectPaths = manager.FindObject("VehicleSpeed");
30 *
31 * var speedObject = dbus.interface("org.automotive.VehicleSpeed", speedObjectPaths[0]);
32 *
33 * console.log("Vehicle Speed: " + speedObject.Speed);
34 * \endcode
35 */