Modify SMACK manifest according three domain model
[platform/core/system/sync-agent.git] / doc / appendix_plugin.dox
1 /**\r
2  @page appendix_plugin Plugin implementation\r
3 \r
4  @section Overview\r
5 Here explains about Plugin implementation.<br>\r
6 Through this guide, you can acknowledge what to do how in order to make your own sync client using Sync-agent Framework.<br>\r
7 \r
8  @section Steps\r
9 - <b>First, decide what kind of job you want to make your client to do.</b><br>\r
10         -# Choose Plugin Domains which Sync-agent Framework supports, taking into account what your own client should do.<br>\r
11         Refer to @ref plugin_interface "Plugin Interface overview" page and check what each Domain can do.<br>\r
12         <br>\r
13         -# Go over Plulgin interface set which Plugin Domain you hope to use has, and check if they are enough to realize your desire.<br>\r
14         If something not supported or good enough, we are sorry that you better contact us and request for additional implementation.<br>\r
15         Otherwise, you may improve Sync-agent Framework by yourself and take a chance to contribute to public. :-)<br>\r
16         Just focus on that any contribution should be considered common in the belonged Domain.<br>\r
17         Refer to @ref plugin "Plugin Interface Doxygen" page for interface set in each Plugin Domain.<br>\r
18 \r
19 - <b>Second, check if the operation that you want to implement through Plugins has support in platform aspect.</b><br>\r
20         -# Basically Plugin mechanism is adopted to make Sync-agent Framework platform-independent.<br>\r
21         Means Plugin is just a gateway doing platform-depedent jobs in the middle.<br>\r
22         But that is not mandatory and actually you can put any implementation in it regardless of platfrom just if suitable for interface set.<br>\r
23         <br>\r
24         -# Note that you can use other Plugins in a Plugin by calling Framework in a Plugin.<br>\r
25         This way you may fulfill lack of support from platform.<br>\r
26 \r
27 - <b>Third, make your own implementation according to interface set that Framework defined.</b><br>\r
28         -# You may omit implementing any interfaces, just don't forget to prepare for such exception case in the code.<br>\r
29         Sync-agent Framework can handle such 'symbol not found' case in advance, but you better be awared for such cases.\r
30 \r
31 - <b>For the last, write necessary settings in configuration file.</b><br>\r
32         -# In order for Framework to load your Plugin, details about the Plugin should be described in configuration file.<br>\r
33         Path and name of the .so file, and relation to other Plugin, registration data if necessary.<br>\r
34         Refer to @ref appendix_configuration "Framework configuration XML" page and check how to compose the configuration file.<br>\r
35 */\r
36 \r