[weston-ivi-shell,v8,05/13] protocol: ivi hmi controller protocol to set up IVI style UI

Submitted by Nobuhiko Tanibata on Nov. 27, 2014, 4:22 a.m.

Details

Message ID 1417062173-12148-1-git-send-email-NOBUHIKO_TANIBATA@xddp.denso.co.jp
State Accepted
Commit 68cfabb89bb53004acb45d57e3234664a686ec58
Headers show

Not browsing as part of any series.

Commit Message

Nobuhiko Tanibata Nov. 27, 2014, 4:22 a.m.
- 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                     |  3 +-
 protocol/ivi-hmi-controller.xml | 97 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+), 1 deletion(-)
 create mode 100644 protocol/ivi-hmi-controller.xml

Patch hide | download patch | download mbox

diff --git a/Makefile.am b/Makefile.am
index ece9d9b..a974a83 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1052,7 +1052,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
index 0000000..a202e6e
--- /dev/null
+++ b/protocol/ivi-hmi-controller.xml
@@ -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>