add description for tdm protocol
[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_client">
12             <arg name="id" type="new_id" interface="wl_tdm_client"/>
13         </request>
14
15     </interface>
16
17     <interface name="wl_tdm_client" version="1">
18
19         <description summary="tdm client resource">
20       TDM uses the wayland protocol to communicate between tdm client and tdm server.
21         </description>
22
23         <enum name="error">
24             <entry name="invalid_name" value="0" summary="invalid output name"/>
25             <entry name="operation_failed" value="1" summary="operation failed"/>
26             <entry name="dpms_off" value="2" summary="DPMS off"/>
27         </enum>
28
29         <request name="destroy" type="destructor"/>
30         <request name="wait_vblank">
31
32             <description summary="Wait for a HW vblank">
33           When wl_tdm_client.wait_vblank is called, wl_tdm_vblank resource is created.
34           And when TDM server gets the HW vblank, TDM server will send the 'done'
35           event of wl_tdm_vblank interface to let the TDM client get the HW vblank.
36           If 'sw_timer' param is 1, TDM server will use the SW timer in case of DPMS off.
37           And TDM server will create the fake vblank event and send it to TDM client.
38           Otherwise, TDM server will return 'dpms_off' error.
39             </description>
40
41             <arg name="id" type="new_id" interface="wl_tdm_vblank"/>
42             <arg name="name" type="string" summary="output's name"/>
43             <arg name="sw_timer" type="int" summary="0: not using SW timer, 1: using SW timer when DPMS off"/>
44             <arg name="interval" type="int" summary="vblank interval"/>
45             <arg name="req_sec" type="uint" summary="sec of the request time in client side"/>
46             <arg name="req_usec" type="uint" summary="usec of the request time in client side"/>
47         </request>
48
49     </interface>
50
51     <interface name="wl_tdm_vblank" version="1">
52
53         <event name="done">
54             <arg name="sequence" type="uint" summary="sequence of the HW vblank"/>
55             <arg name="tv_sec" type="uint" summary="sec of the HW vblank in kernel side"/>
56             <arg name="tv_usec" type="uint" summary="usec of the HW vblank in kernel side"/>
57         </event>
58
59     </interface>
60
61 </protocol>