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