support the tdm dynamic fps and the dpms on/off event
[platform/core/uifw/libtdm.git] / protocol / tdm.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <protocol name="wl_tdm">
4
5     <interface name="wl_tdm" version="1">
6
7         <description summary="the private protocol for TDM">
8       TDM uses the wayland protocol to communicate between tdm client and tdm server.
9         </description>
10
11         <request name="create_output">
12             <arg name="name" type="string" summary="output's name"/>
13             <arg name="id" type="new_id" interface="wl_tdm_output"/>
14         </request>
15
16     </interface>
17
18     <interface name="wl_tdm_output" version="1">
19
20         <event name="mode">
21             <arg name="width" type="uint"/>
22             <arg name="height" type="uint"/>
23             <arg name="refresh" type="uint"/>
24         </event>
25
26         <event name="connection">
27             <arg name="value" type="uint"/>
28         </event>
29
30         <event name="dpms">
31             <arg name="value" type="uint"/>
32         </event>
33
34         <request name="destroy" type="destructor"/>
35
36         <request name="create_vblank">
37             <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
38         </request>
39
40     </interface>
41
42     <interface name="wl_tdm_vblank" version="1">
43
44         <event name="done">
45             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
46             <arg name="sequence" type="uint" summary="sequence of the HW vblank"/>
47             <arg name="tv_sec" type="uint" summary="sec of the HW vblank in kernel side"/>
48             <arg name="tv_usec" type="uint" summary="usec of the HW vblank in kernel side"/>
49             <arg name="error" type="uint" summary="error status enumeration"/>
50         </event>
51
52         <request name="destroy" type="destructor"/>
53
54         <request name="set_fps">
55             <arg name="fps" type="uint"/>
56         </request>
57
58         <request name="set_offset">
59             <arg name="offset" type="int"/>
60         </request>
61
62         <request name="set_enable_fake">
63             <arg name="enable_fake" type="uint"/>
64         </request>
65
66         <request name="wait_vblank">
67             <description summary="Wait for a HW vblank">
68           When wl_tdm_vblank.wait_vblank is called, TDM server will send the wl_tdm_vblank.done
69           event which is aligned with HW vblank. Even if DPMS is off, it will send
70           wl_tdm_vblank.done events by using SW timer.
71             </description>
72
73             <arg name="interval" type="uint"/>
74             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
75             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
76             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
77         </request>
78
79     </interface>
80
81 </protocol>