/** @page event Event module @section Overview Event module provides encapsulated IPC mechanism.
Event which is sent from UI to engine, is based on socket, and Noti which is sent from engine to UI, is based on Inotify.
@image html overview_event.png "Software architecture of Event module" In order to enable customizing, external Event/Noti spec files are used,
and path of the spec files in Target device should be specified in Framework configuration XML.
Sync-agent Framework parses the spec files and performs requested IPC operation as defined in the spec files. Following example of spec file contents. - eventconfig
1, 1, 0, 30, addprofile
2, 1, 0, 30, editprofile
3, 1, 0, 30, deleteprofile
4, 1, 0, 30, requestsync
5, 1, 0, 30, cancelsync
- noticonfig
1, 0, 0, 30, sessionprocess
2, 0, 0, 30, processupdate
First column specifies unique index number,
second column specifies type (sync or async, currently uses only sync type(1)),
third column specifies related event/noti index (currently not in use(0)),
fourth column specifies pending time (currently not in use, use any number),
fifth column specifies description just for human readability.
For each Event and Noti, user should register callback function which will be invoked on reception.
Those registration should be done before using IPC. In brief, user may go through next steps to activate Framework IPC system.
-# Compose Event/Noti spec files. (Environment) -# Register Event/Noti callback for each event. (Code) -# Run Event/Noti listener. (Code) Sync-agent Framework provides standard IPC API set for OMA DM and OMA DS. (Refer to oma_xx_api.h) Event module has following sub implementations with each corresponding roles.
- Spec Manager
Parses and loads event/noti spec files specified.
- Event Accessor
Provides APIs to access Event/Noti instance exchanging between UI and engine.
Using those APIs, user can get/set data in Event/Noti instance.
- Event Handler
Creates Event listener and handles received Event as specified in spec files.
Provides API for user to register Event callback executed on reception.
Engine can dispatch Noti to UI through this module.
- UI API
Creates Noti listener and handles received Noti as specified in spec files.
Provides API for user to register Noti callback executed on reception.
UI can dispatch Event to engine through this module.
*/