FreeRDP/include/freerdp
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
..
cache Reformatted file. 2016-10-06 13:43:14 +02:00
channels x11/cliprdr: handle text/uri-list format 2017-04-09 03:15:49 +03:00
client Merge pull request #3756 from bigpjo/master 2017-02-17 09:52:22 +01:00
codec rdpegfx: fix RemoteFX Progressive Codec decoding 2017-04-03 18:59:58 +02:00
crypto Support for OpenSSL 1.1.0 2016-11-24 17:50:09 +01:00
gdi Replaced _VF formats with copy flags. 2016-10-14 10:36:52 +02:00
locale Refactored timezone functions. 2016-02-24 09:28:30 +01:00
server Fixed shadow server color encoding. 2016-10-06 13:43:12 +02:00
utils Added missing API export. 2016-10-06 13:43:07 +02:00
addin.h channels: properly handle VirtualChannelEntryEx in static virtual channel loading 2016-11-16 09:52:24 -05:00
altsec.h Reformatted file. 2016-10-06 13:43:14 +02:00
api.h Fixed some X11 functions. 2016-10-06 13:43:10 +02:00
assistance.h Fixed freerdp_assistance_file_new argument declaration 2015-12-14 14:18:50 +01:00
autodetect.h Added client bandwidth measurement result callback. 2015-05-20 16:18:55 +02:00
build-config.h.in Fixed addin loader, prefer system library paths. 2016-11-24 15:28:41 +01:00
client.h Moved common code from cli clients to client lib. 2016-02-05 02:05:37 +01:00
codecs.h channels/rdpgfx: Make freerdp_client_codecs_prepare calls codec reset. It fix broken h264 client from #3328. Also it doesn't make sense that we don't need width and height for codec initialization while we need them for codec reset 2016-05-30 02:00:05 +08:00
constants.h Added wayland OS minor version. 2016-10-06 13:43:06 +02:00
dvc.h Added attach/detach support for channels. 2016-12-19 17:07:01 +01:00
error.h Added additional connect errors. 2017-02-22 09:50:59 +01:00
event.h Added attach/detach support for channels. 2016-12-19 17:07:01 +01:00
extension.h libfreerdp: header cleanup 2012-12-14 00:25:48 -05:00
freerdp.h String representation of logon_error_info 2017-03-02 18:09:51 +01:00
graphics.h Fixed some more glyph chache bugs. 2016-10-06 13:43:11 +02:00
input.h Implemented horizontal wheel support. 2015-12-14 18:29:23 +01:00
listener.h Add the ability to have listener from an existing socket 2015-05-08 10:00:38 +02:00
log.h Added headers for converting logging in libfreerdp, channels, clients and servers. 2014-09-09 16:33:05 +02:00
message.h libfreerdp-core: fix async input mode for FocusInEvent, KeyboardPauseEvent 2014-12-15 11:35:35 -05:00
metrics.h Fixed missing extern C 2014-12-01 13:12:51 +01:00
peer.h Add a ClientCapabilities callback 2017-02-21 23:44:47 +01:00
pointer.h Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
primary.h Fixed part of font cache issue. 2016-10-06 13:43:03 +02:00
primitives.h primitives: added RGB to AVC444YUV converter 2017-02-16 17:03:40 +01:00
rail.h Add checks for some XXX_New and XXX_Add functions 2015-05-18 11:28:00 +02:00
scancode.h add additional evdev key mappings for multimedia and Korean keyboards 2014-01-14 15:18:20 -07:00
secondary.h Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
session.h Fixed indentation 2016-02-25 15:03:14 +01:00
settings.h String representation of logon_error_info 2017-03-02 18:09:51 +01:00
svc.h channels: start working on extended virtual channel API 2016-11-14 16:44:45 -05:00
types.h libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00
update.h Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
version.h.in updated file headers 2013-12-04 11:44:22 +01:00
window.h Remote app support 2015-10-15 18:18:21 -05:00