-
-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
first pass on implementing an interface to add Clipboard controls to RemoteDesktop sessions
- Loading branch information
Showing
19 changed files
with
1,535 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
<?xml version="1.0"?> | ||
<!-- | ||
Copyright 2022 Google LLC | ||
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/>. | ||
--> | ||
|
||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> | ||
<!-- | ||
org.freedesktop.impl.portal.Clipboard | ||
--> | ||
<interface name="org.freedesktop.impl.portal.Clipboard"> | ||
<!-- | ||
EnableClipboard: | ||
@handle: Object path for the #org.freedesktop.impl.portal.Request object representing this call | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@app_id: App id of the application | ||
@options: Vardict with optional further information | ||
@response: Numeric response | ||
@results: Vardict with the results of the call | ||
--> | ||
<method name="EnableClipboard"> | ||
<arg type="o" name="handle" direction="in"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="app_id" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="u" name="response" direction="out"/> | ||
<arg type="a{sv}" name="results" direction="out"/> | ||
</method> | ||
<!-- | ||
SetSelection: | ||
@handle: Object path for the #org.freedesktop.impl.portal.Request object representing this call | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@app_id: App id of the application | ||
@options: Vardict with optional further information | ||
@response: Numeric response | ||
@results: Vardict with the results of the call | ||
--> | ||
<method name="SetSelection"> | ||
<arg type="o" name="handle" direction="in"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="app_id" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="u" name="response" direction="out"/> | ||
<arg type="a{sv}" name="results" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionWrite: | ||
@handle: Object path for the #org.freedesktop.impl.portal.Request object representing this call | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@app_id: App id of the application | ||
@serial: The serial of the request where this answer is directed to | ||
@options: Vardict with optional further information | ||
@response: Numeric response | ||
@results: Vardict with the results of the call | ||
--> | ||
<method name="SelectionWrite"> | ||
<annotation name="org.gtk.GDBus.C.Name" value="selection_write"/> | ||
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/> | ||
<arg type="o" name="handle" direction="in"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="app_id" direction="in"/> | ||
<arg type="u" name="serial" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="u" name="response" direction="out"/> | ||
<arg type="a{sv}" name="results" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionWriteDone: | ||
@handle: Object path for the #org.freedesktop.impl.portal.Request object representing this call | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@app_id: App id of the application | ||
@serial: The serial of the request where this answer is directed to | ||
@success: A boolean which indicates whether the transfer of the clipboard | ||
data was successful ('true') or not ('false'). | ||
@options: Vardict with optional further information | ||
@response: Numeric response | ||
@results: Vardict with the results of the call | ||
--> | ||
<method name="SelectionWriteDone"> | ||
<arg type="o" name="handle" direction="in"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="app_id" direction="in"/> | ||
<arg type="u" name="serial" direction="in"/> | ||
<arg type="b" name="success" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="u" name="response" direction="out"/> | ||
<arg type="a{sv}" name="results" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionRead: | ||
@handle: Object path for the #org.freedesktop.impl.portal.Request object representing this call | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@app_id: App id of the application | ||
@mime_type: The mime-type string of the requested format | ||
@options: Vardict with optional further information | ||
@response: Numeric response | ||
@results: Vardict with the results of the call | ||
--> | ||
<method name="SelectionRead"> | ||
<annotation name="org.gtk.GDBus.C.Name" value="selection_read"/> | ||
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/> | ||
<arg type="o" name="handle" direction="in"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="app_id" direction="in"/> | ||
<arg type="s" name="mime_type" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="u" name="response" direction="out"/> | ||
<annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMap"/> | ||
<arg type="a{sv}" name="results" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionOwnerChanged: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@options: Vardict with optional further information | ||
--> | ||
<signal name="SelectionOwnerChanged"> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="a{sv}" name="options"/> | ||
</signal> | ||
<!-- | ||
SelectionTransfer: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@mime_type: The mime-type string of the requested format | ||
@serial: The serial, that the answer of this particular request, MUST use | ||
--> | ||
<signal name="SelectionTransfer"> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="mime_type"/> | ||
<arg type="u" name="serial"/> | ||
</signal> | ||
|
||
<property name="version" type="u" access="read"/> | ||
</interface> | ||
</node> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
<?xml version="1.0"?> | ||
<!-- | ||
Copyright 2022 Google LLC | ||
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/>. | ||
--> | ||
|
||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> | ||
<!-- | ||
org.freedesktop.portal.Clipboard | ||
--> | ||
<interface name="org.freedesktop.portal.Clipboard"> | ||
<!-- | ||
EnableClipboard: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@options: Options for the clipboard | ||
@handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||
--> | ||
<method name="EnableClipboard"> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="o" name="handle" direction="out"/> | ||
</method> | ||
<!-- | ||
SetSelection: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@options: Vardict with optional further information | ||
@handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||
--> | ||
<method name="SetSelection"> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="o" name="handle" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionWrite: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@serial: The serial of the request where this answer is directed to | ||
@options: Vardict with optional further information | ||
@handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||
The following results get returned via the #org.freedesktop.portal.Request::Response signal: | ||
<variablelist> | ||
<varlistentry> | ||
<term>fd h</term> | ||
<listitem><para> | ||
The file descriptor. A UnixFD handle to the contents of the selection being written. | ||
</para></listitem> | ||
</varlistentry> | ||
</variablelist> | ||
--> | ||
<method name="SelectionWrite"> | ||
<annotation name="org.gtk.GDBus.C.Name" value="selection_write"/> | ||
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="u" name="serial" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="o" name="handle" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionWriteDone: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@serial: The serial of the request where this answer is directed to | ||
@success: A boolean which indicates whether the transfer of the clipboard | ||
data was successful ('true') or not ('false'). | ||
@options: Vardict with optional further information | ||
@handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||
--> | ||
<method name="SelectionWriteDone"> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="u" name="serial" direction="in"/> | ||
<arg type="b" name="success" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="o" name="handle" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionRead: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@mime_type: The mime-type string of the requested format | ||
@options: Vardict with optional further information | ||
@handle: Object path for the #org.freedesktop.portal.Request object representing this call | ||
The following results get returned via the #org.freedesktop.portal.Request::Response signal: | ||
<variablelist> | ||
<varlistentry> | ||
<term>fd h</term> | ||
<listitem><para> | ||
The file descriptor. A UnixFD handle to the contents of the selection being read. | ||
</para></listitem> | ||
</varlistentry> | ||
</variablelist> | ||
--> | ||
<method name="SelectionRead"> | ||
<annotation name="org.gtk.GDBus.C.Name" value="selection_read"/> | ||
<annotation name="org.gtk.GDBus.C.UnixFD" value="true"/> | ||
<arg type="o" name="session_handle" direction="in"/> | ||
<arg type="s" name="mime_type" direction="in"/> | ||
<arg type="a{sv}" name="options" direction="in"/> | ||
<arg type="o" name="handle" direction="out"/> | ||
</method> | ||
<!-- | ||
SelectionOwnerChanged: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@options: Vardict with optional further information | ||
--> | ||
<signal name="SelectionOwnerChanged"> | ||
<arg type="o" name="session_handle" direction="out"/> | ||
<arg type="a{sv}" name="options" direction="out"/> | ||
</signal> | ||
<!-- | ||
SelectionTransfer: | ||
@session_handle: Object path for the #org.freedesktop.portal.Session object | ||
@mime_type: The mime-type string of the requested format | ||
@serial: The serial, that the answer of this particular request, MUST use | ||
--> | ||
<signal name="SelectionTransfer"> | ||
<arg type="o" name="session_handle" direction="out"/> | ||
<arg type="s" name="mime_type" direction="out"/> | ||
<arg type="u" name="serial" direction="out"/> | ||
</signal> | ||
|
||
<property name="version" type="u" access="read"/> | ||
</interface> | ||
</node> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.