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>