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>