From: SooChan Lim Date: Fri, 30 May 2025 01:40:54 +0000 (+0900) Subject: e_client: add service_role_unset signal X-Git-Tag: accepted/tizen/unified/20250613.040658~17 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6fe5988acb09a5b4ad0f15cdaa1bda137bc400f4;p=platform%2Fupstream%2Fenlightenment.git e_client: add service_role_unset signal This signal is used for un-setting the service role of the tizen_ws_shell requests. Change-Id: If21490c22e5fcece5939af27b8ea1a4ec76554a8 --- diff --git a/src/bin/core/e_client.c b/src/bin/core/e_client.c index 0ca0a774a9..21edea2342 100644 --- a/src/bin/core/e_client.c +++ b/src/bin/core/e_client.c @@ -121,6 +121,7 @@ struct _E_Client_Private struct wl_signal shell_remove; struct wl_signal service_role_set; + struct wl_signal service_role_unset; } events; Eina_Bool hide_by_request; @@ -704,6 +705,7 @@ _e_client_private_init(E_Client *ec) wl_signal_init(&priv->events.shell_remove); wl_signal_init(&priv->events.service_role_set); + wl_signal_init(&priv->events.service_role_unset); e_object_data_set(E_OBJECT(ec), priv); @@ -2664,6 +2666,14 @@ e_client_service_role_set(E_Client *ec, int role) wl_signal_emit(&PRI(ec)->events.service_role_set, &role); } +EINTERN void +e_client_service_role_unset(E_Client *ec) +{ + EINA_SAFETY_ON_NULL_RETURN(ec); + + wl_signal_emit(&PRI(ec)->events.service_role_unset, NULL); +} + EINTERN void e_client_modal_child_set(E_Client *ec, E_Client *modal) { @@ -6455,6 +6465,13 @@ e_client_service_role_set_listener_add(E_Client *ec, struct wl_listener *listene wl_signal_add(&priv->events.service_role_set, listener); } +EINTERN void +e_client_service_role_unset_listener_add(E_Client *ec, struct wl_listener *listener) +{ + API_ENTRY; + wl_signal_add(&priv->events.service_role_unset, listener); +} + static E_Desktop_Surface * _desktop_surface_try_from_ec(E_Client *ec) { diff --git a/src/bin/core/e_client_intern.h b/src/bin/core/e_client_intern.h index 7f2c980cc6..4ebf08c6c4 100644 --- a/src/bin/core/e_client_intern.h +++ b/src/bin/core/e_client_intern.h @@ -655,6 +655,7 @@ EINTERN Eina_Bool e_client_map_enable_set(E_Client *ec, Eina_Bool enabled); EINTERN void e_client_shell_remove(E_Client *ec); EINTERN void e_client_service_role_set(E_Client *ec, int role); +EINTERN void e_client_service_role_unset(E_Client *ec); EINTERN void e_client_modal_child_set(E_Client *ec, E_Client *modal_child); EINTERN E_Client *e_client_modal_child_get(E_Client *ec); @@ -763,6 +764,7 @@ EINTERN void e_client_map_post_listener_add(E_Client *ec, struct wl_listener *li EINTERN void e_client_shell_remove_listener_add(E_Client *ec, struct wl_listener *listener); EINTERN void e_client_service_role_set_listener_add(E_Client *ec, struct wl_listener *listener); +EINTERN void e_client_service_role_unset_listener_add(E_Client *ec, struct wl_listener *listener); EINTERN struct wl_listener *e_client_destroy_listener_get(E_Client *ec, wl_notify_func_t notify);