6434e9833f2def05abbcd5eb9254b967164ffe10
[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         <event name="debug_message">
12             <arg name="message" type="string"/>
13         </event>
14
15         <event name="debug_done" />
16
17         <request name="debug">
18             <arg name="options" type="string" summary="debug options"/>
19         </request>
20
21         <request name="create_output">
22             <arg name="name" type="string" summary="output's name. 'primary' or 'default' can be used for default."/>
23             <arg name="id" type="new_id" interface="wl_tdm_output"/>
24         </request>
25
26     </interface>
27
28     <interface name="wl_tdm_output" version="1">
29         <description summary="TDM client output object">
30       When the DPMS of connection status of the output is changed, TDM server
31       will send wl_tdm_output.mode and wl_tdm_output.dpms event.
32         </description>
33
34         <event name="mode">
35             <arg name="width" type="uint"/>
36             <arg name="height" type="uint"/>
37             <arg name="refresh" type="uint"/>
38             <arg name="error" type="uint" summary="error status enumeration"/>
39         </event>
40
41         <event name="connection">
42             <arg name="value" type="uint"/>
43             <arg name="error" type="uint" summary="error status enumeration"/>
44         </event>
45
46         <event name="dpms">
47             <arg name="value" type="uint"/>
48             <arg name="error" type="uint" summary="error status enumeration"/>
49         </event>
50
51         <request name="destroy" type="destructor"/>
52
53         <request name="create_vblank">
54             <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
55         </request>
56
57         <request name="watch_output_changes">
58             <arg name="enable" type="uint"/>
59         </request>
60
61         <request name="get_connection"/>
62
63         <request name="get_mode"/>
64
65         <request name="get_dpms"/>
66
67     </interface>
68
69     <interface name="wl_tdm_vblank" version="1">
70
71         <event name="stamp">
72             <arg name="stamp" type="uint"/>
73         </event>
74
75         <event name="done">
76             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
77             <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
78             <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
79             <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
80             <arg name="error" type="uint" summary="error status enumeration"/>
81         </event>
82
83         <event name="ttrace">
84             <arg name="enable" type="uint"/>
85         </event>
86
87         <request name="destroy" type="destructor"/>
88
89         <request name="set_name">
90             <arg name="name" type="string"/>
91         </request>
92
93         <request name="set_fps">
94             <arg name="fps" type="uint"/>
95         </request>
96
97         <request name="set_offset">
98             <arg name="offset" type="int"/>
99         </request>
100
101         <request name="set_enable_fake">
102             <arg name="enable_fake" type="uint"/>
103         </request>
104
105         <request name="wait_vblank">
106             <description summary="Wait for a HW vblank">
107           When wl_tdm_vblank.wait_vblank is called, TDM server will send the
108           wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
109           TDM server will send the done event always. Otherwise, TDM server will
110           send the done event with TDM error value.
111             </description>
112
113             <arg name="interval" type="uint"/>
114             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
115             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
116             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
117         </request>
118
119         <request name="wait_vblank_seq">
120             <arg name="sequence" type="uint" summary="the target sequence number"/>
121             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
122             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
123             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
124         </request>
125
126     </interface>
127
128 </protocol>