Generate client side marshal stubs from protocol spec
[platform/upstream/weston.git] / protocol.xml
1 <protocol>
2
3   <interface name="display" version="1">
4     <event name="invalid_object">
5       <arg name="object_id" type="uint"/>
6     </event>
7
8     <event name="invalid_method">
9       <arg name="object_id" type="uint"/>
10       <arg name="opcode" type="uint"/>
11     </event>
12
13     <event name="no_memory"/>
14
15     <event name="global">
16       <arg name="id" type="new_id" interface="object"/>
17       <arg name="name" type="string"/>
18       <arg name="version" type="uint"/>
19     </event>
20
21     <event name="range">
22       <arg name="base" type="uint"/>
23     </event>
24   </interface>
25
26   <interface name="compositor" version="1">
27     <request name="create_surface">
28       <arg name="id" type="new_id" interface="surface"/>
29     </request>
30
31     <request name="commit">
32       <arg name="key" type="uint"/>
33     </request>
34
35     <event name="acknowledge">
36       <arg name="key" type="uint"/>
37       <arg name="frame" type="uint"/>
38     </event>
39
40     <event name="frame">
41       <arg name="frame" type="uint"/>
42       <arg name="timestamp" type="uint"/>
43     </event>
44   </interface>
45
46   <interface name="drm" version="1">
47     <!-- dri2 auth and create buffer -->
48     <request name="authenticate">
49       <arg name="id" type="uint"/>
50     </request>
51
52     <request name="create_buffer">
53       <arg name="id" type="new_id" interface="buffer"/>
54       <arg name="name" type="uint"/>
55       <arg name="width" type="int"/>
56       <arg name="height" type="int"/>
57       <arg name="stride" type="uint"/>
58       <arg name="visual" type="object" interface="visual"/>
59     </request>
60
61     <event name="device">
62       <arg name="name" type="string"/>
63     </event>
64
65     <event name="authenticated"/>
66   </interface>
67
68   <interface name="buffer" version="1">
69     <request name="destroy"/>
70   </interface>
71
72   <interface name="shell" version="1">
73     <request name="move">
74       <arg name="surface" type="object" interface="surface"/>
75       <arg name="input_device" type="object" interface="input_device"/>
76       <arg name="time" type="uint"/>
77     </request>
78
79     <request name="resize">
80       <arg name="surface" type="object" interface="surface"/>
81       <arg name="input_device" type="object" interface="input_device"/>
82       <arg name="time" type="uint"/>
83       <!-- edges is an enum, need to get the values in here -->
84       <arg name="edges" type="uint"/>
85     </request>
86
87     <event name="configure">
88       <arg name="time" type="uint"/>
89       <!-- Same as edges except also move (16) -->
90       <arg name="type" type="uint"/>
91       <arg name="surface" type="object" interface="surface"/>
92       <arg name="x" type="int"/>
93       <arg name="y" type="int"/>
94       <arg name="width" type="int"/>
95       <arg name="height" type="int"/>
96     </event>
97   </interface>
98
99   <interface name="surface" version="1">
100     <request name="destroy"/>
101
102     <request name="attach">
103       <arg name="buffer" type="object" interface="buffer"/>
104     </request>
105
106     <request name="map">
107       <arg name="x" type="int"/>
108       <arg name="y" type="int"/>
109       <arg name="width" type="int"/>
110       <arg name="height" type="int"/>
111     </request>
112
113     <request name="damage">
114       <arg name="x" type="int"/>
115       <arg name="y" type="int"/>
116       <arg name="width" type="int"/>
117       <arg name="height" type="int"/>
118     </request>
119   </interface>
120
121   <interface name="input_device" version="1">
122     <event name="motion">
123       <arg name="time" type="uint"/>
124       <arg name="x" type="int"/>
125       <arg name="y" type="int"/>
126       <arg name="surface_x" type="int"/>
127       <arg name="surface_y" type="int"/>
128     </event>
129
130     <event name="button">
131       <arg name="time" type="uint"/>
132       <arg name="button" type="uint"/>
133       <arg name="state" type="uint"/>
134     </event>
135
136     <event name="key">
137       <arg name="time" type="uint"/>
138       <arg name="key" type="uint"/>
139       <arg name="state" type="uint"/>
140     </event>
141
142     <event name="pointer_focus">
143       <arg name="time" type="uint"/>
144       <arg name="surface" type="object" interface="surface"/>
145       <arg name="x" type="int"/>
146       <arg name="y" type="int"/>
147       <arg name="surface_x" type="int"/>
148       <arg name="surface_y" type="int"/>
149     </event>
150
151     <event name="keyboard_focus">
152       <arg name="time" type="uint"/>
153       <arg name="surface" type="object" interface="surface"/>
154       <arg name="keys" type="array"/>
155     </event>
156   </interface>
157
158   <interface name="output" version="1">
159     <event name="geometry">
160       <arg name="width" type="int"/>
161       <arg name="height" type="int"/>
162     </event>
163   </interface>
164
165   <interface name="visual" version="1">
166
167 </protocol>