blob: faadc5169ab8b7eb6fcfc007dcfa47ecd544a033 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
/**
* @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 @<ossama.othman@@intel.com@>
*/
|