From: TaeHyeon Jeong Date: Mon, 17 Feb 2025 02:39:57 +0000 (+0900) Subject: e_keyrouter: Impl getter/setter for E_Keyrouter_Key_List_Node X-Git-Tag: accepted/tizen/unified/20250326.130904~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=82b093dc95899805edee84a19fd588cc3b9a53bc;p=platform%2Fupstream%2Fenlightenment.git e_keyrouter: Impl getter/setter for E_Keyrouter_Key_List_Node - Add e_keyrouter_key_list_node_get/set functions to get/set E_Keyrouter_Key_List_Node members. Change-Id: I30f190ae6d42c6f2a411484ae7670d99c327bc7f --- diff --git a/src/bin/inputmgr/e_keyrouter.c b/src/bin/inputmgr/e_keyrouter.c index 4f5e66c6d7..58151ce06d 100644 --- a/src/bin/inputmgr/e_keyrouter.c +++ b/src/bin/inputmgr/e_keyrouter.c @@ -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; +} diff --git a/src/include/e_keyrouter.h b/src/include/e_keyrouter.h index 82c21b29eb..41568844d3 100644 --- a/src/include/e_keyrouter.h +++ b/src/include/e_keyrouter.h @@ -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