struct wl_signal shell_remove;
struct wl_signal service_role_set;
+ struct wl_signal service_role_unset;
} events;
Eina_Bool hide_by_request;
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);
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)
{
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)
{
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);
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);