2 * \file ambd-configuration.idl
3 * \brief This document describes the ambd (AMB daemon) configuration.
4 * This file is typically located as "/etc/ambd/config". Plugin segments are supported as of 0.14 and should be installed in "@PLUGIN_SEGMENT_INSTALL_PATH@".
5 * \section example Configuration Example
8 * "plugins" : "@PLUGIN_SEGMENT_INSTALL_PATH@",
16 * \brief Config object is the root JSON object in the config.
21 * \brief plugins - path to plugin segments.
22 * The AMB Daemon will scan this path for any plugin configuration segments and load them if enabled.
24 readonly attribute DOMString plugins;
27 * \brief mainloop - path to mainloop plugin.
28 * The mainloop plugin is by default glib. AMB also provides a qt-based mainloop so plugins that use Qt mainloop features can be used.
30 readonly attribute DOMString mainloop;
33 * \brief source plugins.
34 * *depricated*. Use plugin configuration segments placed in @PLUGIN_SEGMENT_INSTALL_PATH@.
35 * Plugins defined here will be loaded by AMB.
37 readonly attribute Plugin[] sources;
40 * \brief sink plugins.
41 * *depricated*. Use plugin configuration segments placed in @PLUGIN_SEGMENT_INSTALL_PATH@.
42 * Plugins defined here will be loaded by AMB.
44 readonly attribute Plugin[] sinks;
49 * \brief the Plugin interface describes the configuration for a plugin.
50 * This interface may be extended with plugin specific options. See the specific plugin's documentation for information on extended attributes.
55 * \brief name of plugin (ie 'ExamplePlugin')
57 readonly attribute DOMString name;
60 * \brief path to the plugins .so file (ie @PLUGIN_INSTALL_PATH@/examplesourceplugin.so)
62 readonly attribute DOMString path;
66 * \brief PluginSegment root object for plugin segments.
67 * PluginSegment inherits the attributes from Plugin and adds the "enabled" attribute.
68 * Only plugins that have 'enabled' : true will be loaded by the AMB daemon. PluginSements are usually installed
69 * in @PLUGIN_SEGMENT_INSTALL_PATH@. The following is a basic example of a plugin segment configuration:
72 * "name" : "MyPlugin",
73 * "path" : "@PLUGIN_INSTALL_PATH@/myplugin.so",
78 interface PluginSegment : Plugin {
81 * \brief enabled - returns true if the plugin is enabled or not.
83 readonly attribute boolean? enabled;