Changeset View
Changeset View
Standalone View
Standalone View
dbus/xdp_dbus_remotedesktop_interface.xml
- This file was added.
1 | <?xml version="1.0"?> | ||||
---|---|---|---|---|---|
2 | <!-- | ||||
3 | Copyright (C) 2017-2018 Red Hat, Inc. | ||||
4 | This library is free software; you can redistribute it and/or | ||||
5 | modify it under the terms of the GNU Lesser General Public | ||||
6 | License as published by the Free Software Foundation; either | ||||
7 | version 2 of the License, or (at your option) any later version. | ||||
8 | This library is distributed in the hope that it will be useful, | ||||
9 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
11 | Lesser General Public License for more details. | ||||
12 | You should have received a copy of the GNU Lesser General Public | ||||
13 | License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||||
14 | --> | ||||
15 | | ||||
16 | <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> | ||||
17 | <!-- | ||||
18 | org.freedesktop.portal.RemoteDesktop: | ||||
19 | @short_description: Remote desktop portal | ||||
20 | The Remote desktop portal allows to create remote desktop sessions. | ||||
21 | This documentation describes version 1 of this interface. | ||||
22 | --> | ||||
23 | <interface name="org.freedesktop.portal.RemoteDesktop"> | ||||
24 | <!-- | ||||
25 | CreateSession: | ||||
26 | @options: Vardict with optional further information | ||||
27 | @handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||||
28 | Create a remote desktop session. | ||||
29 | A remote desktop session is used to allow remote controlling a desktop | ||||
30 | session. It can also be used together with a screen cast session (see | ||||
31 | org.freedesktop.portal.ScreenCast), but may only be started and stopped | ||||
32 | with this interface. | ||||
33 | To also get a screen content, call the | ||||
34 | #org.freedesktop.ScreenCast.SelectSources with the | ||||
35 | #org.freedesktop.Session object created with this method. | ||||
36 | Supported keys in the @options vardict include: | ||||
37 | <variablelist> | ||||
38 | <varlistentry> | ||||
39 | <term>handle_token s</term> | ||||
40 | <listitem><para> | ||||
41 | A string that will be used as the last element of the @handle. Must be a valid | ||||
42 | object path element. See the #org.freedesktop.portal.Request documentation for | ||||
43 | more information about the @handle. | ||||
44 | </para></listitem> | ||||
45 | </varlistentry> | ||||
46 | <varlistentry> | ||||
47 | <term>session_handle_token s</term> | ||||
48 | <listitem><para> | ||||
49 | A string that will be used as the last element of the session handle. Must be a valid | ||||
50 | object path element. See the #org.freedesktop.portal.Session documentation for | ||||
51 | more information about the session handle. | ||||
52 | </para></listitem> | ||||
53 | </varlistentry> | ||||
54 | </variablelist> | ||||
55 | | ||||
56 | The following results get returned via the #org.freedesktop.portal.Request::Response signal: | ||||
57 | <variablelist> | ||||
58 | <varlistentry> | ||||
59 | <term>session_handle o</term> | ||||
60 | <listitem><para> | ||||
61 | The session handle. An object path for the | ||||
62 | #org.freedesktop.portal.Session object representing the created | ||||
63 | session. | ||||
64 | </para></listitem> | ||||
65 | </varlistentry> | ||||
66 | </variablelist> | ||||
67 | --> | ||||
68 | <method name="CreateSession"> | ||||
69 | <arg type="a{sv}" name="options" direction="in"/> | ||||
70 | <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/> | ||||
71 | <arg type="o" name="handle" direction="out"/> | ||||
72 | </method> | ||||
73 | <!-- | ||||
74 | SelectDevices: | ||||
75 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
76 | @options: Vardict with optional further information | ||||
77 | @handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||||
78 | Select input devices to remote control. | ||||
79 | Supported keys in the @options vardict include: | ||||
80 | <variablelist> | ||||
81 | <varlistentry> | ||||
82 | <term>handle_token s</term> | ||||
83 | <listitem><para> | ||||
84 | A string that will be used as the last element of the @handle. Must be a valid | ||||
85 | object path element. See the #org.freedesktop.portal.Request documentation for | ||||
86 | more information about the @handle. | ||||
87 | </para></listitem> | ||||
88 | </varlistentry> | ||||
89 | <varlistentry> | ||||
90 | <term>type u</term> | ||||
91 | <listitem><para> | ||||
92 | Bitmask of what device types to request remote controlling of. | ||||
93 | Default is all. | ||||
94 | </para></listitem> | ||||
95 | </varlistentry> | ||||
96 | </variablelist> | ||||
97 | For available source types, see the AvailableDeviceTypes property. | ||||
98 | --> | ||||
99 | <method name="SelectDevices"> | ||||
100 | <arg type="o" name="session_handle" direction="in"/> | ||||
101 | <arg type="a{sv}" name="options" direction="in"/> | ||||
102 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
103 | <arg type="o" name="handle" direction="out"/> | ||||
104 | </method> | ||||
105 | <!-- | ||||
106 | Start: | ||||
107 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
108 | @parent_window: Identifier for the application window, see <link linkend="parent_window">Common Conventions</link> | ||||
109 | @options: Vardict with optional further information | ||||
110 | @handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||||
111 | Start the remote desktop session. This will typically result in the portal | ||||
112 | presenting a dialog letting the user select what to share, including | ||||
113 | devices and optionally screen content if screen cast sources was | ||||
114 | selected. | ||||
115 | Supported keys in the @options vardict include: | ||||
116 | <variablelist> | ||||
117 | <varlistentry> | ||||
118 | <term>handle_token s</term> | ||||
119 | <listitem><para> | ||||
120 | A string that will be used as the last element of the @handle. Must be a valid | ||||
121 | object path element. See the #org.freedesktop.portal.Request documentation for | ||||
122 | more information about the @handle. | ||||
123 | </para></listitem> | ||||
124 | </varlistentry> | ||||
125 | </variablelist> | ||||
126 | The following results get returned via the | ||||
127 | #org.freedesktop.portal.Request::Response signal: | ||||
128 | <variablelist> | ||||
129 | <varlistentry> | ||||
130 | <term>devices u</term> | ||||
131 | <listitem><para> | ||||
132 | A bitmask of the devices selected by the user. | ||||
133 | </para></listitem> | ||||
134 | </varlistentry> | ||||
135 | </variablelist> | ||||
136 | If a screen cast source was selected, the results of the | ||||
137 | #org.freedesktop.portal.ScreenCast.Start response signal may be | ||||
138 | included. | ||||
139 | --> | ||||
140 | <method name="Start"> | ||||
141 | <arg type="o" name="session_handle" direction="in"/> | ||||
142 | <arg type="s" name="parent_window" direction="in"/> | ||||
143 | <arg type="a{sv}" name="options" direction="in"/> | ||||
144 | <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/> | ||||
145 | <arg type="o" name="handle" direction="out"/> | ||||
146 | </method> | ||||
147 | <!-- | ||||
148 | NotifyPointerMotion: | ||||
149 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
150 | @options: Vardict with optional further information | ||||
151 | @dx: Relative movement on the x axis | ||||
152 | @dy: Relative movement on the y axis | ||||
153 | Notify about a new relative pointer motion event. The (dx, dy) vector | ||||
154 | represents the new pointer position in the streams logical coordinate | ||||
155 | space. | ||||
156 | --> | ||||
157 | <method name="NotifyPointerMotion"> | ||||
158 | <arg type="o" name="session_handle" direction="in"/> | ||||
159 | <arg type="a{sv}" name="options" direction="in"/> | ||||
160 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
161 | <arg type="d" name="dx" direction="in"/> | ||||
162 | <arg type="d" name="dy" direction="in"/> | ||||
163 | </method> | ||||
164 | <!-- | ||||
165 | NotifyPointerMotionAbsolute: | ||||
166 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
167 | @options: Vardict with optional further information | ||||
168 | @stream: The PipeWire stream node the coordinate is relative to | ||||
169 | @x: Pointer motion x coordinate | ||||
170 | @y: Pointer motion y coordinate | ||||
171 | Notify about a new absolute pointer motion event. The (x, y) position | ||||
172 | represents the new pointer position in the streams logical coordinate | ||||
173 | space (see the logical_size stream property in | ||||
174 | #org.freedesktop.portal.ScreenCast). | ||||
175 | --> | ||||
176 | <method name="NotifyPointerMotionAbsolute"> | ||||
177 | <arg type="o" name="session_handle" direction="in"/> | ||||
178 | <arg type="a{sv}" name="options" direction="in"/> | ||||
179 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
180 | <arg type="u" name="stream" direction="in"/> | ||||
181 | <arg type="d" name="x" direction="in"/> | ||||
182 | <arg type="d" name="y" direction="in"/> | ||||
183 | </method> | ||||
184 | <!-- | ||||
185 | NotifyPointerButton: | ||||
186 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
187 | @options: Vardict with optional further information | ||||
188 | @button: The pointer button was pressed or released | ||||
189 | @state: The new state of the button | ||||
190 | The pointer button is encoded according to Linux Evdev button codes. | ||||
191 | May only be called if POINTER access was provided after starting the | ||||
192 | session. | ||||
193 | Available button states: | ||||
194 | <simplelist> | ||||
195 | <member>0: Released</member> | ||||
196 | <member>1: Pressed</member> | ||||
197 | </simplelist> | ||||
198 | --> | ||||
199 | <method name="NotifyPointerButton"> | ||||
200 | <arg type="o" name="session_handle" direction="in"/> | ||||
201 | <arg type="a{sv}" name="options" direction="in"/> | ||||
202 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
203 | <arg type="i" name="button" direction="in"/> | ||||
204 | <arg type="u" name="state" direction="in"/> | ||||
205 | </method> | ||||
206 | <!-- | ||||
207 | NotifyPointerAxis: | ||||
208 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
209 | @options: Vardict with optional further information | ||||
210 | @dx: Relative axis movement on the x axis | ||||
211 | @dy: Relative axis movement on the y axis | ||||
212 | The axis movement from a 'smooth scroll' device, such as a touchpad. | ||||
213 | When applicable, the size of the motion delta should be equivalent to | ||||
214 | the motion vector of a pointer motion done using the same advice. | ||||
215 | May only be called if POINTER access was provided after starting the | ||||
216 | session. | ||||
217 | Supported keys in the @options vardict include: | ||||
218 | <variablelist> | ||||
219 | <varlistentry> | ||||
220 | <term>finish b</term> | ||||
221 | <listitem><para> | ||||
222 | If set to true, this is the last axis event in a series, for | ||||
223 | example as a result of the fingers being lifted from a touchpad | ||||
224 | after a two-finger scroll. Default is false. | ||||
225 | </para></listitem> | ||||
226 | </varlistentry> | ||||
227 | </variablelist> | ||||
228 | --> | ||||
229 | <method name="NotifyPointerAxis"> | ||||
230 | <arg type="o" name="session_handle" direction="in"/> | ||||
231 | <arg type="a{sv}" name="options" direction="in"/> | ||||
232 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
233 | <arg type="d" name="dx" direction="in"/> | ||||
234 | <arg type="d" name="dy" direction="in"/> | ||||
235 | </method> | ||||
236 | <!-- | ||||
237 | NotifyPointerAxisDiscrete: | ||||
238 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
239 | @options: Vardict with optional further information | ||||
240 | @axis: The axis that was scrolled | ||||
241 | @steps: The number of steps scrolled | ||||
242 | May only be called if POINTER access was provided after starting the | ||||
243 | session. | ||||
244 | Available axes: | ||||
245 | <simplelist> | ||||
246 | <member>0: Vertical scroll</member> | ||||
247 | <member>1: Horizontal scroll</member> | ||||
248 | </simplelist> | ||||
249 | --> | ||||
250 | <method name="NotifyPointerAxisDiscrete"> | ||||
251 | <arg type="o" name="session_handle" direction="in"/> | ||||
252 | <arg type="a{sv}" name="options" direction="in"/> | ||||
253 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
254 | <arg type="u" name="axis" direction="in"/> | ||||
255 | <arg type="i" name="steps" direction="in"/> | ||||
256 | </method> | ||||
257 | <!-- | ||||
258 | NotifyKeyboardKeycode: | ||||
259 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
260 | @options: Vardict with optional further information | ||||
261 | @keycode: Keyboard code that was pressed or released | ||||
262 | @state: New state of keyboard keysym | ||||
263 | May only be called if KEYBOARD access was provided after starting the | ||||
264 | session. | ||||
265 | Available keyboard keysym states: | ||||
266 | <simplelist> | ||||
267 | <member>0: Released</member> | ||||
268 | <member>1: Pressed</member> | ||||
269 | </simplelist> | ||||
270 | --> | ||||
271 | <method name="NotifyKeyboardKeycode"> | ||||
272 | <arg type="o" name="session_handle" direction="in"/> | ||||
273 | <arg type="a{sv}" name="options" direction="in"/> | ||||
274 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
275 | <arg type="i" name="keycode" direction="in"/> | ||||
276 | <arg type="u" name="state" direction="in"/> | ||||
277 | </method> | ||||
278 | <!-- | ||||
279 | NotifyKeyboardKeysym: | ||||
280 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
281 | @options: Vardict with optional further information | ||||
282 | @keysym: Keyboard symbol that was pressed or released | ||||
283 | @state: New state of keyboard keysym | ||||
284 | May only be called if KEYBOARD access was provided after starting the | ||||
285 | session. | ||||
286 | Available keyboard keysym states: | ||||
287 | <simplelist> | ||||
288 | <member>0: Released</member> | ||||
289 | <member>1: Pressed</member> | ||||
290 | </simplelist> | ||||
291 | --> | ||||
292 | <method name="NotifyKeyboardKeysym"> | ||||
293 | <arg type="o" name="session_handle" direction="in"/> | ||||
294 | <arg type="a{sv}" name="options" direction="in"/> | ||||
295 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
296 | <arg type="i" name="keysym" direction="in"/> | ||||
297 | <arg type="u" name="state" direction="in"/> | ||||
298 | </method> | ||||
299 | <!-- | ||||
300 | NotifyTouchDown: | ||||
301 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
302 | @options: Vardict with optional further information | ||||
303 | @stream: The PipeWire stream node the coordinate is relative to | ||||
304 | @slot: Touch slot where touch point appeared | ||||
305 | @x: Touch down x coordinate | ||||
306 | @y: Touch down y coordinate | ||||
307 | May only be called if TOUCHSCREEN access was provided after starting the | ||||
308 | session. | ||||
309 | Notify about a new touch down event. The (x, y) position | ||||
310 | represents the new touch point position in the streams logical | ||||
311 | coordinate space (see the logical_size stream property in | ||||
312 | #org.freedesktop.portal.ScreenCast). | ||||
313 | --> | ||||
314 | <method name="NotifyTouchDown"> | ||||
315 | <arg type="o" name="session_handle" direction="in"/> | ||||
316 | <arg type="a{sv}" name="options" direction="in"/> | ||||
317 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
318 | <arg type="u" name="stream" direction="in"/> | ||||
319 | <arg type="u" name="slot" direction="in"/> | ||||
320 | <arg type="d" name="x" direction="in"/> | ||||
321 | <arg type="d" name="y" direction="in"/> | ||||
322 | </method> | ||||
323 | <!-- | ||||
324 | NotifyTouchMotion: | ||||
325 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
326 | @options: Vardict with optional further information | ||||
327 | @stream: The PipeWire stream node the coordinate is relative to | ||||
328 | @slot: Touch slot where touch point appeared | ||||
329 | @x: Touch motion x coordinate | ||||
330 | @y: Touch motion y coordinate | ||||
331 | May only be called if TOUCHSCREEN access was provided after starting the | ||||
332 | session. | ||||
333 | Notify about a new touch motion event. The (x, y) position | ||||
334 | represents where the touch point position in the streams logical | ||||
335 | coordinate space moved (see the logical_size stream property in | ||||
336 | #org.freedesktop.portal.ScreenCast). | ||||
337 | --> | ||||
338 | <method name="NotifyTouchMotion"> | ||||
339 | <arg type="o" name="session_handle" direction="in"/> | ||||
340 | <arg type="a{sv}" name="options" direction="in"/> | ||||
341 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
342 | <arg type="u" name="stream" direction="in"/> | ||||
343 | <arg type="u" name="slot" direction="in"/> | ||||
344 | <arg type="d" name="x" direction="in"/> | ||||
345 | <arg type="d" name="y" direction="in"/> | ||||
346 | </method> | ||||
347 | <!-- | ||||
348 | NotifyTouchUp: | ||||
349 | @session_handle: Object path for the #org.freedesktop.portal.Session object | ||||
350 | @options: Vardict with optional further information | ||||
351 | @slot: Touch slot where touch point appeared | ||||
352 | May only be called if TOUCHSCREEN access was provided after starting the | ||||
353 | session. | ||||
354 | Notify about a new touch up event. | ||||
355 | --> | ||||
356 | <method name="NotifyTouchUp"> | ||||
357 | <arg type="o" name="session_handle" direction="in"/> | ||||
358 | <arg type="a{sv}" name="options" direction="in"/> | ||||
359 | <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> | ||||
360 | <arg type="u" name="slot" direction="in"/> | ||||
361 | </method> | ||||
362 | <!-- | ||||
363 | AvailableDeviceTypes: | ||||
364 | A bitmask of available source types. Currently defined types are: | ||||
365 | <simplelist> | ||||
366 | <member>1: KEYBOARD</member> | ||||
367 | <member>2: POINTER</member> | ||||
368 | <member>4: TOUCHSCREEN</member> | ||||
369 | </simplelist> | ||||
370 | --> | ||||
371 | <property name="AvailableDeviceTypes" type="u" access="read"/> | ||||
372 | <property name="version" type="u" access="read"/> | ||||
373 | </interface> | ||||
374 | </node> |