protocol: ivi hmi controller protocol to set up IVI style UI
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Thu, 27 Nov 2014 04:22:53 +0000 (13:22 +0900)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Thu, 4 Dec 2014 15:13:41 +0000 (17:13 +0200)
- introduces ivi-hmi-controller.xml

This protocol realizes following features,
- UI ready
- changing modes; tiling, side by side, full_screen, and random
- Give control a surface; workspace to be controlled by using ivi layout
  APIs
- Display/undisplay a surface; home contains sevaral workspaces to
  launch applications

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Makefile.am
protocol/ivi-hmi-controller.xml [new file with mode: 0644]

index 768cf3d..d5e5dd5 100644 (file)
@@ -1039,7 +1039,8 @@ EXTRA_DIST +=                                     \
        protocol/fullscreen-shell.xml           \
        protocol/presentation_timing.xml        \
        protocol/scaler.xml                     \
-       protocol/ivi-application.xml
+       protocol/ivi-application.xml            \
+       protocol/ivi-hmi-controller.xml
 
 man_MANS = weston.1 weston.ini.5
 
diff --git a/protocol/ivi-hmi-controller.xml b/protocol/ivi-hmi-controller.xml
new file mode 100644 (file)
index 0000000..a202e6e
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="ivi_hmi_controller">
+
+  <copyright>
+    Copyright (C) 2013 DENSO CORPORATION
+    Copyright (c) 2013 BMW Car IT GmbH
+
+    Permission to use, copy, modify, distribute, and sell this software and
+    its documentation for any purpose is hereby granted without fee, provided
+    that the above copyright notice appear in all copies and that both that
+    copyright notice and this permission notice appear in supporting
+    documentation, and that the name of the copyright holders not be used in
+    advertising or publicity pertaining to distribution of the software
+    without specific, written prior permission.  The copyright holders make
+    no representations about the suitability of this software for any
+    purpose.  It is provided "as is" without express or implied warranty.
+
+    THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+    SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+    FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+    SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
+    RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+    CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+    CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+  </copyright>
+
+  <interface name="ivi_hmi_controller" version="1">
+    <description summary="set up and control IVI style UI"/>
+
+    <request name="UI_ready">
+      <description summary="inform the ready for drawing desktop." />
+    </request>
+
+    <request name="workspace_control">
+      <description summary="start controlling a surface by server">
+        Reference protocol to control a surface by server.
+        To control a surface by server, it gives seat to the server
+        to e.g. control Home screen. Home screen has several workspaces
+        to group launchers of wayland application. These workspaces
+        are drawn on a horizontally long surface to be controlled
+        by motion of input device. E.g. A motion from right to left
+        happens, the viewport of surface is controlled in the ivi-shell
+        by using ivi-layout. client can recognizes the end of controlling
+        by event "workspace_end_control".
+      </description>
+      <arg name="seat" type="object" interface="wl_seat"/>
+      <arg name="serial" type="uint"/>
+    </request>
+
+    <enum name="layout_mode">
+      <entry name="tiling" value="0"/>
+      <entry name="side_by_side" value="1"/>
+      <entry name="full_screen" value="2"/>
+      <entry name="random" value="3" />
+    </enum>
+
+    <request name="switch_mode">
+      <description summary="request mode switch of application layout">
+        hmi-controller loaded to ivi-shall implements 4 types of layout
+        as a reference; tiling, side by side, full_screen, and random.
+      </description>
+      <arg name="layout_mode" type="uint"/>
+    </request>
+
+    <enum name="home">
+      <entry name="off" value="0"/>
+      <entry name="on" value="1"/>
+    </enum>
+
+    <request name="home">
+      <description summary="request displaying/undisplaying home screen">
+        home screen is a reference implementation of launcher to launch
+        wayland applications. The home screen has several workspaces to
+        group wayland applications. By defining the following keys in
+        weston.ini, user can add launcher icon to launch a wayland application
+        to a workspace.
+        [ivi-launcher]
+        workspace-id=0
+               : id of workspace to add a launcher
+        icon-id=4001
+               : ivi id of ivi_surface to draw a icon
+        icon=/home/user/review/build-ivi-shell/data/icon_ivi_flower.png
+               : path to icon image
+        path=/home/user/review/build-ivi-shell/weston-dnd
+               : path to wayland application
+      </description>
+      <arg name="home" type="uint"/>
+    </request>
+
+    <event name="workspace_end_control">
+      <description summary="notify controlling workspace end"/>
+      <arg name="is_controlled" type="int"/>
+    </event>
+
+  </interface>
+
+</protocol>