e_info_client/server: add role option for transform test 75/254875/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Wed, 10 Mar 2021 07:40:18 +0000 (16:40 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 10 Mar 2021 07:41:25 +0000 (16:41 +0900)
Change-Id: Ia490960df2e2cb7a83645a0e7c7476b8a863cb8c

src/bin/e_info_client.c
src/bin/e_info_server.c

index 5810e36892d414eee6912afa96d3e43b55b5cf6d..4fa32f1baa9099d59bbfac96e335a65363ee7f45 100644 (file)
@@ -2436,11 +2436,12 @@ static void
 _e_info_client_proc_transform_set(int argc, char **argv)
 {
    int32_t id_enable_xy_sxsy_angle[8];
+   const char *role = "winfo test";
    int i;
 
    if (argc < 11)
      {
-        printf("Error Check Args: enlightenment_info -transform [windowID] [transform id] [enable] [x] [y] [scale_x(percent)] [scale_y(percent)] [degree] [background]\n");
+        printf("Error Check Args: enlightenment_info -transform [windowID] [transform id] [enable] [x] [y] [scale_x(percent)] [scale_y(percent)] [degree] [background] [role(optional)]\n");
         return;
      }
 
@@ -2456,10 +2457,13 @@ _e_info_client_proc_transform_set(int argc, char **argv)
    for (i = 0 ; i < 8 &&  i+3 < argc; ++i)
       id_enable_xy_sxsy_angle[i] = atoi(argv[i+3]);
 
-   if (!_e_info_client_eldbus_message_with_args("transform_message", NULL, "siiiiiiii",
+   if (argc == 12)
+     role = argv[11];
+
+   if (!_e_info_client_eldbus_message_with_args("transform_message", NULL, "siiiiiiiis",
                                                 argv[2], id_enable_xy_sxsy_angle[0] , id_enable_xy_sxsy_angle[1], id_enable_xy_sxsy_angle[2],
                                                 id_enable_xy_sxsy_angle[3], id_enable_xy_sxsy_angle[4], id_enable_xy_sxsy_angle[5],
-                                                id_enable_xy_sxsy_angle[6], id_enable_xy_sxsy_angle[7]))
+                                                id_enable_xy_sxsy_angle[6], id_enable_xy_sxsy_angle[7], role))
      {
         printf("_e_info_client_eldbus_message_with_args error");
         return;
index 25e00e291ce5e3da857bd5e3aa8834f33ef24633..c385509d28d3b9ec774f7864c9bc3e456c9f0f7f 100644 (file)
@@ -96,7 +96,7 @@ enum
    E_INFO_SERVER_SIGNAL_WIN_UNDER_TOUCH = 0
 };
 
-static E_Info_Transform *_e_info_transform_new(E_Client *ec, int id, int enable, int x, int y, int sx, int sy, int degree, int background);
+static E_Info_Transform *_e_info_transform_new(E_Client *ec, int id, int enable, int x, int y, int sx, int sy, int degree, int background, const char *role);
 static E_Info_Transform *_e_info_transform_find(E_Client *ec, int id);
 static void              _e_info_transform_set(E_Info_Transform *transform, int enable, int x, int y, int sx, int sy, int degree);
 static void              _e_info_transform_del(E_Info_Transform *transform);
@@ -1175,7 +1175,7 @@ _get_win_prop_Transform(const Evas_Object *evas_obj)
    if (count <= 0)
      return str;
 
-   astrcat_(&str, "               [id] [role           ] [move]       [scale]        [rot] [viewport]\n");
+   astrcat_(&str, "               [id] [role                   ] [move]       [scale]        [rot] [viewport]\n");
 
    for (i = 0; i < count; ++i)
      {
@@ -1184,7 +1184,8 @@ _get_win_prop_Transform(const Evas_Object *evas_obj)
         int view_port = 0;
         int vx = 0, vy = 0, vw = 0, vh = 0;
         E_Util_Transform *transform = NULL;
-        const char *role = NULL;
+        const char *tmp_str = NULL;
+        char role[24] = {0,};
 
         transform = e_client_transform_core_transform_get((E_Client *)ec, i);
         if (!transform) continue;
@@ -1197,9 +1198,11 @@ _get_win_prop_Transform(const Evas_Object *evas_obj)
         if (view_port)
           e_util_transform_viewport_get(transform, &vx, &vy, &vw, &vh);
 
-        role = e_util_transform_role_get(transform);
-        astrcat_(&str, "transform    : [%2d] [%-15s] [%4d, %4d] [%2.3f, %2.3f] [%3d] [%d :%d, %d, %d, %d]\n",
-                i, role ? role:"unknown", x, y, dsx, dsy, rz, view_port, vx, vy, vw, vh);
+        tmp_str = e_util_transform_role_get(transform);
+        strncpy(role, (tmp_str ? tmp_str:"unknown"), sizeof(role)-1);
+
+        astrcat_(&str, "transform    : [%2d] [%-23s] [%4d, %4d] [%2.3f, %2.3f] [%3d] [%d :%d, %d, %d, %d]\n",
+                i, role, x, y, dsx, dsy, rz, view_port, vx, vy, vw, vh);
 
         if (e_util_transform_bg_transform_flag_get(transform))
           {
@@ -3660,8 +3663,9 @@ e_info_server_cb_transform_message(const Eldbus_Service_Interface *iface EINA_UN
    Evas_Object *o;
    E_Client *ec;
    Eina_Bool res = EINA_FALSE;
+   const char *role = NULL;
 
-   if (!eldbus_message_arguments_get(msg, "siiiiiiii", &value, &transform_id, &enable, &x, &y, &sx, &sy, &degree, &background))
+   if (!eldbus_message_arguments_get(msg, "siiiiiiiis", &value, &transform_id, &enable, &x, &y, &sx, &sy, &degree, &background, &role))
      {
         ERR("Error getting arguments.");
         return reply;
@@ -3700,7 +3704,7 @@ e_info_server_cb_transform_message(const Eldbus_Service_Interface *iface EINA_UN
           {
              if (enable)
                {
-                  _e_info_transform_new(ec, transform_id, enable, x, y, sx, sy, degree, background);
+                  _e_info_transform_new(ec, transform_id, enable, x, y, sx, sy, degree, background, role);
                }
           }
 
@@ -7091,7 +7095,7 @@ static const Eldbus_Method methods[] = {
    { "protocol_rule", ELDBUS_ARGS({"sss", "protocol_rule"}), ELDBUS_ARGS({"s", "rule request"}), _e_info_server_cb_protocol_rule, 0},
    { "bgcolor_set", ELDBUS_ARGS({"iiii", "bgcolor_set"}), NULL, _e_info_server_cb_bgcolor_set, 0},
    { "punch", ELDBUS_ARGS({"iiiiiiiii", "punch_geometry"}), NULL, _e_info_server_cb_punch, 0},
-   { "transform_message", ELDBUS_ARGS({"siiiiiiii", "transform_message"}), NULL, e_info_server_cb_transform_message, 0},
+   { "transform_message", ELDBUS_ARGS({"siiiiiiiis", "transform_message"}), NULL, e_info_server_cb_transform_message, 0},
    { "dump_buffers", ELDBUS_ARGS({"iisdis", "dump_buffers"}), ELDBUS_ARGS({"is", "dump_buffers reply"}), _e_info_server_cb_buffer_dump, 0 },
    { "dump_selected_buffers", ELDBUS_ARGS({"ss", "dump_selected_buffers"}), ELDBUS_ARGS({"s", "result of dump"}), _e_info_server_cb_selected_buffer_dump, 0 },
    { "dump_screen", ELDBUS_ARGS({"s", "dump_screen"}), NULL, _e_info_server_cb_screen_dump, 0 },
@@ -7455,7 +7459,7 @@ err:
 
 
 static E_Info_Transform*
-_e_info_transform_new(E_Client *ec, int id, int enable, int x, int y, int sx, int sy, int degree, int background)
+_e_info_transform_new(E_Client *ec, int id, int enable, int x, int y, int sx, int sy, int degree, int background, const char *role)
 {
    E_Info_Transform *result = NULL;
    result = _e_info_transform_find(ec, id);
@@ -7468,6 +7472,7 @@ _e_info_transform_new(E_Client *ec, int id, int enable, int x, int y, int sx, in
         result->id = id;
         result->ec = ec;
         result->transform = e_util_transform_new();
+        e_util_transform_role_set(result->transform, role);
         result->background = background;
         result->enable = 0;
         _e_info_transform_set(result, enable, x, y, sx, sy, degree);