2 @page appendix_plugin Plugin implementation
\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
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
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
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
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
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
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