[Internal: changed] remove log, daemon check api added
[platform/core/system/sync-agent.git] / doc / groups_engine_controller.dox
1 /**\r
2  @page engine_controller Engine Controller module\r
3 \r
4  @section Overview\r
5 Engine Controller module provides encapsulated multi-thread environment plus its control.<br>\r
6 \r
7  @image html overview_engine_controller.png "Software architecture of Engine Controller module"\r
8 \r
9 It uses an internal object called "Task", and it contains\r
10         - A pointer to a user-registered function\r
11         - Input/output parameters of the function and relationship to other Tasks\r
12 \r
13 Engine Controller provides two kinds of Tasks - Sync and Async.\r
14         - Sync Tasks return after execution finish.\r
15         - Async Tasks return before execution finish, and afterwards call user-specified callback when the execution finished.\r
16 \r
17 User need to define and register expected Tasks in advnace before using it.<br>\r
18 And by registering queueing rule connected to user Tasks, user may control their processing order.<br>\r
19 For example, precedent condition such as "Task B should be executed after Task A has finished." can be specified.\r
20 \r
21 Engine Controller module has following sub implementations with each corresponding roles.<br>\r
22         - <b>Task generator</b><br>\r
23         Provides APIs to generate and register Task object, and to register between-Tasks relationship called "Queuing rule".<br>\r
24 \r
25         - <b>Task Manager</b><br>\r
26         Manages user-registered Tasks and their relationship with other Tasks internally.<br>\r
27 \r
28         - <b>Task Executor</b><br>\r
29         Executes/cancels user-registerd Tasks on demand.<br>\r
30 */\r