e_info: Add desk_set and desk_area_set for test 91/325191/1
authorJunseok Kim <juns.kim@samsung.com>
Wed, 21 May 2025 06:45:38 +0000 (15:45 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Wed, 4 Jun 2025 06:55:56 +0000 (15:55 +0900)
Change-Id: I6dd8f612ce430e7b71d0f84f3a19cad9d3c2b960

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

index 31ce8b5621c3948b7a669a8567c73b24d2afd5d1..0040ae716390c938dd105bb4a99c3f9cdcb41bd2 100644 (file)
@@ -6801,6 +6801,54 @@ _e_info_client_proc_zone_set(int argc, char **argv)
      }
 }
 
+static void
+_e_info_client_proc_desk_set(int argc, char **argv)
+{
+   int zone_id = 0;
+   int desk_id = 0;
+
+   if (argc < 5)
+     {
+        printf("Error Check Args: enlightenment_info -desk_set [windowID] [zone id] [desk id]\n");
+        return;
+     }
+
+   zone_id = atoi(argv[3]);
+   desk_id = atoi(argv[4]);
+
+   if (!_e_info_client_eldbus_message_with_args("desk_set", NULL, "sii",
+                                                argv[2], zone_id, desk_id))
+     {
+        printf("_e_info_client_eldbus_message_with_args error");
+        return;
+     }
+}
+
+static void
+_e_info_client_proc_desk_area_set(int argc, char **argv)
+{
+   int zone_id = 0;
+   int desk_id = 0;
+   int desk_area_id = 0;
+
+   if (argc < 6)
+     {
+        printf("Error Check Args: enlightenment_info -desk_area_set [windowID] [zone id] [desk id] [desk area id]\n");
+        return;
+     }
+
+   zone_id = atoi(argv[3]);
+   desk_id = atoi(argv[4]);
+   desk_area_id = atoi(argv[5]);
+
+   if (!_e_info_client_eldbus_message_with_args("desk_area_set", NULL, "siii",
+                                                argv[2], zone_id, desk_id, desk_area_id))
+     {
+        printf("_e_info_client_eldbus_message_with_args error");
+        return;
+     }
+}
+
 static void
 _e_info_client_proc_input_output_set(int argc, char **argv)
 {
@@ -7801,6 +7849,18 @@ static ProcInfo procs_to_execute[] =
       "Set zone",
       _e_info_client_proc_zone_set
    },
+   {
+      "desk_set",
+      "[windowID zoneID deskID]",
+      "Set desk",
+      _e_info_client_proc_desk_set
+   },
+   {
+      "desk_area_set",
+      "[windowID zoneID deskID, deskareaID]",
+      "Set desk area",
+      _e_info_client_proc_desk_area_set
+   },
    {
       "input_output_set",
       "[input(ex./dev/input/eventX) output(ex.HDMIA-1)]",
index 84e5cb03d2570ba0cf991ede3b750184b768859f..cd805fd7b156a1e10f2dc9c83b0312ac2805b1e0 100644 (file)
@@ -7372,6 +7372,132 @@ _e_info_server_cb_zone_set(const Eldbus_Service_Interface *iface EINA_UNUSED, co
    return reply;
 }
 
+static Eldbus_Message *
+_e_info_server_cb_desk_set(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+   Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+   unsigned long tmp = 0;
+   const char *win_id_str = NULL;
+   int zone_id = 0, desk_id = 0;
+   uint64_t win_id = 0;
+   Evas_Object *o = NULL;
+   E_Client *ec = NULL;
+   E_Zone *zone = NULL;
+   E_Desk *desk = NULL;
+   Eina_Bool res = EINA_FALSE;
+
+   if (!eldbus_message_arguments_get(msg, "sii", &win_id_str, &zone_id, &desk_id))
+     {
+        ERR("Error getting arguments.");
+        return reply;
+     }
+
+   if (strlen(win_id_str) >= 2 && win_id_str[0] == '0' && win_id_str[1] == 'x')
+     res = e_util_string_to_ulong(win_id_str, &tmp, 16);
+   else
+     res = e_util_string_to_ulong(win_id_str, &tmp, 10);
+
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, reply);
+
+   win_id = (uint64_t)tmp;
+
+   for (o = evas_object_top_get(e_comp_evas_get()); o; o = evas_object_below_get(o))
+     {
+        ec = evas_object_data_get(o, "E_Client");
+        Ecore_Window win;
+
+        if (!ec) continue;
+
+        win = e_client_util_win_get(ec);
+        if (win != win_id) continue;
+
+        zone = e_zone_get_by_id(zone_id);
+        if (zone)
+          {
+             for (desk = e_zone_desk_top_get(zone);
+                  desk;
+                  desk = e_zone_desk_below_get(zone, desk))
+               {
+                  if (desk->id == desk_id)
+                    {
+                       e_desk_client_add(desk, ec);
+                    }
+               }
+          }
+
+        break;
+     }
+
+   return reply;
+}
+
+static Eldbus_Message *
+_e_info_server_cb_desk_area_set(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+   Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+   unsigned long tmp = 0;
+   const char *win_id_str = NULL;
+   int zone_id = 0, desk_id = 0, desk_area_id;
+   uint64_t win_id = 0;
+   Evas_Object *o = NULL;
+   E_Client *ec = NULL;
+   E_Zone *zone = NULL;
+   E_Desk *desk = NULL;
+   E_Desk_Area *eda = NULL;
+   Eina_Bool res = EINA_FALSE;
+   Eina_List *l;
+
+   if (!eldbus_message_arguments_get(msg, "siii", &win_id_str, &zone_id, &desk_id, &desk_area_id))
+     {
+        ERR("Error getting arguments.");
+        return reply;
+     }
+
+   if (strlen(win_id_str) >= 2 && win_id_str[0] == '0' && win_id_str[1] == 'x')
+     res = e_util_string_to_ulong(win_id_str, &tmp, 16);
+   else
+     res = e_util_string_to_ulong(win_id_str, &tmp, 10);
+
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(res, reply);
+
+   win_id = (uint64_t)tmp;
+
+   for (o = evas_object_top_get(e_comp_evas_get()); o; o = evas_object_below_get(o))
+     {
+        ec = evas_object_data_get(o, "E_Client");
+        Ecore_Window win;
+
+        if (!ec) continue;
+
+        win = e_client_util_win_get(ec);
+        if (win != win_id) continue;
+
+        zone = e_zone_get_by_id(zone_id);
+        if (zone)
+          {
+             for (desk = e_zone_desk_top_get(zone);
+                  desk;
+                  desk = e_zone_desk_below_get(zone, desk))
+               {
+                  if (desk->id == desk_id)
+                    {
+                       EINA_LIST_FOREACH(desk->desk_area.list, l, eda)
+                         {
+                            if (eda->id == desk_area_id)
+                              {
+                                 e_desk_area_ec_add(eda, ec);
+                              }
+                         }
+                    }
+               }
+          }
+
+        break;
+     }
+
+   return reply;
+}
+
 static Eldbus_Message *
 _e_info_server_cb_input_output_set(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
 {
@@ -8029,6 +8155,8 @@ static const Eldbus_Method methods[] = {
    { "basic_op_gen", ELDBUS_ARGS({"s","window id" }, {"s", "operation"}), NULL, _e_info_server_cb_basic_operation_generate, 0},
    { "process_info", NULL, ELDBUS_ARGS({"s", "process information"}), _e_info_server_cb_process_info, 0 },
    { "zone_set", ELDBUS_ARGS({"si", "zone set"}), NULL, _e_info_server_cb_zone_set, 0 },
+   { "desk_set", ELDBUS_ARGS({"sii", "desk set"}), NULL, _e_info_server_cb_desk_set, 0 },
+   { "desk_area_set", ELDBUS_ARGS({"siii", "desk area set"}), NULL, _e_info_server_cb_desk_area_set, 0 },
    { "input_output_set", ELDBUS_ARGS({"ss", "set input device's output name"}), NULL, _e_info_server_cb_input_output_set, 0 },
    { "input_seat_set", ELDBUS_ARGS({"ss", "set input device's seat"}), NULL, _e_info_server_cb_input_seat_set, 0 },
    { "resize_ppu_set", ELDBUS_ARGS({"si", "set resize ppu"}), NULL, e_info_server_cb_resize_ppu_set, 0},