diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2022-10-08 21:06:18 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2022-12-05 15:27:22 +0200 |
commit | 14a1292a393774727fb85662d98d8cbe4bc6e5cd (patch) | |
tree | fd763ad8afca1209590c5d17add7a1af53492d9a /src/ivi-compositor.h | |
parent | 33997a7c96838795ccb586fc7fc43ce093210546 (diff) |
agl-shell.xml: Introduce a new interface
In order to allow another other client bind to agl_shell interface, this
introduces a new specific interface which the client would bind to
first, issue a doas_shell_client request, wait for a response, and
proceeed further if the event received was successful. Afterwards, the
client can bind to agl_shell protocol (and assuming it got 'bound_ok'
event back) can further use the agl_shell protocol as it happens with
the shell client.
This approach avoids adding a new protocol interface and instead re-uses
the same interface, with the note that the shell client is still in
charge of handling background and panels.
Bug-AGL: SPEC-4503
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Iac1d840a5f917b2a92fdfbdcdc583144d3942a1c
Diffstat (limited to 'src/ivi-compositor.h')
-rw-r--r-- | src/ivi-compositor.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ivi-compositor.h b/src/ivi-compositor.h index bf96fc7..5a0f66c 100644 --- a/src/ivi-compositor.h +++ b/src/ivi-compositor.h @@ -81,14 +81,24 @@ struct ivi_compositor { struct wl_global *agl_shell; struct wl_global *agl_shell_desktop; + struct wl_global *agl_shell_ext; struct { struct wl_client *client; struct wl_resource *resource; + + struct wl_client *client_ext; + struct wl_resource *resource_ext; bool ready; enum agl_shell_bound_status status; } shell_client; + struct { + struct wl_resource *resource; + bool doas_requested; + enum agl_shell_bound_status status; + } shell_client_ext; + struct wl_list desktop_clients; /* desktop_client::link */ struct wl_list outputs; /* ivi_output.link */ |