virtual (client): Added implementation for setting available format.
[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         <request name="create_voutput">
27             <arg name="name" type="string" summary=""/>
28             <arg name="id" type="new_id" interface="wl_tdm_voutput"/>
29         </request>
30
31     </interface>
32
33     <interface name="wl_tdm_output" version="1">
34         <description summary="TDM client output object">
35       When the DPMS of connection status of the output is changed, TDM server
36       will send wl_tdm_output.mode and wl_tdm_output.dpms event.
37         </description>
38
39         <event name="mode">
40             <arg name="width" type="uint"/>
41             <arg name="height" type="uint"/>
42             <arg name="refresh" type="uint"/>
43             <arg name="error" type="uint" summary="error status enumeration"/>
44         </event>
45
46         <event name="connection">
47             <arg name="value" type="uint"/>
48             <arg name="error" type="uint" summary="error status enumeration"/>
49         </event>
50
51         <event name="dpms">
52             <arg name="value" type="uint"/>
53             <arg name="error" type="uint" summary="error status enumeration"/>
54         </event>
55
56         <request name="destroy" type="destructor"/>
57
58         <request name="create_vblank">
59             <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
60         </request>
61
62         <request name="watch_output_changes">
63             <arg name="enable" type="uint"/>
64         </request>
65
66         <request name="get_connection"/>
67
68         <request name="get_mode"/>
69
70         <request name="get_dpms"/>
71
72     </interface>
73
74     <interface name="wl_tdm_voutput" version="1">
75         <description summary="TDM client virtual output object">
76         </description>
77
78         <request name="destroy" type="destructor"/>
79
80         <request name="set_available_modes">
81             <arg name="index" type="uint" summary=""/>
82             <arg name="clock" type="uint" summary=""/>
83             <arg name="hdisplay" type="uint" summary=""/>
84             <arg name="hsync_start" type="uint" summary=""/>
85             <arg name="hsync_end" type="uint" summary=""/>
86             <arg name="htotal" type="uint" summary=""/>
87             <arg name="hskew" type="uint" summary=""/>
88             <arg name="vdisplay" type="uint" summary=""/>
89             <arg name="vsync_start" type="uint" summary=""/>
90             <arg name="vsync_end" type="uint" summary=""/>
91             <arg name="vtotal" type="uint" summary=""/>
92             <arg name="vscan" type="uint" summary=""/>
93             <arg name="vrefresh" type="uint" summary=""/>
94             <arg name="flags" type="uint" summary=""/>
95             <arg name="type" type="uint" summary=""/>
96             <arg name="name" type="string" summary=""/>
97         </request>
98
99         <request name="set_available_formats">
100             <arg name="formats" type="array"/>
101         </request>
102
103         <request name="set_physical_size">
104             <arg name="mmwidth" type="uint" summary=""/>
105             <arg name="mmheight" type="uint" summary=""/>
106         </request>
107
108         <request name="connect"/>
109
110         <request name="disconnect"/>
111
112         <event name="ack_message">
113             <arg name="msg" type="uint" enum="message" summary=""/>
114         </event>
115         <enum name="message">
116             <entry name="unknown" value="0" summary=""/>
117             <entry name="added" value="1" summary=""/>
118             <entry name="permission_denied" value="2" summary=""/>
119         </enum>
120     </interface>
121
122     <interface name="wl_tdm_vblank" version="1">
123
124         <event name="stamp">
125             <arg name="stamp" type="uint"/>
126         </event>
127
128         <event name="done">
129             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
130             <arg name="sequence" type="uint" summary="the sequence number of the vblank"/>
131             <arg name="tv_sec" type="uint" summary="sec of the vblank"/>
132             <arg name="tv_usec" type="uint" summary="usec of the vblank"/>
133             <arg name="error" type="uint" summary="error status enumeration"/>
134         </event>
135
136         <event name="ttrace">
137             <arg name="enable" type="uint"/>
138         </event>
139
140         <request name="destroy" type="destructor"/>
141
142         <request name="set_name">
143             <arg name="name" type="string"/>
144         </request>
145
146         <request name="set_fps">
147             <arg name="fps" type="uint"/>
148         </request>
149
150         <request name="set_offset">
151             <arg name="offset" type="int"/>
152         </request>
153
154         <request name="set_enable_fake">
155             <arg name="enable_fake" type="uint"/>
156         </request>
157
158         <request name="wait_vblank">
159             <description summary="Wait for a HW vblank">
160           When wl_tdm_vblank.wait_vblank is called, TDM server will send the
161           wl_tdm_vblank.done event after interval vblanks. If enable_fake == 1,
162           TDM server will send the done event always. Otherwise, TDM server will
163           send the done event with TDM error value.
164             </description>
165
166             <arg name="interval" type="uint"/>
167             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
168             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
169             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
170         </request>
171
172         <request name="wait_vblank_seq">
173             <arg name="sequence" type="uint" summary="the target sequence number"/>
174             <arg name="req_id" type="uint" summary="wait_vblank request ID"/>
175             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
176             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
177         </request>
178
179     </interface>
180
181 </protocol>