From cc3f33db7a8d3c4ad373e646b199808e01bc5d9b Mon Sep 17 00:00:00 2001 From: sss Date: Tue, 17 Jan 2023 00:38:19 +0300 Subject: added webrdp public code --- src/rdp/rdp_clipboard.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/rdp/rdp_clipboard.h (limited to 'src/rdp/rdp_clipboard.h') diff --git a/src/rdp/rdp_clipboard.h b/src/rdp/rdp_clipboard.h new file mode 100644 index 0000000..1536a2c --- /dev/null +++ b/src/rdp/rdp_clipboard.h @@ -0,0 +1,52 @@ +/* BSD-2-Clause license + * + * Copyright (c) 2018-2023 NST , sss . + * + */ + +#pragma once + +#include +#include +#include + +#include "webrdp_core_api.h" +#include "webrdp_module_api.h" +#include "rdp_backend_api.h" +#include "rdp_impl.h" + +typedef struct +{ + CLIPRDR_FORMAT rdp_fmt; + wrdp_enum_clip_format my_fmt; +} my_clip_format; + +typedef struct +{ + uint32_t file_id; + uint64_t file_size; +} file_list_cache_entry; + +struct my_rdp_clipboard_s +{ + wClipboard *clipboard; + CliprdrClientContext *clip_context; + my_rdp_context *my_rdp_context; + wClipboardDelegate *delegate; + bool streams_supported; + uint8_t *data_raw; + /* we need to cache server side format list to know dynamic format id */ + my_clip_format *srv_fmts, cli_req_fmt_id, srv_req_fmt_id; + uint8_t srv_fmts_count; + file_list_cache_entry *client_filelist_cache; + + rdp_internals *my_internals; +}; + +my_rdp_clipboard *rdp_clipboard_new(my_rdp_context *context); + +void rdp_cliprdr_init(my_rdp_context *ctx, CliprdrClientContext *cliprdr); + +void rdp_cliprdr_uninit(my_rdp_context *ctx, CliprdrClientContext *cliprdr); + +void register_clipboard(wrdp_backend_module *backend); -- cgit v1.2.3