Update accessibilty scroll event.
authorSung-jae Park <nicesj.park@samsung.com>
Thu, 18 Apr 2013 05:05:51 +0000 (14:05 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Thu, 18 Apr 2013 05:05:51 +0000 (14:05 +0900)
Scroll event requires x, y, and mouse type.
mouse state should be DOWN / MOVE / UP.

Change-Id: Ie833c0572d175e2fb42c462db29ae643b219aec0

include/provider.h
packaging/libprovider.spec
src/provider.c

index 4ad696d..772f5bc 100644 (file)
@@ -49,6 +49,12 @@ enum access_event {
        ACCESS_UNHIGHLIGHT,
 };
 
+enum access_mouse_state {
+       ACCESS_MOUSE_DOWN = 0,
+       ACCESS_MOUSE_MOVE = 1,
+       ACCESS_MOUSE_UP = 2,
+};
+
 struct event_arg {
        enum {
                EVENT_NEW, /*!< Master will send this to create a new livebox instance */
@@ -203,15 +209,17 @@ struct event_arg {
                struct {
                        /*!< Accessibility */
                        enum access_event event;
-                       double x;
-                       double y;
+                       int x;
+                       int y;
+                       int mouse_state;
                } lb_access;
 
                struct {
                        /*!< Accessibility */
                        enum access_event event;
-                       double x;
-                       double y;
+                       int x;
+                       int y;
+                       int mouse_state;
                } pd_access;
 
                struct {
index 85510bb..0863c2a 100644 (file)
@@ -1,6 +1,6 @@
 Name: libprovider
 Summary: Library for developing the livebox service provider.
-Version: 0.8.1
+Version: 0.8.2
 Release: 1
 Group: HomeTF/Livebox
 License: Flora License
index f92a926..baaf855 100644 (file)
@@ -612,7 +612,7 @@ out:
        return NULL;
 }
 
-struct packet *master_pd_access_scroll(pid_t pid, int handle, const struct packet *packet)
+struct packet *master_pd_access_scroll_down(pid_t pid, int handle, const struct packet *packet)
 {
        struct event_arg arg;
        double timestamp;
@@ -626,6 +626,55 @@ struct packet *master_pd_access_scroll(pid_t pid, int handle, const struct packe
 
        arg.type = EVENT_PD_ACCESS;
        arg.info.pd_access.event = ACCESS_SCROLL;
+       arg.info.pd_access.mouse_state = ACCESS_MOUSE_DOWN;
+       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_scroll_move(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, &timestamp, &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_SCROLL;
+       arg.info.pd_access.mouse_state = ACCESS_MOUSE_MOVE;
+       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_scroll_up(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, &timestamp, &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_SCROLL;
+       arg.info.pd_access.mouse_state = ACCESS_MOUSE_UP;
        if (s_info.table.pd_access)
                (void)s_info.table.pd_access(&arg, s_info.data);
        else
@@ -884,7 +933,59 @@ out:
        return NULL;
 }
 
-struct packet *master_lb_access_scroll(pid_t pid, int handle, const struct packet *packet)
+struct packet *master_lb_access_scroll_down(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,
+                                        &timestamp,
+                                        &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_SCROLL;
+       arg.info.lb_access.mouse_state = ACCESS_MOUSE_DOWN;
+       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;
+}
+
+struct packet *master_lb_access_scroll_move(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,
+                                        &timestamp,
+                                        &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_SCROLL;
+       arg.info.lb_access.mouse_state = ACCESS_MOUSE_MOVE;
+       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;
+}
+
+struct packet *master_lb_access_scroll_up(pid_t pid, int handle, const struct packet *packet)
 {
        struct event_arg arg;
        double timestamp;
@@ -900,6 +1001,7 @@ struct packet *master_lb_access_scroll(pid_t pid, int handle, const struct packe
 
        arg.type = EVENT_LB_ACCESS;
        arg.info.lb_access.event = ACCESS_SCROLL;
+       arg.info.lb_access.mouse_state = ACCESS_MOUSE_UP;
        if (s_info.table.lb_access)
                (void)s_info.table.lb_access(&arg, s_info.data);
        else
@@ -1082,10 +1184,6 @@ static struct method s_table[] = {
                .handler = master_pd_access_activate,
        },
        {
-               .cmd = "pd_access_scroll",
-               .handler = master_pd_access_scroll,
-       },
-       {
                .cmd = "pd_access_value_change",
                .handler = master_pd_access_value_change,
        },
@@ -1093,6 +1191,18 @@ static struct method s_table[] = {
                .cmd = "pd_access_unhighlight",
                .handler = master_pd_access_unhighlight,
        },
+       {
+               .cmd = "pd_access_scroll_down",
+               .handler = master_pd_access_scroll_down,
+       },
+       {
+               .cmd = "pd_access_scroll_move",
+               .handler = master_pd_access_scroll_move,
+       },
+       {
+               .cmd = "pd_access_scroll_up",
+               .handler = master_pd_access_scroll_up,
+       },
 
        {
                .cmd = "lb_access_hl",
@@ -1111,10 +1221,6 @@ static struct method s_table[] = {
                .handler = master_lb_access_activate,
        },
        {
-               .cmd = "lb_access_scroll",
-               .handler = master_lb_access_scroll,
-       },
-       {
                .cmd = "lb_access_value_change",
                .handler = master_lb_access_value_change,
        },
@@ -1126,6 +1232,18 @@ static struct method s_table[] = {
                .cmd = "lb_access_unhighlight",
                .handler = master_lb_access_unhighlight,
        },
+       {
+               .cmd = "lb_access_scroll_down",
+               .handler = master_lb_access_scroll_down,
+       },
+       {
+               .cmd = "lb_access_scroll_move",
+               .handler = master_lb_access_scroll_move,
+       },
+       {
+               .cmd = "lb_access_scroll_up",
+               .handler = master_lb_access_scroll_up,
+       },
 
        {
                .cmd = NULL,