40 #include <freerdp/freerdp.h> 41 #include <freerdp/version.h> 42 #include <freerdp/channels/channels.h> 43 #include <freerdp/codec/color.h> 44 #include <freerdp/codec/rfx.h> 45 #include <freerdp/gdi/gdi.h> 46 #include <freerdp/gdi/dc.h> 47 #include <freerdp/gdi/region.h> 48 #include <freerdp/client/cliprdr.h> 49 #include <freerdp/client/disp.h> 50 #ifdef GDK_WINDOWING_X11 52 #elif defined(GDK_WINDOWING_WAYLAND) 53 #include <gdk/gdkwayland.h> 56 #include <winpr/clipboard.h> 69 #define FREERDP_CHECK_VERSION(major,minor,revision) \ 70 (FREERDP_VERSION_MAJOR > (major) || \ 71 (FREERDP_VERSION_MAJOR == (major) && FREERDP_VERSION_MINOR > (minor)) || \ 72 (FREERDP_VERSION_MAJOR == (major) && FREERDP_VERSION_MINOR == (minor) && \ 73 FREERDP_VERSION_REVISION >= (revision))) 81 #define AVC_MIN_DESKTOP_WIDTH 644 82 #define AVC_MIN_DESKTOP_HEIGHT 480 86 #define GET_PLUGIN_DATA(gp) (rfContext *)g_object_get_data(G_OBJECT(gp), "plugin-data") 102 #define DEFAULT_QUALITY_0 0x6f 104 #define DEFAULT_QUALITY_1 0x07 106 #define DEFAULT_QUALITY_2 0x01 108 #define DEFAULT_QUALITY_9 0x80 112 #define REMMINA_PLUGIN_INFO(fmt, ...) \ 113 remmina_plugin_service->_remmina_info(__func__, fmt, ##__VA_ARGS__) 115 #define REMMINA_PLUGIN_MESSAGE(fmt, ...) \ 116 remmina_plugin_service->_remmina_message(__func, fmt, ##__VA_ARGS__) 118 #define REMMINA_PLUGIN_DEBUG(fmt, ...) \ 119 remmina_plugin_service->_remmina_debug(__func__, fmt, ##__VA_ARGS__) 121 #define REMMINA_PLUGIN_WARNING(fmt, ...) \ 122 remmina_plugin_service->_remmina_warning(__func__, fmt, ##__VA_ARGS__) 125 #define REMMINA_PLUGIN_ERROR(fmt, ...) \ 126 remmina_plugin_service->_remmina_error(__func__, fmt, ##__VA_ARGS__) 128 #define REMMINA_PLUGIN_CRITICAL(fmt, ...) \ 129 remmina_plugin_service->_remmina_critical(__func__, fmt, ##__VA_ARGS__) 130 #define REMMINA_PLUGIN_AUDIT(fmt, ...) \ 131 remmina_plugin_service->_remmina_audit(__func__, fmt, ##__VA_ARGS__) 208 } clipboard_formatlist;
212 } clipboard_formatdataresponse;
215 } clipboard_formatdatarequest;
322 DEFINE_RDP_CLIENT_COMMON();
338 RDP_PLUGIN_DATA rdpdr_data[5];
339 RDP_PLUGIN_DATA drdynvc_data[5];
340 gchar rdpsnd_options[20];
393 enum { REMMINA_POSTCONNECT_ERROR_OK = 0, REMMINA_POSTCONNECT_ERROR_GDI_INIT = 1, REMMINA_POSTCONNECT_ERROR_NO_H264 } postconnect_error;
void remmina_rdp_event_event_push(RemminaProtocolWidget *gp, const RemminaPluginRdpEvent *e)
CliprdrClientContext * context
gboolean thread_cancelled
RemminaPluginRdpUiClipboardType type
guint delayed_monitor_layout_handler
RemminaPluginRdpUiEeventType
CLIPRDR_FORMAT_LIST * pFormatList
gboolean attempt_interactive_authentication
cairo_surface_t * surface
pthread_t remmina_plugin_thread
RemminaPluginService * remmina_plugin_service
pthread_mutex_t transfer_clip_mutex
pthread_mutex_t srv_data_mutex
void rf_object_free(RemminaProtocolWidget *gp, RemminaPluginRdpUiObject *obj)
RemminaPluginRdpEventType
pthread_mutex_t sync_wait_mutex
RemminaProtocolWidget * protocol_widget
void rf_init(RemminaProtocolWidget *gp)
GtkTargetList * targetlist
BOOL rf_check_fds(RemminaProtocolWidget *gp)
int reconnect_maxattempts
RemminaPluginRdpEventType type
RemminaPluginRdpUiPointerType type
pthread_cond_t transfer_clip_cond
unsigned translated_keycode
cairo_format_t cairo_format
RemminaPluginRdpUiClipboardType
gboolean use_client_keymap
RemminaPluginRdpUiPointerType
void rf_uninit(RemminaProtocolWidget *gp)
struct remmina_plugin_rdp_keymap_entry RemminaPluginRdpKeymapEntry
gboolean stop_reconnecting_requested
void rf_get_fds(RemminaProtocolWidget *gp, void **rfds, int *rcount)
GAsyncQueue * event_queue
pthread_cond_t sync_wait_cond
GHashTable * object_table
CLIPRDR_FORMAT_DATA_REQUEST * pFormatDataRequest
DispClientContext * dispcontext
RemminaPluginRdpUiEeventType type
UINT32 server_html_format_id
struct timeval clientformatdatarequest_tv
pthread_mutex_t ui_queue_mutex
cairo_surface_t * surface
enum rf_clipboard::@41 srv_clip_data_wait
RemminaPluginRdpUiType type
CliprdrClientContext * cliprdr