#include <dlog.h>
#include <livebox-errno.h>
+#include <livebox-service.h> /* LB_ACCESS_STATUS_XXXX */
#include "dlist.h"
#include "util.h"
arg.info.pd_access.event = ACCESS_VALUE_CHANGE;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.pd_access.event = ACCESS_SCROLL;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
+
+out:
+ return NULL;
+}
+
+struct packet *master_pd_access_unhighlight(pid_t pid, int handle, const struct packet *packet)
+{
+ struct event_arg arg;
+ double timestamp;
+ int ret;
+
+ ret = packet_get(packet, "ssdii", &arg.pkgname, &arg.id, ×tamp, &arg.info.pd_access.x, &arg.info.pd_access.y);
+ if (ret != 5) {
+ ErrPrint("Invalid packet\n");
+ goto out;
+ }
+
+ arg.type = EVENT_PD_ACCESS;
+ arg.info.pd_access.event = ACCESS_UNHIGHLIGHT;
+ if (s_info.table.pd_access)
+ (void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.pd_access.event = ACCESS_HIGHLIGHT;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.pd_access.event = ACCESS_HIGHLIGHT_PREV;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.pd_access.event = ACCESS_HIGHLIGHT_NEXT;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.pd_access.event = ACCESS_ACTIVATE;
if (s_info.table.pd_access)
(void)s_info.table.pd_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
+
+out:
+ return NULL;
+}
+
+struct packet *master_lb_access_unhighlight(pid_t pid, int handle, const struct packet *packet)
+{
+ struct event_arg arg;
+ double timestamp;
+ int ret;
+
+ ret = packet_get(packet, "ssdii", &arg.pkgname, &arg.id,
+ ×tamp,
+ &arg.info.lb_access.x, &arg.info.lb_access.y);
+
+ if (ret != 5) {
+ ErrPrint("Invalid packet\n");
+ goto out;
+ }
+
+ arg.type = EVENT_LB_ACCESS;
+ arg.info.lb_access.event = ACCESS_UNHIGHLIGHT;
+ if (s_info.table.lb_access)
+ (void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_HIGHLIGHT;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_HIGHLIGHT_PREV;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_HIGHLIGHT_NEXT;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_VALUE_CHANGE;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_SCROLL;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
arg.info.lb_access.event = ACCESS_ACTIVATE;
if (s_info.table.lb_access)
(void)s_info.table.lb_access(&arg, s_info.data);
+ else
+ (void)provider_send_access_status(arg.pkgname, arg.id, LB_ACCESS_STATUS_ERROR);
out:
return NULL;
.cmd = "pd_access_value_change",
.handler = master_pd_access_value_change,
},
+ {
+ .cmd = "pd_access_unhighlight",
+ .handler = master_pd_access_unhighlight,
+ },
{
.cmd = "lb_access_hl",
.cmd = "update_mode",
.handler = master_update_mode,
},
+ {
+ .cmd = "lb_access_unhighlight",
+ .handler = master_lb_access_unhighlight,
+ },
{
.cmd = NULL,