1 #ifndef SMART_NOTIFICATION_H_
2 #define SMART_NOTIFICATION_H_
5 * @brief Type of notification events.
7 * @FOCUS_CHAIN_END_NOTIFICATION_EVENT emitted when
8 * currnetly focued widget is the last one
9 * in focus chain for application current view.
11 * @REALIZED_ITEMS_NOTIFICATION_EVENT
13 enum _Notification_Type {
14 FOCUS_CHAIN_END_NOTIFICATION_EVENT,
15 REALIZED_ITEMS_NOTIFICATION_EVENT,
18 typedef enum _Notification_Type Notification_Type;
21 * @brief Initializes notification submodule.
24 * Notification submodule is resposnisle for providing
25 * voice output to end user when on of following events
28 * 1. User starts scrolling active application view.
29 * 2. User finished scrolling (and all scrolling related
30 * animations has stopped) active application view.
31 * 3. When user has navigated to the last widget in focus
33 * 4. After scrolling lists, some of item becomes visible
36 * 1 and 2 are handled internally by smart navigation submodule.
37 * about events 3 and 4 submodule has to be informed by the developer
38 * by using smart_notification API.
40 void smart_notification_init(void);
43 * @brief Notifies smart_notification about UI event.
45 * @param nt Type of the occured event.
46 * @param start_index Item of the first item that becomes visible
47 * after scrolling list widget.
48 * @param end_index index of the last item that becomes visible
49 * after scrolling list widget.
51 * @note start_index and end_index are interpreted only
52 * when nt parameter is REALIZED_ITEMS_NOTIFICATION_EVENT
53 * @note initializes haptic module.
55 void smart_notification(Notification_Type nt, int start_index, int end_index);
58 * @brief Shutdowns notification subsystem.
60 void smart_notification_shutdown(void);
62 #endif /* end of include guard: SMART_NOTIFICATION_H_ */