#include "hs-helper.h"
#include "hmi-debug.h"
-#define COMMAND_EVENT_NUM 3
+#define COMMAND_EVENT_NUM 4
#define EVENT_SUBSCRIBE_ERROR_CODE 100
/* To Do hash table is better */
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 _application_id[] = "application_id";
static const char _display_message[] = "display_message";
+static const char _reply_message[] = "reply_message";
/*
********** Method of HomeScreen Service (API) **********
*
* #### Parameters
* Request key
- * - application_name : application name
+ * - application_id : application id
*
* #### Return
* Nothing
HMI_NOTICE("homescreen-service","called.");
int ret = 0;
- const char* value = afb_req_value(request, _application_name);
+ const char* value = afb_req_value(request, _application_id);
if (value) {
HMI_NOTICE("homescreen-service","request params = %s.", value);
struct json_object* push_obj = json_object_new_object();
hs_add_object_to_json_object_str( push_obj, 2,
- _application_name, value);
+ _application_id, value);
afb_event_push(ev_tap_shortcut, push_obj);
} else {
afb_req_fail_f(request, "failed", "called %s, Unknown palameter", __FUNCTION__);
afb_req_success(request, res, "afb_event_push event [on_screen_message]");
}
+/**
+ * HomeScreen OnScreen Reply
+ *
+ * #### Parameters
+ * Request key
+ * - reply_message : message for reply
+ *
+ * #### Return
+ * Nothing
+ *
+ */
+static void on_screen_reply (struct afb_req request)
+{
+ HMI_NOTICE("homescreen-service","called.");
+
+ int ret = 0;
+ const char* value = afb_req_value(request, _reply_message);
+ if (value) {
+
+ HMI_NOTICE("homescreen-service","request params = %s.", value);
+
+ 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);
+ } else {
+ afb_req_fail_f(request, "failed", "called %s, Unknown palameter", __FUNCTION__);
+ return;
+ }
+
+ // response to HomeScreen
+ struct json_object *res = json_object_new_object();
+ hs_add_object_to_json_object_func(res, __FUNCTION__, 2,
+ _error, ret);
+ afb_req_success(request, res, "afb_event_push event [on_screen_reply]");
+}
+
/**
* Subscribe event
*
{ .verb = "ping", .session = AFB_SESSION_NONE, .callback = pingSample, .auth = NULL },
{ .verb = "tap_shortcut", .session = AFB_SESSION_NONE, .callback = tap_shortcut, .auth = NULL },
{ .verb = "on_screen_message", .session = AFB_SESSION_NONE, .callback = on_screen_message, .auth = NULL },
+ { .verb = "on_screen_reply", .session = AFB_SESSION_NONE, .callback = on_screen_reply, .auth = NULL },
{ .verb = "subscribe", .session = AFB_SESSION_NONE, .callback = subscribe, .auth = NULL },
{ .verb = "unsubscribe", .session = AFB_SESSION_NONE, .callback = unsubscribe, .auth = NULL },
{NULL } /* marker for end of the array */
ev_tap_shortcut = afb_daemon_make_event(evlist[0]);
ev_on_screen_message = afb_daemon_make_event(evlist[1]);
- ev_reserved = afb_daemon_make_event(evlist[2]);
+ ev_on_screen_reply = afb_daemon_make_event(evlist[2]);
+ ev_reserved = afb_daemon_make_event(evlist[3]);
event_list[0].name = evlist[0];
event_list[0].event = &ev_tap_shortcut;
event_list[1].event = &ev_on_screen_message;
event_list[2].name = evlist[2];
- event_list[2].event = &ev_reserved;
+ event_list[2].event = &ev_on_screen_reply;
+
+ event_list[3].name = evlist[3];
+ event_list[3].event = &ev_reserved;
return 0;
}