init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
252
Telegram/ThirdParty/xdg-desktop-portal/data/org.freedesktop.portal.Usb.xml
vendored
Normal file
252
Telegram/ThirdParty/xdg-desktop-portal/data/org.freedesktop.portal.Usb.xml
vendored
Normal file
@@ -0,0 +1,252 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Copyright (C) 2020 Endless OS Foundation LLC
|
||||
2023-2024 GNOME Foundation Inc.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Author: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||
Ryan Gonzalez <rymg19+github@gmail.com>
|
||||
-->
|
||||
|
||||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
||||
<!--
|
||||
org.freedesktop.portal.Usb:
|
||||
@short_description: Portal for USB device access
|
||||
|
||||
This interface lets sandboxed applications monitor and request
|
||||
access to connected USB devices.
|
||||
|
||||
Applications should prefer specialized portals for specific
|
||||
device types, such as the Camera portal for cameras.
|
||||
|
||||
This documentation describes version 1 of this interface.
|
||||
-->
|
||||
<interface name="org.freedesktop.portal.Usb">
|
||||
|
||||
<!--
|
||||
CreateSession:
|
||||
@options: Vardict with optional further information
|
||||
@session_handle: Object path for the session.
|
||||
|
||||
Creates an USB monitoring session. This is only necessary to
|
||||
receive device events, like device being plugged or unplugged.
|
||||
|
||||
Supported keys in the @options vardict include:
|
||||
|
||||
* ``session_handle_token`` (``s``)
|
||||
|
||||
A string that will be used as the last element of the session handle. Must be a valid
|
||||
object path element. See the :ref:`org.freedesktop.portal.Session` documentation for
|
||||
more information about the session handle.
|
||||
-->
|
||||
<method name="CreateSession">
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
<arg type="o" name="session_handle" direction="out"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
EnumerateDevices:
|
||||
@options: Vardict with optional further information. There is currently
|
||||
no option supported.
|
||||
|
||||
Enumerates all connected USB devices that this application has permission
|
||||
to see.
|
||||
|
||||
The following results are returned in the @device vardict:
|
||||
|
||||
* ``id`` (``s``)
|
||||
|
||||
Each element of the @devices array contains the device ID, and a
|
||||
device information vardict with the following keys:
|
||||
|
||||
* ``parent`` (``s``)
|
||||
|
||||
Device ID of the parent device.
|
||||
|
||||
* ``readable`` (``b``)
|
||||
|
||||
Whether the device can be opened for reading with
|
||||
org.freedesktop.portal.Usb.AcquireDevices(). If not present, then
|
||||
it should be assumed to be false.
|
||||
|
||||
* ``writable`` (``b``)
|
||||
|
||||
Whether the device can be opened for writing with
|
||||
org.freedesktop.portal.Usb.AcquireDevices(). If not present, then
|
||||
it should be assumed to be false.
|
||||
|
||||
* ``device-file`` (``s``)
|
||||
|
||||
A string path to the device node inside the /dev filesystem.
|
||||
|
||||
* ``properties`` (``a{sv}``)
|
||||
|
||||
A list of udev properties that this device has. These properties
|
||||
are not parsed in any way by the portal, it is up to apps to parse
|
||||
them.
|
||||
-->
|
||||
<method name="EnumerateDevices">
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList<QPair<QString,QVariantMap>>"/>
|
||||
<arg type="a(sa{sv})" name="devices" direction="out"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
AcquireDevices:
|
||||
@parent_window: Identifier for the application window, see :doc:`window-identifiers`
|
||||
@devices: Array of device identifiers and access options
|
||||
@options: Vardict with optional further information
|
||||
@handle: Object path for the :ref:`org.freedesktop.portal.Request` object representing this call
|
||||
|
||||
Request to acquires (i.e. open) the given device nodes. The
|
||||
process of acquiring is finished by calling
|
||||
`FinishAcquireDevices` after the request emitted a `Success`
|
||||
response.
|
||||
|
||||
Each element of the @devices array contains the device ID, and an
|
||||
access option vardict with the following keys:
|
||||
|
||||
* ``writable`` (``b``)
|
||||
|
||||
Whether the device will be opened in read-write or read-only mode.
|
||||
Default: False
|
||||
|
||||
Supported keys in the @options vardict include:
|
||||
|
||||
* ``handle_token`` (``s``)
|
||||
|
||||
A string that will be used as the last element of the @handle. Must be a valid
|
||||
object path element. See the :ref:`org.freedesktop.portal.Request` documentation
|
||||
for more information about the @handle.
|
||||
|
||||
The :ref:`org.freedesktop.portal.Request::Response` signal is emitted
|
||||
without any extra information.
|
||||
-->
|
||||
<method name="AcquireDevices">
|
||||
<arg type="s" name="parent_window" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QList<QPair<QString,QVariantMap>>"/>
|
||||
<arg type="a(sa{sv})" name="devices" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
<arg type="o" name="handle" direction="out"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
FinishAcquireDevices:
|
||||
@handle: The request object path for the acquisition to finish
|
||||
@options: Vardict with optional further information
|
||||
@results: Array of device ids, and the result of the access
|
||||
@finished: Whether all device results were reported
|
||||
|
||||
Retrieves the file descriptors of the devices requested during
|
||||
org.freedesktop.portal.Usb.AcquireDevices(). The file
|
||||
descriptors remain usable until the underlying device is
|
||||
removed, they are released with `ReleaseDevices`, the D-Bus
|
||||
connections is closed, or the portal revokes the file
|
||||
descriptor which can happen at any point. Devices which are
|
||||
not needed anymore should be passed to `ReleaseDevices`.
|
||||
|
||||
If not all devices could be send, @finished will be false and
|
||||
org.freedesktop.portal.Usb.FinishAcquireDevices must be called again
|
||||
until @finished is true, before calling
|
||||
org.freedesktop.portal.Usb.AcquireDevices again.
|
||||
|
||||
This method can only be called once for a given token, and only
|
||||
after calling org.freedesktop.portal.Usb.AcquireDevices().
|
||||
|
||||
Each element of the @results array contains the device ID, and
|
||||
a vardict with the following keys:
|
||||
|
||||
* ``success`` (``b``)
|
||||
|
||||
Whether the device access was successful or not.
|
||||
|
||||
* ``fd`` (``h``)
|
||||
|
||||
The file descriptor representing the device. The file
|
||||
descriptor is meant to be passed on to the USB library.
|
||||
|
||||
Only present if this was a successful device access.
|
||||
|
||||
* ``error`` (``s``)
|
||||
|
||||
Error message describing why accessing the device was not
|
||||
successful. Only present if this was an failed device access.
|
||||
|
||||
There are no supported keys in the @options vardict.
|
||||
-->
|
||||
<method name="FinishAcquireDevices">
|
||||
<arg type="o" name="handle" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList<QPair<QString,QVariantMap>>"/>
|
||||
<arg type="a(sa{sv})" name="results" direction="out"/>
|
||||
<arg type="b" name="finished" direction="out"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
ReleaseDevices:
|
||||
@devices: Array of device identifiers
|
||||
@options: Vardict with optional further information
|
||||
|
||||
Releases previously acquired devices. The file descriptors of
|
||||
thoses devices might become unusable as a result of this.
|
||||
|
||||
Each element of the @devices array contains the device ID of the device.
|
||||
|
||||
There are no supported keys in the @options vardict.
|
||||
-->
|
||||
<method name="ReleaseDevices">
|
||||
<arg type="as" name="devices" direction="in"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
|
||||
<arg type="a{sv}" name="options" direction="in"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
DeviceEvents:
|
||||
@session_handle: Object path for the :ref:`org.freedesktop.portal.Session` object
|
||||
@events: A list of events which occured.
|
||||
|
||||
The DeviceEvents signal is emitted when one or more USB devices have
|
||||
been added, changed, or removed. This signal is only emitted for active
|
||||
sessions created with org.freedesktop.portal.Usb.CreateSession().
|
||||
|
||||
Each element of the @events array is composed of the following fields:
|
||||
|
||||
* ``action`` (``s``)
|
||||
|
||||
Type of event that occurred. One of "add", "change", or "remove".
|
||||
|
||||
* ``id`` (``s``)
|
||||
|
||||
Device ID that the event occurred on.
|
||||
|
||||
* ``device`` (``a{sv}``)
|
||||
|
||||
Device properties attached to the ID. See
|
||||
org.freedesktop.portal.Usb.EnumerateDevices() for a list of all
|
||||
the properties that may be present in the vardict.
|
||||
-->
|
||||
<signal name="DeviceEvents">
|
||||
<arg type="o" name="session_handle" direction="out"/>
|
||||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QList<std::tuple<QString,QString,QVariantMap>>"/>
|
||||
<arg type="a(ssa{sv})" name="events" direction="out"/>
|
||||
</signal>
|
||||
|
||||
<property name="version" type="u" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
Reference in New Issue
Block a user