/** * @mainpage Settingsd - Tizen IVI Settings Daemon * * * * @section settingsd_main_sec settingsd * * * @subsection config_sec Configuration * * * @note Command line parameters have precedence over their * configuration file counterparts. * * @section plugins_sec Writing Settingsd Plugins * * All settingsd plugins must implement two functions with C linkage: * * @code * extern "C" ivi::settings::plugin * make_settings(); * extern "C" void destroy_settings(ivi::settings::plugin *); * @endcode * * Both functions must be exported from the plugin if compile- or * link-time symbol hiding is enabled. There is no need to export * the plugin subclass itself since it will only be invoked through * the @c ivi::settings::plugin base class. * * @subsection make_settings make_settings() * * The @c make_settings() function is a factory function that returns a * pointer to an object that implements the @c ivi::settings::plugin * interface (i.e. subclasses @c ivi::settings::plugin). The settingsd * plugin framework does not require @c ivi::settings::plugin * instances to be allocated in a particular way, but one would * typically create an instance using @c operator @c new(). * * @see the @c ivi::settings::plugin abstract base class for further * documentation, including the required @c @#include directive. * * @subsection destroy_settings destroy_settings() * * The @c destroy_provider() function will be called by the settingsd * plugin framework when it no longer needs the provider in * question. The settingsd plugin framework does not require * @c ivi::settings::plugin instances to be deallocated in a * particular way, but one would typically destroy instances using * @c operator @c delete(), assuming it was created using @c operator * @c new() in the plugin's @c make_settings() function. * * @subsection linking Link-time Dependencies * * Settingsd plugins must link against the settingsd library, @e e.g. * @c libsettings on Unix-like platforms. * * @author Ossama Othman @ */