e_input_device: reduce duplicated code to find e_input_device 52/325052/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 2 Jun 2025 02:46:03 +0000 (11:46 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Mon, 2 Jun 2025 06:27:25 +0000 (15:27 +0900)
Change-Id: I500fd51a8ea4633bfa624ef85442123e67a4f943
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/bin/inputmgr/e_input_device.c

index e3631357cc11db7568575baace2fec02fe12e24f..18b421a2b46db88963a51317aadc60e1c7657065 100644 (file)
@@ -855,20 +855,17 @@ e_input_device_unblock(E_Input_Device *dev, void *client)
    return EINA_TRUE;
 }
 
-EINTERN Eina_Bool
-e_input_device_output_name_set(E_Input_Device *dev, const char *input, const char *output)
+static E_Input_Evdev *
+_e_input_device_find_by_path(E_Input_Device *dev, const char *input)
 {
-   E_Input_Seat *seat;
    E_Input_Evdev *evdev = NULL;
+   E_Input_Evdev *found_evdev = NULL;
    Eina_List *l, *ll;
+   E_Input_Seat *seat;
    Eina_Bool found = EINA_FALSE;
 
-   if (!dev)
-     dev = _e_input_device_default_get();
-
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!dev, EINA_FALSE);
    EINA_SAFETY_ON_TRUE_RETURN_VAL(!input, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!output, EINA_FALSE);
    EINA_LIST_FOREACH(dev->seats, l, seat)
      {
         EINA_LIST_FOREACH(e_input_seat_evdev_list_get(seat), ll, evdev)
@@ -876,13 +873,28 @@ e_input_device_output_name_set(E_Input_Device *dev, const char *input, const cha
              if (!e_util_strcmp(evdev->path, input))
                {
                   found = EINA_TRUE;
+                  found_evdev = evdev;
                   break;
                }
           }
         if (found) break;
      }
 
-   if (!found || !evdev)
+   return found_evdev;
+}
+
+EINTERN Eina_Bool
+e_input_device_output_name_set(E_Input_Device *dev, const char *input, const char *output)
+{
+   E_Input_Evdev *evdev = NULL;
+
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(!output, EINA_FALSE);
+
+   if (!dev)
+     dev = _e_input_device_default_get();
+
+   evdev = _e_input_device_find_by_path(dev, input);
+   if (!evdev)
      {
         ERR("Failed to find input device: %s", input);
         return EINA_FALSE;
@@ -937,31 +949,15 @@ e_input_device_output_name_get(E_Input_Device *dev, const char *input)
 EINTERN Eina_Bool
 e_input_device_seat_name_set(E_Input_Device *dev, const char *input, const char *seat_name)
 {
-   E_Input_Seat *seat;
    E_Input_Evdev *evdev = NULL;
-   Eina_List *l, *ll;
-   Eina_Bool found = EINA_FALSE;
+
+   EINA_SAFETY_ON_TRUE_RETURN_VAL(!seat_name, EINA_FALSE);
 
    if (!dev)
      dev = _e_input_device_default_get();
 
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!dev, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!input, EINA_FALSE);
-   EINA_SAFETY_ON_TRUE_RETURN_VAL(!seat_name, EINA_FALSE);
-   EINA_LIST_FOREACH(dev->seats, l, seat)
-     {
-        EINA_LIST_FOREACH(e_input_seat_evdev_list_get(seat), ll, evdev)
-          {
-             if (!e_util_strcmp(evdev->path, input))
-               {
-                  found = EINA_TRUE;
-                  break;
-               }
-          }
-        if (found) break;
-     }
-
-   if (!found || !evdev)
+   evdev = _e_input_device_find_by_path(dev, input);
+   if (!evdev)
      {
         ERR("Failed to find input device: %s", input);
         return EINA_FALSE;