remote-desktop/session: Add support for SelectionTransfer/Write

When a transfer request is done to the MetaSelectionSourceRemote source,
it's translated to a SelectionTransfer signal, which the remote desktop
server is supposed to respond to with SelectionWrite.

A timeout (set to 15 seconds) is added to handle too long timeouts,
which cancels the transfer request.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1552>
This commit is contained in:
Jonas Ådahl
2020-11-04 16:09:42 +01:00
committed by Marge Bot
parent d7c8535ac6
commit 5104a9b2ce
5 changed files with 340 additions and 23 deletions

View File

@ -30,6 +30,13 @@ G_DECLARE_FINAL_TYPE (MetaSelectionSourceRemote,
META, SELECTION_SOURCE_REMOTE,
MetaSelectionSource)
void meta_selection_source_remote_complete_transfer (MetaSelectionSourceRemote *source_remote,
int fd,
GTask *task);
void meta_selection_source_remote_cancel_transfer (MetaSelectionSourceRemote *source_remote,
GTask *task);
MetaSelectionSourceRemote * meta_selection_source_remote_new (MetaRemoteDesktopSession *session,
GList *mime_types);