e_keyrouter: Impl getter/setter for E_Keyrouter_Key_List_Node 65/321565/1
authorTaeHyeon Jeong <thyeon.jeong@samsung.com>
Mon, 17 Feb 2025 02:39:57 +0000 (11:39 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Tue, 25 Mar 2025 07:49:40 +0000 (16:49 +0900)
- Add e_keyrouter_key_list_node_get/set functions to get/set E_Keyrouter_Key_List_Node members.

Change-Id: I30f190ae6d42c6f2a411484ae7670d99c327bc7f

src/bin/inputmgr/e_keyrouter.c
src/include/e_keyrouter.h

index 4f5e66c6d7b301d474afe579572509fd7363ca4c..58151ce06d80ffc74cb133bc0ed9b85ba5c39c8b 100644 (file)
@@ -669,3 +669,70 @@ e_keyrouter_util_process_name_get_from_cmd(char *cmd)
      }
    return NULL;
 }
+
+
+//////////////////////////////////////////////////////////////////////////
+// This is for getting/setting internal value of E_Keyrouter_Key_List_Node
+E_API E_Keyrouter_Key_List_NodePtr
+e_keyrouter_key_list_node_create(void)
+{
+   return E_NEW(E_Keyrouter_Key_List_Node, 1);
+}
+
+E_API void
+e_keyrouter_key_list_node_destroy(E_Keyrouter_Key_List_NodePtr node)
+{
+   if (node) E_FREE(node);
+}
+
+E_API struct wl_resource *
+e_keyrouter_key_list_node_surface_get(E_Keyrouter_Key_List_NodePtr node)
+{
+   if (!node) return NULL;
+   return node->surface;
+}
+
+E_API void
+e_keyrouter_key_list_node_surface_set(E_Keyrouter_Key_List_NodePtr node, struct wl_resource *surface)
+{
+   if (node) node->surface = surface;
+}
+
+E_API struct wl_client *
+e_keyrouter_key_list_node_client_get(E_Keyrouter_Key_List_NodePtr node)
+{
+   if (!node) return NULL;
+   return node->wc;
+}
+
+E_API void
+e_keyrouter_key_list_node_client_set(E_Keyrouter_Key_List_NodePtr node, struct wl_client *client)
+{
+   if (node) node->wc = client;
+}
+
+E_API Eina_Bool
+e_keyrouter_key_list_node_focused_get(E_Keyrouter_Key_List_NodePtr node)
+{
+   if (!node) return EINA_FALSE;
+   return node->focused;
+}
+
+E_API void
+e_keyrouter_key_list_node_focused_set(E_Keyrouter_Key_List_NodePtr node, Eina_Bool focused)
+{
+   if (node) node->focused = focused;
+}
+
+E_API E_Keyrouter_Client_Status
+e_keyrouter_key_list_node_status_get(E_Keyrouter_Key_List_NodePtr node)
+{
+   if (!node) return E_KRT_CSTAT_DEAD;
+   return node->status;
+}
+
+E_API void
+e_keyrouter_key_list_node_status_set(E_Keyrouter_Key_List_NodePtr node, E_Keyrouter_Client_Status status)
+{
+   if (node) node->status = status;
+}
index 82c21b29eb98d1c3513e782cab0ebd7cff8a40d9..41568844d3254e917bcc801d5943179265898000 100644 (file)
@@ -77,5 +77,19 @@ E_API Eina_Bool                   e_keyrouter_intercept_hook_call(E_Keyrouter_In
 E_API void e_keyrouter_keygrab_list_lock();
 E_API void e_keyrouter_keygrab_list_unlock();
 
+
+//////////////////////////////////////////////////////////////////////////
+// This is for getting/setting internal value of E_Keyrouter_Key_List_Node
+E_API E_Keyrouter_Key_List_NodePtr e_keyrouter_key_list_node_create(void);
+E_API void                         e_keyrouter_key_list_node_destroy(E_Keyrouter_Key_List_NodePtr node);
+E_API struct wl_resource          *e_keyrouter_key_list_node_surface_get(E_Keyrouter_Key_List_NodePtr node);
+E_API void                         e_keyrouter_key_list_node_surface_set(E_Keyrouter_Key_List_NodePtr node, struct wl_resource *surface);
+E_API struct wl_client            *e_keyrouter_key_list_node_client_get(E_Keyrouter_Key_List_NodePtr node);
+E_API void                         e_keyrouter_key_list_node_client_set(E_Keyrouter_Key_List_NodePtr node, struct wl_client *client);
+E_API Eina_Bool                    e_keyrouter_key_list_node_focused_get(E_Keyrouter_Key_List_NodePtr node);
+E_API void                         e_keyrouter_key_list_node_focused_set(E_Keyrouter_Key_List_NodePtr node, Eina_Bool focused);
+E_API E_Keyrouter_Client_Status    e_keyrouter_key_list_node_status_get(E_Keyrouter_Key_List_NodePtr node);
+E_API void                         e_keyrouter_key_list_node_status_set(E_Keyrouter_Key_List_NodePtr node, E_Keyrouter_Client_Status status);
+
 #endif