summaryrefslogtreecommitdiffstats
path: root/protocol/agl-shell.xml
diff options
context:
space:
mode:
Diffstat (limited to 'protocol/agl-shell.xml')
-rw-r--r--protocol/agl-shell.xml49
1 files changed, 46 insertions, 3 deletions
diff --git a/protocol/agl-shell.xml b/protocol/agl-shell.xml
index 11a65a1..84a423c 100644
--- a/protocol/agl-shell.xml
+++ b/protocol/agl-shell.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<protocol name="agl_shell">
<copyright>
- Copyright © 2019 Collabora, Ltd.
+ Copyright © 2019, 2022 Collabora, Ltd.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -22,10 +22,36 @@
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
</copyright>
- <interface name="agl_shell" version="1">
- <description summary="user interface for weston-ivi">
+ <interface name="agl_shell" version="2">
+ <description summary="user interface for Automotive Grade Linux platform">
+ Starting with version 2 of the protocol, the client is required to wait
+ for the 'bound_ok' or 'bound_fail' events in order to proceed further.
+
+ In case the client gets a 'bound_fail' event then it should consider that
+ there's another client already bound to the agl_shell protocol.
+ A client that receives a 'bound_ok' event should consider that there's
+ no other client already bound to the interface and can proceed further.
+
+ If the client uses an older version of the protocol it will receive
+ automatically an error and the compositor will terminate the connection,
+ if there's another client already bound the interface.
+
+ If the client receives the 'bound_fail' event and attempts to use the
+ interface further it will receive an error and the compositor will
+ terminate the connection. After the 'bound_fail' event was received the
+ client should call the destructor, which has been added with version 2
+ of the protocol. The client is free to try at a later point in time to
+ see if it will receive the 'bound_ok' event, but there's no explicit way
+ of finding out when that event will be delivered.
+ It is assumed that it can infer that information through other
+ means/other channels.
</description>
+ <request name="destroy" type="destructor" since="2">
+ <description summary="destroys the factory object">
+ </description>
+ </request>
+
<enum name="error">
<entry name="invalid_argument" value="0"/>
<entry name="background_exists" value="1"/>
@@ -113,5 +139,22 @@
<arg name="app_id" type="string"/>
<arg name="output" type="object" interface="wl_output"/>
</request>
+
+ <event name="bound_ok" since="2">
+ <description summary="event sent if binding was ok">
+ Informs the client that it was able to bind the agl_shell
+ interface succesfully. Clients are required to wait for this
+ event before continuing further.
+ </description>
+ </event>
+
+ <event name="bound_fail" since="2">
+ <description summary="event sent if binding was nok">
+ Informs the client that binding to the agl_shell interface was
+ unsuccesfull. Clients are required to wait for this event for
+ continuing further.
+ </description>
+ </event>
+
</interface>
</protocol>