22 #ifndef FREERDP_CHANNEL_DRDYNVC_CLIENT_MAIN_H
23 #define FREERDP_CHANNEL_DRDYNVC_CLIENT_MAIN_H
25 #include <winpr/wlog.h>
26 #include <winpr/synch.h>
27 #include <freerdp/settings.h>
28 #include <winpr/collections.h>
30 #include <freerdp/api.h>
31 #include <freerdp/svc.h>
32 #include <freerdp/dvc.h>
33 #include <freerdp/addin.h>
34 #include <freerdp/channels/log.h>
35 #include <freerdp/client/drdynvc.h>
36 #include <freerdp/freerdp.h>
42 IWTSVirtualChannelManager iface;
44 drdynvcPlugin* drdynvc;
46 wArrayList* plugin_names;
49 wHashTable* listeners;
50 wHashTable* channelsById;
61 IWTSListenerCallback* listener_callback;
66 IDRDYNVC_ENTRY_POINTS iface;
82 IWTSVirtualChannel iface;
84 volatile LONG refCounter;
85 DVC_CHANNEL_STATE state;
90 IWTSVirtualChannelCallback* channel_callback;
93 UINT32 dvc_data_length;
99 DRDYNVC_STATE_INITIAL,
100 DRDYNVC_STATE_CAPABILITIES,
102 DRDYNVC_STATE_OPENING_CHANNEL,
103 DRDYNVC_STATE_SEND_RECEIVE,
118 wMessageQueue* queue;
121 DrdynvcClientContext* context;
128 rdpContext* rdpcontext;
130 IWTSVirtualChannelManager* channel_mgr;