Warning, /network/krfb/dbus/xdp_dbus_remotedesktop_interface.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0"?> 0002 <!-- 0003 Copyright (C) 2017-2018 Red Hat, Inc. 0004 This library is free software; you can redistribute it and/or 0005 modify it under the terms of the GNU Lesser General Public 0006 License as published by the Free Software Foundation; either 0007 version 2 of the License, or (at your option) any later version. 0008 This library is distributed in the hope that it will be useful, 0009 but WITHOUT ANY WARRANTY; without even the implied warranty of 0010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0011 Lesser General Public License for more details. 0012 You should have received a copy of the GNU Lesser General Public 0013 License along with this library. If not, see <http://www.gnu.org/licenses/>. 0014 --> 0015 0016 <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> 0017 <!-- 0018 org.freedesktop.portal.RemoteDesktop: 0019 @short_description: Remote desktop portal 0020 The Remote desktop portal allows to create remote desktop sessions. 0021 This documentation describes version 1 of this interface. 0022 --> 0023 <interface name="org.freedesktop.portal.RemoteDesktop"> 0024 <!-- 0025 CreateSession: 0026 @options: Vardict with optional further information 0027 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0028 Create a remote desktop session. 0029 A remote desktop session is used to allow remote controlling a desktop 0030 session. It can also be used together with a screen cast session (see 0031 org.freedesktop.portal.ScreenCast), but may only be started and stopped 0032 with this interface. 0033 To also get a screen content, call the 0034 #org.freedesktop.ScreenCast.SelectSources with the 0035 #org.freedesktop.Session object created with this method. 0036 Supported keys in the @options vardict include: 0037 <variablelist> 0038 <varlistentry> 0039 <term>handle_token s</term> 0040 <listitem><para> 0041 A string that will be used as the last element of the @handle. Must be a valid 0042 object path element. See the #org.freedesktop.portal.Request documentation for 0043 more information about the @handle. 0044 </para></listitem> 0045 </varlistentry> 0046 <varlistentry> 0047 <term>session_handle_token s</term> 0048 <listitem><para> 0049 A string that will be used as the last element of the session handle. Must be a valid 0050 object path element. See the #org.freedesktop.portal.Session documentation for 0051 more information about the session handle. 0052 </para></listitem> 0053 </varlistentry> 0054 </variablelist> 0055 0056 The following results get returned via the #org.freedesktop.portal.Request::Response signal: 0057 <variablelist> 0058 <varlistentry> 0059 <term>session_handle o</term> 0060 <listitem><para> 0061 The session handle. An object path for the 0062 #org.freedesktop.portal.Session object representing the created 0063 session. 0064 </para></listitem> 0065 </varlistentry> 0066 </variablelist> 0067 --> 0068 <method name="CreateSession"> 0069 <arg type="a{sv}" name="options" direction="in"/> 0070 <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/> 0071 <arg type="o" name="handle" direction="out"/> 0072 </method> 0073 <!-- 0074 SelectDevices: 0075 @session_handle: Object path for the #org.freedesktop.portal.Session object 0076 @options: Vardict with optional further information 0077 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0078 Select input devices to remote control. 0079 Supported keys in the @options vardict include: 0080 <variablelist> 0081 <varlistentry> 0082 <term>handle_token s</term> 0083 <listitem><para> 0084 A string that will be used as the last element of the @handle. Must be a valid 0085 object path element. See the #org.freedesktop.portal.Request documentation for 0086 more information about the @handle. 0087 </para></listitem> 0088 </varlistentry> 0089 <varlistentry> 0090 <term>type u</term> 0091 <listitem><para> 0092 Bitmask of what device types to request remote controlling of. 0093 Default is all. 0094 </para></listitem> 0095 </varlistentry> 0096 </variablelist> 0097 For available source types, see the AvailableDeviceTypes property. 0098 --> 0099 <method name="SelectDevices"> 0100 <arg type="o" name="session_handle" direction="in"/> 0101 <arg type="a{sv}" name="options" direction="in"/> 0102 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0103 <arg type="o" name="handle" direction="out"/> 0104 </method> 0105 <!-- 0106 Start: 0107 @session_handle: Object path for the #org.freedesktop.portal.Session object 0108 @parent_window: Identifier for the application window, see <link linkend="parent_window">Common Conventions</link> 0109 @options: Vardict with optional further information 0110 @handle: Object path for the #org.freedesktop.portal.Request object representing this call 0111 Start the remote desktop session. This will typically result in the portal 0112 presenting a dialog letting the user select what to share, including 0113 devices and optionally screen content if screen cast sources was 0114 selected. 0115 Supported keys in the @options vardict include: 0116 <variablelist> 0117 <varlistentry> 0118 <term>handle_token s</term> 0119 <listitem><para> 0120 A string that will be used as the last element of the @handle. Must be a valid 0121 object path element. See the #org.freedesktop.portal.Request documentation for 0122 more information about the @handle. 0123 </para></listitem> 0124 </varlistentry> 0125 </variablelist> 0126 The following results get returned via the 0127 #org.freedesktop.portal.Request::Response signal: 0128 <variablelist> 0129 <varlistentry> 0130 <term>devices u</term> 0131 <listitem><para> 0132 A bitmask of the devices selected by the user. 0133 </para></listitem> 0134 </varlistentry> 0135 </variablelist> 0136 If a screen cast source was selected, the results of the 0137 #org.freedesktop.portal.ScreenCast.Start response signal may be 0138 included. 0139 --> 0140 <method name="Start"> 0141 <arg type="o" name="session_handle" direction="in"/> 0142 <arg type="s" name="parent_window" direction="in"/> 0143 <arg type="a{sv}" name="options" direction="in"/> 0144 <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/> 0145 <arg type="o" name="handle" direction="out"/> 0146 </method> 0147 <!-- 0148 NotifyPointerMotion: 0149 @session_handle: Object path for the #org.freedesktop.portal.Session object 0150 @options: Vardict with optional further information 0151 @dx: Relative movement on the x axis 0152 @dy: Relative movement on the y axis 0153 Notify about a new relative pointer motion event. The (dx, dy) vector 0154 represents the new pointer position in the streams logical coordinate 0155 space. 0156 --> 0157 <method name="NotifyPointerMotion"> 0158 <arg type="o" name="session_handle" direction="in"/> 0159 <arg type="a{sv}" name="options" direction="in"/> 0160 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0161 <arg type="d" name="dx" direction="in"/> 0162 <arg type="d" name="dy" direction="in"/> 0163 </method> 0164 <!-- 0165 NotifyPointerMotionAbsolute: 0166 @session_handle: Object path for the #org.freedesktop.portal.Session object 0167 @options: Vardict with optional further information 0168 @stream: The PipeWire stream node the coordinate is relative to 0169 @x: Pointer motion x coordinate 0170 @y: Pointer motion y coordinate 0171 Notify about a new absolute pointer motion event. The (x, y) position 0172 represents the new pointer position in the streams logical coordinate 0173 space (see the logical_size stream property in 0174 #org.freedesktop.portal.ScreenCast). 0175 --> 0176 <method name="NotifyPointerMotionAbsolute"> 0177 <arg type="o" name="session_handle" direction="in"/> 0178 <arg type="a{sv}" name="options" direction="in"/> 0179 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0180 <arg type="u" name="stream" direction="in"/> 0181 <arg type="d" name="x" direction="in"/> 0182 <arg type="d" name="y" direction="in"/> 0183 </method> 0184 <!-- 0185 NotifyPointerButton: 0186 @session_handle: Object path for the #org.freedesktop.portal.Session object 0187 @options: Vardict with optional further information 0188 @button: The pointer button was pressed or released 0189 @state: The new state of the button 0190 The pointer button is encoded according to Linux Evdev button codes. 0191 May only be called if POINTER access was provided after starting the 0192 session. 0193 Available button states: 0194 <simplelist> 0195 <member>0: Released</member> 0196 <member>1: Pressed</member> 0197 </simplelist> 0198 --> 0199 <method name="NotifyPointerButton"> 0200 <arg type="o" name="session_handle" direction="in"/> 0201 <arg type="a{sv}" name="options" direction="in"/> 0202 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0203 <arg type="i" name="button" direction="in"/> 0204 <arg type="u" name="state" direction="in"/> 0205 </method> 0206 <!-- 0207 NotifyPointerAxis: 0208 @session_handle: Object path for the #org.freedesktop.portal.Session object 0209 @options: Vardict with optional further information 0210 @dx: Relative axis movement on the x axis 0211 @dy: Relative axis movement on the y axis 0212 The axis movement from a 'smooth scroll' device, such as a touchpad. 0213 When applicable, the size of the motion delta should be equivalent to 0214 the motion vector of a pointer motion done using the same advice. 0215 May only be called if POINTER access was provided after starting the 0216 session. 0217 Supported keys in the @options vardict include: 0218 <variablelist> 0219 <varlistentry> 0220 <term>finish b</term> 0221 <listitem><para> 0222 If set to true, this is the last axis event in a series, for 0223 example as a result of the fingers being lifted from a touchpad 0224 after a two-finger scroll. Default is false. 0225 </para></listitem> 0226 </varlistentry> 0227 </variablelist> 0228 --> 0229 <method name="NotifyPointerAxis"> 0230 <arg type="o" name="session_handle" direction="in"/> 0231 <arg type="a{sv}" name="options" direction="in"/> 0232 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0233 <arg type="d" name="dx" direction="in"/> 0234 <arg type="d" name="dy" direction="in"/> 0235 </method> 0236 <!-- 0237 NotifyPointerAxisDiscrete: 0238 @session_handle: Object path for the #org.freedesktop.portal.Session object 0239 @options: Vardict with optional further information 0240 @axis: The axis that was scrolled 0241 @steps: The number of steps scrolled 0242 May only be called if POINTER access was provided after starting the 0243 session. 0244 Available axes: 0245 <simplelist> 0246 <member>0: Vertical scroll</member> 0247 <member>1: Horizontal scroll</member> 0248 </simplelist> 0249 --> 0250 <method name="NotifyPointerAxisDiscrete"> 0251 <arg type="o" name="session_handle" direction="in"/> 0252 <arg type="a{sv}" name="options" direction="in"/> 0253 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0254 <arg type="u" name="axis" direction="in"/> 0255 <arg type="i" name="steps" direction="in"/> 0256 </method> 0257 <!-- 0258 NotifyKeyboardKeycode: 0259 @session_handle: Object path for the #org.freedesktop.portal.Session object 0260 @options: Vardict with optional further information 0261 @keycode: Keyboard code that was pressed or released 0262 @state: New state of keyboard keysym 0263 May only be called if KEYBOARD access was provided after starting the 0264 session. 0265 Available keyboard keysym states: 0266 <simplelist> 0267 <member>0: Released</member> 0268 <member>1: Pressed</member> 0269 </simplelist> 0270 --> 0271 <method name="NotifyKeyboardKeycode"> 0272 <arg type="o" name="session_handle" direction="in"/> 0273 <arg type="a{sv}" name="options" direction="in"/> 0274 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0275 <arg type="i" name="keycode" direction="in"/> 0276 <arg type="u" name="state" direction="in"/> 0277 </method> 0278 <!-- 0279 NotifyKeyboardKeysym: 0280 @session_handle: Object path for the #org.freedesktop.portal.Session object 0281 @options: Vardict with optional further information 0282 @keysym: Keyboard symbol that was pressed or released 0283 @state: New state of keyboard keysym 0284 May only be called if KEYBOARD access was provided after starting the 0285 session. 0286 Available keyboard keysym states: 0287 <simplelist> 0288 <member>0: Released</member> 0289 <member>1: Pressed</member> 0290 </simplelist> 0291 --> 0292 <method name="NotifyKeyboardKeysym"> 0293 <arg type="o" name="session_handle" direction="in"/> 0294 <arg type="a{sv}" name="options" direction="in"/> 0295 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0296 <arg type="i" name="keysym" direction="in"/> 0297 <arg type="u" name="state" direction="in"/> 0298 </method> 0299 <!-- 0300 NotifyTouchDown: 0301 @session_handle: Object path for the #org.freedesktop.portal.Session object 0302 @options: Vardict with optional further information 0303 @stream: The PipeWire stream node the coordinate is relative to 0304 @slot: Touch slot where touch point appeared 0305 @x: Touch down x coordinate 0306 @y: Touch down y coordinate 0307 May only be called if TOUCHSCREEN access was provided after starting the 0308 session. 0309 Notify about a new touch down event. The (x, y) position 0310 represents the new touch point position in the streams logical 0311 coordinate space (see the logical_size stream property in 0312 #org.freedesktop.portal.ScreenCast). 0313 --> 0314 <method name="NotifyTouchDown"> 0315 <arg type="o" name="session_handle" direction="in"/> 0316 <arg type="a{sv}" name="options" direction="in"/> 0317 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0318 <arg type="u" name="stream" direction="in"/> 0319 <arg type="u" name="slot" direction="in"/> 0320 <arg type="d" name="x" direction="in"/> 0321 <arg type="d" name="y" direction="in"/> 0322 </method> 0323 <!-- 0324 NotifyTouchMotion: 0325 @session_handle: Object path for the #org.freedesktop.portal.Session object 0326 @options: Vardict with optional further information 0327 @stream: The PipeWire stream node the coordinate is relative to 0328 @slot: Touch slot where touch point appeared 0329 @x: Touch motion x coordinate 0330 @y: Touch motion y coordinate 0331 May only be called if TOUCHSCREEN access was provided after starting the 0332 session. 0333 Notify about a new touch motion event. The (x, y) position 0334 represents where the touch point position in the streams logical 0335 coordinate space moved (see the logical_size stream property in 0336 #org.freedesktop.portal.ScreenCast). 0337 --> 0338 <method name="NotifyTouchMotion"> 0339 <arg type="o" name="session_handle" direction="in"/> 0340 <arg type="a{sv}" name="options" direction="in"/> 0341 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0342 <arg type="u" name="stream" direction="in"/> 0343 <arg type="u" name="slot" direction="in"/> 0344 <arg type="d" name="x" direction="in"/> 0345 <arg type="d" name="y" direction="in"/> 0346 </method> 0347 <!-- 0348 NotifyTouchUp: 0349 @session_handle: Object path for the #org.freedesktop.portal.Session object 0350 @options: Vardict with optional further information 0351 @slot: Touch slot where touch point appeared 0352 May only be called if TOUCHSCREEN access was provided after starting the 0353 session. 0354 Notify about a new touch up event. 0355 --> 0356 <method name="NotifyTouchUp"> 0357 <arg type="o" name="session_handle" direction="in"/> 0358 <arg type="a{sv}" name="options" direction="in"/> 0359 <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/> 0360 <arg type="u" name="slot" direction="in"/> 0361 </method> 0362 <!-- 0363 AvailableDeviceTypes: 0364 A bitmask of available source types. Currently defined types are: 0365 <simplelist> 0366 <member>1: KEYBOARD</member> 0367 <member>2: POINTER</member> 0368 <member>4: TOUCHSCREEN</member> 0369 </simplelist> 0370 --> 0371 <property name="AvailableDeviceTypes" type="u" access="read"/> 0372 <property name="version" type="u" access="read"/> 0373 </interface> 0374 </node>