Add Data structure encapsulation for e_comp_wl 76/313276/1
authorjinbong.lee <jinbong.lee@samsung.com>
Thu, 20 Jun 2024 06:26:52 +0000 (06:26 +0000)
committerTizen Window System <tizen.windowsystem@gmail.com>
Fri, 21 Jun 2024 08:14:09 +0000 (17:14 +0900)
 - add some get / set interfaces for variable of E_Comp_Wl_Data structure
 - add some lock / unlock interfaces for mutex variable of E_Comp_Wl_Data structure

Change-Id: I5a4cae70a5e168a7879f532d9363e15ee309af12

src/bin/server/e_comp_wl.c
src/include/e_comp_wl.h

index 11cb3d4..de9817a 100644 (file)
@@ -5890,3 +5890,147 @@ e_comp_wl_client_subsurface_cyclic_reference_check(E_Client *ec, E_Client *paren
 
    return EINA_FALSE;
 }
+
+E_API struct wl_display *
+e_comp_wl_display_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->wl.disp;
+}
+
+E_API struct xkb_keymap *
+e_comp_wl_xkb_keymap_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->xkb.keymap;
+}
+
+E_API void
+e_comp_wl_xkb_keymap_lock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_lock(&e_comp_wl->xkb.keymap_mutex);
+}
+
+E_API void
+e_comp_wl_xkb_keymap_unlock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_unlock(&e_comp_wl->xkb.keymap_mutex);
+}
+
+E_API struct xkb_context *
+e_comp_wl_xkb_context_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->xkb.context;
+}
+
+E_API struct xkb_state *
+e_comp_wl_xkb_state_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->xkb.state;
+}
+
+E_API int
+e_comp_wl_xkb_fd_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, -1);
+
+   return e_comp_wl->xkb.fd;
+}
+
+E_API size_t
+e_comp_wl_xkb_size_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, 0);
+
+   return e_comp_wl->xkb.size;
+}
+
+E_API Eina_List*
+e_comp_wl_kbd_resource_list_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->kbd.resources;
+}
+
+E_API void
+e_comp_wl_kbd_resource_list_lock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_lock(&e_comp_wl->kbd.resource_mutex);
+}
+
+E_API void
+e_comp_wl_kbd_resource_list_unlock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_unlock(&e_comp_wl->kbd.resource_mutex);
+}
+
+E_API int
+e_comp_wl_kbd_repeat_delay_get(void)
+{
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(e_comp_wl, -1);
+
+   return e_comp_wl->kbd.repeat_delay;
+}
+
+E_API void
+e_comp_wl_kbd_repeat_delay_lock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_lock(&e_comp_wl->kbd.repeat_delay_mutex);
+}
+
+E_API void
+e_comp_wl_kbd_repeat_delay_unlock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_unlock(&e_comp_wl->kbd.repeat_delay_mutex);
+}
+
+E_API int
+e_comp_wl_kbd_repeat_rate_get(void)
+{
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(e_comp_wl, -1);
+
+   return e_comp_wl->kbd.repeat_rate;
+}
+
+E_API void
+e_comp_wl_kbd_repeat_rate_lock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_lock(&e_comp_wl->kbd.repeat_rate_mutex);
+}
+
+E_API void
+e_comp_wl_kbd_repeat_rate_unlock(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN(e_comp_wl);
+
+   g_mutex_unlock(&e_comp_wl->kbd.repeat_rate_mutex);
+}
+
+E_API E_Client *
+e_comp_wl_ptr_ec_get(void)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(e_comp_wl, NULL);
+
+   return e_comp_wl->ptr.ec;
+}
\ No newline at end of file
index 5636dcb..b0aa254 100644 (file)
@@ -610,4 +610,26 @@ E_API void                      e_comp_wl_pid_hook_del(E_Comp_Wl_Pid_Hook *ch);
 E_API E_Comp_Wl_Intercept_Hook *e_comp_wl_intercept_hook_add(E_Comp_Wl_Intercept_Hook_Point hookpoint, E_Comp_Wl_Intercept_Hook_Cb func, const void *data);
 E_API void                      e_comp_wl_intercept_hook_del(E_Comp_Wl_Intercept_Hook *ch);
 
+E_API struct wl_display *e_comp_wl_display_get(void);
+
+E_API struct xkb_keymap  *e_comp_wl_xkb_keymap_get(void);
+E_API void                e_comp_wl_xkb_keymap_lock(void);
+E_API void                e_comp_wl_xkb_keymap_unlock(void);
+E_API struct xkb_context *e_comp_wl_xkb_context_get(void);
+E_API struct xkb_state   *e_comp_wl_xkb_state_get(void);
+E_API int                 e_comp_wl_xkb_fd_get(void);
+E_API size_t              e_comp_wl_xkb_size_get(void);
+
+E_API Eina_List *e_comp_wl_kbd_resource_list_get(void);
+E_API void       e_comp_wl_kbd_resource_list_lock(void);
+E_API void       e_comp_wl_kbd_resource_list_unlock(void);
+E_API int        e_comp_wl_kbd_repeat_delay_get(void);
+E_API void       e_comp_wl_kbd_repeat_delay_lock(void);
+E_API void       e_comp_wl_kbd_repeat_delay_unlock(void);
+E_API int        e_comp_wl_kbd_repeat_rate_get(void);
+E_API void       e_comp_wl_kbd_repeat_rate_lock(void);
+E_API void       e_comp_wl_kbd_repeat_rate_unlock(void);
+
+E_API E_Client * e_comp_wl_ptr_ec_get(void);
+
 #endif