add comment for eom.xml 71/89471/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 23 Sep 2016 13:53:43 +0000 (22:53 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Sun, 25 Sep 2016 08:25:45 +0000 (01:25 -0700)
Change-Id: I6b2fea443e50d1b6b4a3aeed3858c7f94210c97b
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/wayland/protocol/eom-client-protocol.h
src/wayland/protocol/eom-protocol.c
src/wayland/protocol/eom.xml

index 27dbc21..c88784e 100644 (file)
@@ -1,3 +1,28 @@
+/*
+ * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sell this
+ * software and its documentation for any purpose is hereby granted
+ * without fee, provided that\n 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.
+ */
+
 #ifndef WL_EOM_CLIENT_PROTOCOL_H
 #define WL_EOM_CLIENT_PROTOCOL_H
 
@@ -31,33 +56,33 @@ enum wl_eom_error {
 #ifndef WL_EOM_TYPE_ENUM
 #define WL_EOM_TYPE_ENUM
 /**
- * wl_eom_type - connector type of the external output
+ * wl_eom_type - connector type
  * @WL_EOM_TYPE_NONE: none
  * @WL_EOM_TYPE_VGA: VGA output connector type
- * @WL_EOM_TYPE_DIVI: VGA output connector type
- * @WL_EOM_TYPE_DIVD: VGA output connector type
- * @WL_EOM_TYPE_DIVA: VGA output connector type
- * @WL_EOM_TYPE_COMPOSITE: VGA output connector type
- * @WL_EOM_TYPE_SVIDEO: VGA output connector type
- * @WL_EOM_TYPE_LVDS: VGA output connector type
- * @WL_EOM_TYPE_COMPONENT: VGA output connector type
- * @WL_EOM_TYPE_9PINDIN: VGA output connector type
- * @WL_EOM_TYPE_DISPLAYPORT: VGA output connector type
- * @WL_EOM_TYPE_HDMIA: VGA output connector type
- * @WL_EOM_TYPE_HDMIB: VGA output connector type
- * @WL_EOM_TYPE_TV: VGA output connector type
- * @WL_EOM_TYPE_EDP: VGA output connector type
- * @WL_EOM_TYPE_VIRTUAL: VGA output connector type
- * @WL_EOM_TYPE_DSI: VGA output connector type
+ * @WL_EOM_TYPE_DVII: DVI-I output connector type
+ * @WL_EOM_TYPE_DVID: DVI-D output connector type
+ * @WL_EOM_TYPE_DVIA: DVI-A output connector type
+ * @WL_EOM_TYPE_COMPOSITE: Composite output connector type
+ * @WL_EOM_TYPE_SVIDEO: S-Video output connector type
+ * @WL_EOM_TYPE_LVDS: LVDS output connector type
+ * @WL_EOM_TYPE_COMPONENT: Component output connector type
+ * @WL_EOM_TYPE_9PINDIN: 9 pin DIN output connector type
+ * @WL_EOM_TYPE_DISPLAYPORT: DisplayPort output connector type
+ * @WL_EOM_TYPE_HDMIA: HDMI type A output connector type
+ * @WL_EOM_TYPE_HDMIB: HDMI type B output connector type
+ * @WL_EOM_TYPE_TV: TV output connector type
+ * @WL_EOM_TYPE_EDP: eDP output connector type
+ * @WL_EOM_TYPE_VIRTUAL: Virtual output connector type
+ * @WL_EOM_TYPE_DSI: DSI output connector type
  *
- * ***** TODO ******
+ * Define several connectors type of the external outputs
  */
 enum wl_eom_type {
        WL_EOM_TYPE_NONE = 0,
        WL_EOM_TYPE_VGA = 1,
-       WL_EOM_TYPE_DIVI = 2,
-       WL_EOM_TYPE_DIVD = 3,
-       WL_EOM_TYPE_DIVA = 4,
+       WL_EOM_TYPE_DVII = 2,
+       WL_EOM_TYPE_DVID = 3,
+       WL_EOM_TYPE_DVIA = 4,
        WL_EOM_TYPE_COMPOSITE = 5,
        WL_EOM_TYPE_SVIDEO = 6,
        WL_EOM_TYPE_LVDS = 7,
@@ -81,7 +106,7 @@ enum wl_eom_type {
  * @WL_EOM_STATUS_CONNECTION: output connected
  * @WL_EOM_STATUS_DISCONNECTION: output disconnected
  *
- * ***** TODO ******
+ * The status of external output is connected or not.
  */
 enum wl_eom_status {
        WL_EOM_STATUS_NONE = 0,
@@ -98,7 +123,9 @@ enum wl_eom_status {
  * @WL_EOM_MODE_MIRROR: mirror mode
  * @WL_EOM_MODE_PRESENTATION: presentation mode
  *
- * ***** TODO ******
+ * There are two modes for external output. Mirror mode is showing main
+ * display screen to external output. Presentation mode is showing app's
+ * specific buffer contents to external output.
  */
 enum wl_eom_mode {
        WL_EOM_MODE_NONE = 0,
@@ -113,15 +140,25 @@ enum wl_eom_mode {
  * wl_eom_attribute - attribute of the external output
  * @WL_EOM_ATTRIBUTE_NONE: none
  * @WL_EOM_ATTRIBUTE_NORMAL: nomal attribute
- * @WL_EOM_ATTRIBUTE_EXCLUSIVE_SHARED: exclusive shared attribute
+ * @WL_EOM_ATTRIBUTE_EXCLUSIVE_SHARE: exclusive share attribute
  * @WL_EOM_ATTRIBUTE_EXCLUSIVE: exclusive attribute
  *
- * ***** TODO ******
+ * Application can use external output by attribute.
+ *
+ * If application succeed to set attribute and set external output window,
+ * the external output's mode will be changed to Presentation mode.
+ *
+ * Attribute has priority. If attribute is set to normal, it can be changed
+ * by normal, exclusive_share, exclusive. If attribute is set to
+ * exclusive_share, it can be changed by exclusive_share, exclusive. If
+ * attribute is set to exclusive, it cannot be changed by other
+ * application. If application which set attribute is quit or set to none,
+ * the mode will be changed to Mirror if connected.
  */
 enum wl_eom_attribute {
        WL_EOM_ATTRIBUTE_NONE = 0,
        WL_EOM_ATTRIBUTE_NORMAL = 1,
-       WL_EOM_ATTRIBUTE_EXCLUSIVE_SHARED = 2,
+       WL_EOM_ATTRIBUTE_EXCLUSIVE_SHARE = 2,
        WL_EOM_ATTRIBUTE_EXCLUSIVE = 3,
 };
 #endif /* WL_EOM_ATTRIBUTE_ENUM */
@@ -135,7 +172,15 @@ enum wl_eom_attribute {
  * @WL_EOM_ATTRIBUTE_STATE_INACTIVE: attribute is inactive on the output
  * @WL_EOM_ATTRIBUTE_STATE_LOST: the connection of output is lost
  *
- * ***** TODO ******
+ * It means the state of attribute. The applicatoin which set attribute
+ * successful can get state.
+ *
+ * Active means the external window is set to external output succefully.
+ * So application can use that window. Inactive means cannot use external
+ * output, because of dissconnecting or some other reasons. But if
+ * connected again, the application can use external output. Lost means the
+ * application is lost it's right to external output by other application's
+ * attribute set.
  */
 enum wl_eom_attribute_state {
        WL_EOM_ATTRIBUTE_STATE_NONE = 0,
@@ -146,26 +191,30 @@ enum wl_eom_attribute_state {
 #endif /* WL_EOM_ATTRIBUTE_STATE_ENUM */
 
 /**
- * wl_eom - an interface to get the information of the external outputs
- * @output_count: (none)
- * @output_info: (none)
- * @output_type: (none)
- * @output_mode: (none)
- * @output_attribute: (none)
- * @output_set_window: (none)
+ * wl_eom - an interface for external outputs
+ * @output_count: external output count
+ * @output_info: 
+ * @output_type: output type and connection info
+ * @output_mode: output mode info
+ * @output_attribute: output attribute info
+ * @output_set_window: reslut of set_window
  *
- * ***** TODO ******
+ * An interface to get information of external outputs and to use
+ * external outputs.
  */
 struct wl_eom_listener {
        /**
-        * output_count - (none)
+        * output_count - external output count
         * @count: (none)
+        *
+        * Get the number of external output devices that are supported
+        * by this device.
         */
        void (*output_count)(void *data,
                             struct wl_eom *wl_eom,
                             uint32_t count);
        /**
-        * output_info - (none)
+        * output_info - 
         * @output_id: (none)
         * @type: (none)
         * @mode: (none)
@@ -178,6 +227,14 @@ struct wl_eom_listener {
         * @attribute: (none)
         * @attribute_state: (none)
         * @error: (none)
+        *
+        * Send information of specific external output to client.
+        *
+        * Output_id is numbering of external outputs. It is fixed when
+        * booting time. The type, mode attribute, attribute_state is
+        * mentioned above. The w and h is the resolution of external
+        * output. The w_mm and h_mm is the physical size of external
+        * output. The unit is mm.
         */
        void (*output_info)(void *data,
                            struct wl_eom *wl_eom,
@@ -194,10 +251,12 @@ struct wl_eom_listener {
                            uint32_t attribute_state,
                            uint32_t error);
        /**
-        * output_type - (none)
+        * output_type - output type and connection info
         * @output_id: (none)
         * @type: (none)
         * @status: (none)
+        *
+        * Send information of output type and connection.
         */
        void (*output_type)(void *data,
                            struct wl_eom *wl_eom,
@@ -205,20 +264,24 @@ struct wl_eom_listener {
                            uint32_t type,
                            uint32_t status);
        /**
-        * output_mode - (none)
+        * output_mode - output mode info
         * @output_id: (none)
         * @mode: (none)
+        *
+        * Send information of output mode.
         */
        void (*output_mode)(void *data,
                            struct wl_eom *wl_eom,
                            uint32_t output_id,
                            uint32_t mode);
        /**
-        * output_attribute - (none)
+        * output_attribute - output attribute info
         * @output_id: (none)
         * @attribute: (none)
         * @attribute_state: (none)
         * @error: (none)
+        *
+        * Send information of output attribute and attribute state.
         */
        void (*output_attribute)(void *data,
                                 struct wl_eom *wl_eom,
@@ -227,16 +290,18 @@ struct wl_eom_listener {
                                 uint32_t attribute_state,
                                 uint32_t error);
        /**
-        * output_set_window - (none)
+        * output_set_window - reslut of set_window
         * @output_id: (none)
         * @error: (none)
+        *
+        * Send the result of set_window to client.
         */
        void (*output_set_window)(void *data,
                                  struct wl_eom *wl_eom,
                                  uint32_t output_id,
                                  uint32_t error);
 };
-/*LCOV_EXCL_START*/
+
 static inline int
 wl_eom_add_listener(struct wl_eom *wl_eom,
                    const struct wl_eom_listener *listener, void *data)
@@ -244,7 +309,7 @@ wl_eom_add_listener(struct wl_eom *wl_eom,
        return wl_proxy_add_listener((struct wl_proxy *) wl_eom,
                                     (void (**)(void)) listener, data);
 }
-/*LCOV_EXCL_STOP*/
+
 #define WL_EOM_SET_ATTRIBUTE   0
 #define WL_EOM_SET_XDG_WINDOW  1
 #define WL_EOM_SET_SHELL_WINDOW        2
@@ -278,30 +343,28 @@ wl_eom_destroy(struct wl_eom *wl_eom)
 {
        wl_proxy_destroy((struct wl_proxy *) wl_eom);
 }
-/*LCOV_EXCL_START*/
+
 static inline void
 wl_eom_set_attribute(struct wl_eom *wl_eom, uint32_t output_id, uint32_t attribute)
 {
        wl_proxy_marshal((struct wl_proxy *) wl_eom,
                         WL_EOM_SET_ATTRIBUTE, output_id, attribute);
 }
-/*LCOV_EXCL_STOP*/
-/*LCOV_EXCL_START*/
+
 static inline void
 wl_eom_set_xdg_window(struct wl_eom *wl_eom, uint32_t output_id, struct xdg_surface *surface)
 {
        wl_proxy_marshal((struct wl_proxy *) wl_eom,
                         WL_EOM_SET_XDG_WINDOW, output_id, surface);
 }
-/*LCOV_EXCL_STOP*/
-/*LCOV_EXCL_START*/
+
 static inline void
 wl_eom_set_shell_window(struct wl_eom *wl_eom, uint32_t output_id, struct wl_shell_surface *surface)
 {
        wl_proxy_marshal((struct wl_proxy *) wl_eom,
                         WL_EOM_SET_SHELL_WINDOW, output_id, surface);
 }
-/*LCOV_EXCL_STOP*/
+
 static inline void
 wl_eom_get_output_info(struct wl_eom *wl_eom, uint32_t output_id)
 {
index b0b38d5..3ca9b25 100644 (file)
@@ -1,3 +1,28 @@
+/*
+ * Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sell this
+ * software and its documentation for any purpose is hereby granted
+ * without fee, provided that\n 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.
+ */
+
 #include <stdlib.h>
 #include <stdint.h>
 #include "wayland-util.h"
index 2ea8e15..b1fd312 100644 (file)
@@ -1,7 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <protocol name="wl_eom">
+
+  <copyright>
+    Copyright 2016 Samsung Electronics co., Ltd. All Rights Reserved.
+
+    Permission to use, copy, modify, distribute, and sell this
+    software and its documentation for any purpose is hereby granted
+    without fee, provided that\n 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="wl_eom" version="1">
-    <description summary="an interface to get the information of the external outputs">
-      ***** TODO ******
+    <description summary="an interface for external outputs">
+      An interface to get information of external outputs and to use external outputs.
     </description>
 
     <enum name="error">
     </enum>
 
     <enum name="type">
-      <description summary="connector type of the external output">
-      ***** TODO ******
+      <description summary="connector type">
+        Define several connectors type of the external outputs
       </description>
       <entry name="none" value="0" summary="none"/>
       <entry name="vga" value="1" summary="VGA output connector type"/>
-      <entry name="divi" value="2" summary="VGA output connector type"/>
-      <entry name="divd" value="3" summary="VGA output connector type"/>
-      <entry name="diva" value="4" summary="VGA output connector type"/>
-      <entry name="composite" value="5" summary="VGA output connector type"/>
-      <entry name="svideo" value="6" summary="VGA output connector type"/>
-      <entry name="lvds" value="7" summary="VGA output connector type"/>
-      <entry name="component" value="8" summary="VGA output connector type"/>
-      <entry name="9pindin" value="9" summary="VGA output connector type"/>
-      <entry name="displayport" value="10" summary="VGA output connector type"/>
-      <entry name="hdmia" value="11" summary="VGA output connector type"/>
-      <entry name="hdmib" value="12" summary="VGA output connector type"/>
-      <entry name="tv" value="13" summary="VGA output connector type"/>
-      <entry name="edp" value="14" summary="VGA output connector type"/>
-      <entry name="virtual" value="15" summary="VGA output connector type"/>
-      <entry name="dsi" value="16" summary="VGA output connector type"/>
+      <entry name="dvii" value="2" summary="DVI-I output connector type"/>
+      <entry name="dvid" value="3" summary="DVI-D output connector type"/>
+      <entry name="dvia" value="4" summary="DVI-A output connector type"/>
+      <entry name="composite" value="5" summary="Composite output connector type"/>
+      <entry name="svideo" value="6" summary="S-Video output connector type"/>
+      <entry name="lvds" value="7" summary="LVDS output connector type"/>
+      <entry name="component" value="8" summary="Component output connector type"/>
+      <entry name="9pindin" value="9" summary="9 pin DIN output connector type"/>
+      <entry name="displayport" value="10" summary="DisplayPort output connector type"/>
+      <entry name="hdmia" value="11" summary="HDMI type A output connector type"/>
+      <entry name="hdmib" value="12" summary="HDMI type B output connector type"/>
+      <entry name="tv" value="13" summary="TV output connector type"/>
+      <entry name="edp" value="14" summary="eDP output connector type"/>
+      <entry name="virtual" value="15" summary="Virtual output connector type"/>
+      <entry name="dsi" value="16" summary="DSI output connector type"/>
     </enum>
 
     <enum name="status">
       <description summary="connection status of the external output">
-      ***** TODO ******
+        The status of external output is connected or not.
       </description>
       <entry name="none" value="0" summary="none"/>
       <entry name="connection" value="1" summary="output connected"/>
@@ -45,7 +72,9 @@
 
     <enum name="mode">
       <description summary="mode of the external output">
-      ***** TODO ******
+        There are two modes for external output.
+        Mirror mode is showing main display screen to external output.
+        Presentation mode is showing app's specific buffer contents to external output.
       </description>
       <entry name="none" value="0" summary="none"/>
       <entry name="mirror" value="1" summary="mirror mode"/>
 
     <enum name="attribute">
       <description summary="attribute of the external output">
-      ***** TODO ******
+        Application can use external output by attribute.
+
+        If application succeed to set attribute and set external output window,
+        the external output's mode will be changed to Presentation mode.
+
+        Attribute has priority.
+        If attribute is set to normal, it can be changed by normal, exclusive_share, exclusive.
+        If attribute is set to exclusive_share, it can be changed by exclusive_share, exclusive.
+        If attribute is set to exclusive, it cannot be changed by other application.
+        If application which set attribute is quit or set to none,
+        the mode will be changed to Mirror if connected.
       </description>
       <entry name="none" value="0" summary="none"/>
       <entry name="normal" value="1" summary="nomal attribute"/>
-      <entry name="exclusive_shared" value="2" summary="exclusive shared attribute"/>
+      <entry name="exclusive_share" value="2" summary="exclusive share attribute"/>
       <entry name="exclusive" value="3" summary="exclusive attribute"/>
     </enum>
 
     <enum name="attribute_state">
       <description summary="state of the external output attribute">
-      ***** TODO ******
+        It means the state of attribute.
+        The applicatoin which set attribute successful can get state.
+
+        Active means the external window is set to external output succefully.
+        So application can use that window.
+        Inactive means cannot use external output, because of dissconnecting or some other reasons.
+        But if connected again, the application can use external output.
+        Lost means the application is lost it's right to external output by other application's attribute set.
       </description>
       <entry name="none" value="0" summary="none"/>
       <entry name="active" value="1" summary="attribute is active on the output"/>
     </enum>
 
     <request name="set_attribute">
+      <description summary="api to set attribute to specific external output">
+        Application can have right to external output by set_attribute.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="attribute" type="uint"/>
     </request>
 
     <request name="set_xdg_window">
+      <description summary="set xdg surface to external window">
+        Use xdg_shell_surface to external output.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="surface" type="object" interface="xdg_surface" allow-null="false"/>
     </request>
 
     <request name="set_shell_window">
+      <description summary="">
+        Use shell_surface to external output.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="surface" type="object" interface="wl_shell_surface" allow-null="false"/>
     </request>
 
     <request name="get_output_info">
+      <description summary="get information of external output">
+        Request to server to send information of specific external output to client by output id.
+      </description>
       <arg name="output_id" type="uint"/>
     </request>
 
     <event name="output_count">
+      <description summary="external output count">
+        Get the number of external output devices that are supported by this device.
+      </description>
       <arg name="count" type="uint"/>
     </event>
 
     <event name="output_info">
+      <description summary="">
+        Send information of specific external output to client.
+
+        Output_id is numbering of external outputs. It is fixed when booting time.
+        The type, mode attribute, attribute_state is mentioned above.
+        The w and h is the resolution of external output.
+        The w_mm and h_mm is the physical size of external output. The unit is mm.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="type" type="uint"/>
       <arg name="mode" type="uint"/>
     </event>
 
     <event name="output_type">
+      <description summary="output type and connection info">
+        Send information of output type and connection.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="type" type="uint"/>
       <arg name="status" type="uint"/>
     </event>
 
     <event name="output_mode">
+      <description summary="output mode info">
+        Send information of output mode.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="mode" type="uint"/>
     </event>
 
     <event name="output_attribute">
+      <description summary="output attribute info">
+        Send information of output attribute and attribute state.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="attribute" type="uint"/>
       <arg name="attribute_state" type="uint"/>
     </event>
 
     <event name="output_set_window">
+      <description summary="reslut of set_window">
+        Send the result of set_window to client.
+      </description>
       <arg name="output_id" type="uint"/>
       <arg name="error" type="uint"/>
     </event>
 
   </interface>
-</protocol>
 
+</protocol>