/* To Do hash table is better */
struct event{
const char* name;
- struct afb_event* event;
- };
+ struct afb_event event;
+};
static struct event event_list[COMMAND_EVENT_NUM];
-static struct afb_event ev_tap_shortcut;
-static struct afb_event ev_on_screen_message;
-static struct afb_event ev_on_screen_reply;
-static struct afb_event ev_reserved;
-
static const char _error[] = "error";
-
static const char _application_name[] = "application_name";
static const char _display_message[] = "display_message";
static const char _reply_message[] = "reply_message";
/**
* tap_shortcut notify for homescreen
* When Shortcut area is tapped, notify these applciations
- *
+ *
* #### Parameters
* Request key
* - application_name : application name
*
* #### Return
- * Nothing
+ * None
*
*/
static void tap_shortcut (struct afb_req request)
struct json_object* push_obj = json_object_new_object();
hs_add_object_to_json_object_str( push_obj, 2,
_application_name, value);
- afb_event_push(ev_tap_shortcut, push_obj);
+ afb_event_push(event_list[hs_search_event_name_index(__FUNCTION__)].event, push_obj);
} else {
afb_req_fail_f(request, "failed", "called %s, Unknown palameter", __FUNCTION__);
return;
* - display_message : message for display
*
* #### Return
- * Nothing
+ * None
*
*/
static void on_screen_message (struct afb_req request)
struct json_object* push_obj = json_object_new_object();
hs_add_object_to_json_object_str( push_obj, 2,
_display_message, value);
- afb_event_push(ev_on_screen_message, push_obj);
+ afb_event_push(event_list[hs_search_event_name_index(__FUNCTION__)].event, push_obj);
} else {
afb_req_fail_f(request, "failed", "called %s, Unknown palameter", __FUNCTION__);
return;
* - reply_message : message for reply
*
* #### Return
- * Nothing
+ * None
*
*/
static void on_screen_reply (struct afb_req request)
struct json_object* push_obj = json_object_new_object();
hs_add_object_to_json_object_str( push_obj, 2,
_reply_message, value);
- afb_event_push(ev_on_screen_reply, push_obj);
+ afb_event_push(event_list[hs_search_event_name_index(__FUNCTION__)].event, push_obj);
} else {
afb_req_fail_f(request, "failed", "called %s, Unknown palameter", __FUNCTION__);
return;
* - event : Event name. Event list is written in libhomescreen.cpp
*
* #### Return
- * Nothing
- *
- * #### Note
+ * None
*
*/
static void subscribe(struct afb_req request)
}
else
{
- afb_req_subscribe(request, *event_list[index].event);
+ afb_req_subscribe(request, event_list[index].event);
}
}
else{
* - event : Event name. Event list is written in libhomescreen.cpp
*
* #### Return
- * Nothing
- *
- * #### Note
+ * None
*
*/
static void unsubscribe(struct afb_req request)
}
else
{
- afb_req_unsubscribe(request, *event_list[index].event);
+ afb_req_unsubscribe(request, event_list[index].event);
}
}
else{
{NULL } /* marker for end of the array */
};
+/**
+ * homescreen binding preinit function
+ *
+ * #### Parameters
+ * - null
+ *
+ * #### Return
+ * None
+ *
+ */
static int preinit()
{
HMI_NOTICE("homescreen-service","binding preinit (was register)");
return 0;
}
+/**
+ * homescreen binding init function
+ *
+ * #### Parameters
+ * - null
+ *
+ * #### Return
+ * None
+ *
+ */
static int init()
{
- HMI_NOTICE("homescreen-service","binding init");
-
- ev_tap_shortcut = afb_daemon_make_event(evlist[0]);
- ev_on_screen_message = afb_daemon_make_event(evlist[1]);
- ev_on_screen_reply = afb_daemon_make_event(evlist[2]);
- ev_reserved = afb_daemon_make_event(evlist[3]);
+ HMI_NOTICE("homescreen-service","binding init");
- event_list[0].name = evlist[0];
- event_list[0].event = &ev_tap_shortcut;
-
- event_list[1].name = evlist[1];
- event_list[1].event = &ev_on_screen_message;
-
- event_list[2].name = evlist[2];
- event_list[2].event = &ev_on_screen_reply;
-
- event_list[3].name = evlist[3];
- event_list[3].event = &ev_reserved;
+ for(int i = 0; i < COMMAND_EVENT_NUM; ++i) {
+ event_list[i].name = evlist[i];
+ event_list[i].event = afb_daemon_make_event(evlist[i]);
+ }
- return 0;
+ return 0;
}
+/**
+ * homescreen binding event function
+ *
+ * #### Parameters
+ * - event : event name
+ * - object : event json object
+ *
+ * #### Return
+ * None
+ *
+ */
static void onevent(const char *event, struct json_object *object)
{
HMI_NOTICE("homescreen-service","on_event %s", event);