FreeRDP/include/freerdp/channels
ilammy 5fb89985f0 x11/cliprdr: handle text/uri-list format
To handle a new format we should first be able to transform the format
name from the local clipboard owner into its remote representation. In
our case this will be trasforming the "text/uri-list" target into the
"FileGroupDescriptorW" named format.

Add CB_FORMAT_TEXTURILIST to identify the local format by its ID during
the data conversion step. This numeric ID has nothing to do with the ID
which will be sent to server. It's a bit weird, but that's how XFreeRDP
works.

After that add a new client format with this ID and appropriate local
and remote format names (in atom and formatName fields respectively).
Do this only if wClipboard actually supports "text/uri-list" format.
(It could fail to initialize the local file subsystem, in which case
it will fail all file-related requests and there would be no point in
advertising the file format support in the first place.)

Finally, handle the actual format data request for a new named format
in xf_cliprdr_process_requested_data(). Remember to convert the
FILEDESCRIPTOR array we receive from wClipboard into the
CLIPRDR_FILELIST expected by the server. Also take care to not leak
memory during this conversion.

Note that this handles only the CLIPRDR_FORMAT_DATA_REQUEST. The server
is still not able to retrieve the file content as this is done via a
separate request-reply sequence.
2017-04-09 03:15:49 +03:00
..
audin.h channels: export audin and rdpsnd subsystem interface 2013-10-19 12:38:31 -04:00
channels.h channels: migrate drdynvc to extended virtual channel API 2016-11-15 10:58:38 -05:00
cliprdr.h x11/cliprdr: handle text/uri-list format 2017-04-09 03:15:49 +03:00
encomsp.h channels/encomsp: initial client-side implementation 2014-06-23 18:17:26 -04:00
log.h Removed obsolete headers and defines. 2014-09-15 08:55:00 +02:00
rail.h libfreerdp-rail: refactor and update RAIL code 2013-10-11 17:09:36 -04:00
rdpdr.h Reformatted file. 2016-10-06 13:43:14 +02:00
rdpei.h Add server-side RDPEI 2014-11-20 22:19:29 +01:00
rdpgfx.h Added reference to capability specifications 2016-10-20 09:59:54 +02:00
rdpsnd.h libfreerdp-codec: move audio format processing code to codec library 2013-03-07 14:43:21 -05:00
remdesk.h channels/remdesk: add PassStub generation 2014-07-15 20:09:19 -04:00
tsmf.h channels/tsmf: add new callback interface 2014-11-07 18:33:45 -05:00
wtsvc.h wtsvc: add missing DRDYNVC_STATE_FAILED 2016-10-06 13:43:15 +02:00