summaryrefslogtreecommitdiffstats
path: root/src/ivi-compositor.h
diff options
context:
space:
mode:
authorMarius Vlad <marius.vlad@collabora.com>2022-10-08 21:06:18 +0300
committerMarius Vlad <marius.vlad@collabora.com>2022-12-05 15:27:22 +0200
commit14a1292a393774727fb85662d98d8cbe4bc6e5cd (patch)
treefd763ad8afca1209590c5d17add7a1af53492d9a /src/ivi-compositor.h
parent33997a7c96838795ccb586fc7fc43ce093210546 (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.h10
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 */