struct wl_signal parent_set;
struct wl_signal map_prepare;
struct wl_signal map_post;
-
struct wl_signal shell_remove;
+
+ struct wl_signal service_role_set;
} events;
Eina_Bool hide_by_request;
wl_signal_init(&priv->events.shell_remove);
+ wl_signal_init(&priv->events.service_role_set);
+
e_object_data_set(E_OBJECT(ec), priv);
return EINA_TRUE;
wl_signal_emit(&priv->events.shell_remove, NULL);
}
+EINTERN void
+e_client_service_role_set(E_Client *ec, int role)
+{
+ EINA_SAFETY_ON_NULL_RETURN(ec);
+
+ wl_signal_emit(&PRI(ec)->events.service_role_set, &role);
+}
+
EINTERN void
e_client_modal_child_set(E_Client *ec, E_Client *modal)
{
wl_signal_add(&priv->events.shell_remove, listener);
}
+EINTERN void
+e_client_service_role_set_listener_add(E_Client *ec, struct wl_listener *listener)
+{
+ API_ENTRY;
+ wl_signal_add(&priv->events.service_role_set, 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_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_modal_state_set(E_Client *ec, Eina_Bool modal);
EINTERN void e_client_map_post_listener_add(E_Client *ec, struct wl_listener *listener);
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 struct wl_listener *e_client_destroy_listener_get(E_Client *ec, wl_notify_func_t notify);