summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2014-06-30 12:08:56 +0900
committerNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2014-06-30 12:08:56 +0900
commitc622cfdca7b917d2e4096e9f68d16ee6f9951fdd (patch)
treee34be0eba6d503fc1421bf953cc9ac5caa9b113e
parent9f87373d809873a9cbe319a8ceb3b40bb4271d65 (diff)
downloadwayland-ivi-extension-c622cfdca7b917d2e4096e9f68d16ee6f9951fdd.tar.gz
protocol: apply the latest protocol of ivi shell.1.2.0-rc6
This protocol includes review comment in Wayland mailing list. Only desciptions are modified. Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp>
-rw-r--r--protocol/ivi-application.xml51
1 files changed, 24 insertions, 27 deletions
diff --git a/protocol/ivi-application.xml b/protocol/ivi-application.xml
index 036700d..833fd38 100644
--- a/protocol/ivi-application.xml
+++ b/protocol/ivi-application.xml
@@ -29,7 +29,7 @@
<request name="destroy" type="destructor">
<description summary="destroy ivi_surface">
- This removes link from surface_id to wl_surface and destroys ivi_surface.
+ This removes link from ivi_id to wl_surface and destroys ivi_surface.
</description>
</request>
@@ -44,13 +44,14 @@
<enum name="warning_code">
<description summary="possible warning codes returned by ivi compositor">
- These warning codes define all possible warning codes returned by ivi compositor
- on server-side warnings.
- invalid_wl_surface: invalid wl_surface is set. This happens if wl_surface is destroyed before this.
- surface_id_in_use: surface_id is already assigned by another application.
+ These define all possible warning codes returned by ivi compositor on server-side warnings.
+ invalid_wl_surface:
+ - wl_surface already has a another role.
+ - wl_surface is destroyed before the ivi_surface is destroyed.
+ ivi_id_in_use: ivi_id is already assigned by another application.
</description>
<entry name="invalid_wl_surface" value="1" summary="wl_surface is invalid"/>
- <entry name="surface_id_in_use" value="2" summary="surface_id is in use and can not be shared"/>
+ <entry name="ivi_id_in_use" value="2" summary="ivi_id is in use and can not be shared"/>
</enum>
<event name="warning">
@@ -60,9 +61,12 @@
warning_text. If the warning is detected, client shall destroy the ivi_surface
object.
- When ivi compositor encounters warnings, a request is canceled and there is no
- mapping from id_surface/wl_surface to this ivi_surface. Even if there is no
- mapping but destroying this ivi_surface is recommended.
+ When a warning event is sent, the compositor turns the ivi_surface object inert.
+ The ivi_surface will not deliver further events, all requests on it are ignored
+ except 'destroy', and the association to the ivi_id is removed. The client
+ should destroy the ivi_surface object. If an inert ivi_surface object is used as
+ an argument to any other object's request, that request will [produce a fatal
+ error / produce a warning / be ignored].
</description>
<arg name="warning_code" type="int"/>
<arg name="warning_text" type="string" allow-null="true"/>
@@ -71,34 +75,27 @@
</interface>
<interface name="ivi_application" version="1">
- <description summary="interface for ivi applications to use ivi compositor features"/>
+ <description summary="create ivi-style surfaces">
+ This interface is implemented by servers that provide desktop-style user interfaces.
+ It allows clients to associate a ivi_surface with a basic surface.
+ </description>
<request name="surface_create">
<description summary="create ivi_surface with numeric ID in ivi compositor">
- surface_create will create a interface:ivi_surface with numeric ID; surface_id in
- ivi compositor. These surface_ids are defined as unique in the system to identify
+ surface_create will create a interface:ivi_surface with numeric ID; ivi_id in
+ ivi compositor. These ivi_ids are defined as unique in the system to identify
it inside of ivi compositor. The ivi compositor implements business logic how to
- set properties of the surface with surface_id according to status of the system.
+ set properties of the surface with ivi_id according to status of the system.
E.g. a unique ID for Car Navigation application is used for implementing special
- logic of the application about where it shall be located.
-
- Created ivi_surface notifies warnings when following situation happens,
- - Invalid wl_surface is set. This happen if wl_surface is destroy before this.
- - surface_id is already assigned by another application.
- If a client sets a wl_surface to multiple id_surfaces, no warning is issued. Property
- of the surface can be controlled by multiple ivi_surface. However this case shall
- be avoided by a client.
+ logic of the application about where it shall be located.
+ if a wl_surface which already has another role is set, the server regards this as
+ error and disconnects the client.
</description>
- <arg name="id_surface" type="uint"/>
+ <arg name="ivi_id" type="uint"/>
<arg name="surface" type="object" interface="wl_surface"/>
<arg name="id" type="new_id" interface="ivi_surface"/>
</request>
- <event name="wl_shell_info">
- <arg name="pid" type="int"/>
- <arg name="title" type="string" allow-null="true"/>
- </event>
-
</interface>
</protocol>