1b877906bSopenharmony_ci<?xml version="1.0" encoding="UTF-8"?>
2b877906bSopenharmony_ci<protocol name="idle_inhibit_unstable_v1">
3b877906bSopenharmony_ci
4b877906bSopenharmony_ci  <copyright>
5b877906bSopenharmony_ci    Copyright © 2015 Samsung Electronics Co., Ltd
6b877906bSopenharmony_ci
7b877906bSopenharmony_ci    Permission is hereby granted, free of charge, to any person obtaining a
8b877906bSopenharmony_ci    copy of this software and associated documentation files (the "Software"),
9b877906bSopenharmony_ci    to deal in the Software without restriction, including without limitation
10b877906bSopenharmony_ci    the rights to use, copy, modify, merge, publish, distribute, sublicense,
11b877906bSopenharmony_ci    and/or sell copies of the Software, and to permit persons to whom the
12b877906bSopenharmony_ci    Software is furnished to do so, subject to the following conditions:
13b877906bSopenharmony_ci
14b877906bSopenharmony_ci    The above copyright notice and this permission notice (including the next
15b877906bSopenharmony_ci    paragraph) shall be included in all copies or substantial portions of the
16b877906bSopenharmony_ci    Software.
17b877906bSopenharmony_ci
18b877906bSopenharmony_ci    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19b877906bSopenharmony_ci    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20b877906bSopenharmony_ci    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
21b877906bSopenharmony_ci    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22b877906bSopenharmony_ci    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23b877906bSopenharmony_ci    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24b877906bSopenharmony_ci    DEALINGS IN THE SOFTWARE.
25b877906bSopenharmony_ci  </copyright>
26b877906bSopenharmony_ci
27b877906bSopenharmony_ci  <interface name="zwp_idle_inhibit_manager_v1" version="1">
28b877906bSopenharmony_ci    <description summary="control behavior when display idles">
29b877906bSopenharmony_ci      This interface permits inhibiting the idle behavior such as screen
30b877906bSopenharmony_ci      blanking, locking, and screensaving.  The client binds the idle manager
31b877906bSopenharmony_ci      globally, then creates idle-inhibitor objects for each surface.
32b877906bSopenharmony_ci
33b877906bSopenharmony_ci      Warning! The protocol described in this file is experimental and
34b877906bSopenharmony_ci      backward incompatible changes may be made. Backward compatible changes
35b877906bSopenharmony_ci      may be added together with the corresponding interface version bump.
36b877906bSopenharmony_ci      Backward incompatible changes are done by bumping the version number in
37b877906bSopenharmony_ci      the protocol and interface names and resetting the interface version.
38b877906bSopenharmony_ci      Once the protocol is to be declared stable, the 'z' prefix and the
39b877906bSopenharmony_ci      version number in the protocol and interface names are removed and the
40b877906bSopenharmony_ci      interface version number is reset.
41b877906bSopenharmony_ci    </description>
42b877906bSopenharmony_ci
43b877906bSopenharmony_ci    <request name="destroy" type="destructor">
44b877906bSopenharmony_ci      <description summary="destroy the idle inhibitor object">
45b877906bSopenharmony_ci	Destroy the inhibit manager.
46b877906bSopenharmony_ci      </description>
47b877906bSopenharmony_ci    </request>
48b877906bSopenharmony_ci
49b877906bSopenharmony_ci    <request name="create_inhibitor">
50b877906bSopenharmony_ci      <description summary="create a new inhibitor object">
51b877906bSopenharmony_ci	Create a new inhibitor object associated with the given surface.
52b877906bSopenharmony_ci      </description>
53b877906bSopenharmony_ci      <arg name="id" type="new_id" interface="zwp_idle_inhibitor_v1"/>
54b877906bSopenharmony_ci      <arg name="surface" type="object" interface="wl_surface"
55b877906bSopenharmony_ci	   summary="the surface that inhibits the idle behavior"/>
56b877906bSopenharmony_ci    </request>
57b877906bSopenharmony_ci
58b877906bSopenharmony_ci  </interface>
59b877906bSopenharmony_ci
60b877906bSopenharmony_ci  <interface name="zwp_idle_inhibitor_v1" version="1">
61b877906bSopenharmony_ci    <description summary="context object for inhibiting idle behavior">
62b877906bSopenharmony_ci      An idle inhibitor prevents the output that the associated surface is
63b877906bSopenharmony_ci      visible on from being set to a state where it is not visually usable due
64b877906bSopenharmony_ci      to lack of user interaction (e.g. blanked, dimmed, locked, set to power
65b877906bSopenharmony_ci      save, etc.)  Any screensaver processes are also blocked from displaying.
66b877906bSopenharmony_ci
67b877906bSopenharmony_ci      If the surface is destroyed, unmapped, becomes occluded, loses
68b877906bSopenharmony_ci      visibility, or otherwise becomes not visually relevant for the user, the
69b877906bSopenharmony_ci      idle inhibitor will not be honored by the compositor; if the surface
70b877906bSopenharmony_ci      subsequently regains visibility the inhibitor takes effect once again.
71b877906bSopenharmony_ci      Likewise, the inhibitor isn't honored if the system was already idled at
72b877906bSopenharmony_ci      the time the inhibitor was established, although if the system later
73b877906bSopenharmony_ci      de-idles and re-idles the inhibitor will take effect.
74b877906bSopenharmony_ci    </description>
75b877906bSopenharmony_ci
76b877906bSopenharmony_ci    <request name="destroy" type="destructor">
77b877906bSopenharmony_ci      <description summary="destroy the idle inhibitor object">
78b877906bSopenharmony_ci	Remove the inhibitor effect from the associated wl_surface.
79b877906bSopenharmony_ci      </description>
80b877906bSopenharmony_ci    </request>
81b877906bSopenharmony_ci
82b877906bSopenharmony_ci  </interface>
83b877906bSopenharmony_ci</protocol>
84