FreeRDP
Loading...
Searching...
No Matches
client/drdynvc_main.h
1
22
#ifndef FREERDP_CHANNEL_DRDYNVC_CLIENT_MAIN_H
23
#define FREERDP_CHANNEL_DRDYNVC_CLIENT_MAIN_H
24
25
#include <winpr/wlog.h>
26
#include <winpr/synch.h>
27
#include <freerdp/settings.h>
28
#include <winpr/collections.h>
29
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/codec/zgfx.h>
37
#include <freerdp/freerdp.h>
38
39
typedef
struct
drdynvc_plugin
drdynvcPlugin;
40
41
typedef
struct
42
{
43
IWTSVirtualChannelManager iface;
44
45
drdynvcPlugin* drdynvc;
46
47
wArrayList* plugin_names;
48
wArrayList* plugins;
49
50
wHashTable* listeners;
51
wHashTable* channelsById;
52
wStreamPool* pool;
53
}
DVCMAN
;
54
55
typedef
struct
56
{
57
IWTSListener iface;
58
59
DVCMAN
* dvcman;
60
char
* channel_name;
61
UINT32 flags;
62
IWTSListenerCallback* listener_callback;
63
}
DVCMAN_LISTENER
;
64
65
typedef
struct
66
{
67
IDRDYNVC_ENTRY_POINTS iface;
68
69
DVCMAN
* dvcman;
70
const
ADDIN_ARGV
* args;
71
rdpContext* context;
72
}
DVCMAN_ENTRY_POINTS
;
73
74
typedef
enum
75
{
76
DVC_CHANNEL_INIT,
77
DVC_CHANNEL_RUNNING,
78
DVC_CHANNEL_CLOSED
79
} DVC_CHANNEL_STATE;
80
81
typedef
struct
82
{
83
IWTSVirtualChannel iface;
84
85
volatile
LONG refCounter;
86
DVC_CHANNEL_STATE state;
87
DVCMAN
* dvcman;
88
void
* pInterface;
89
UINT32 channel_id;
90
char
* channel_name;
91
IWTSVirtualChannelCallback* channel_callback;
92
93
wStream
* dvc_data;
94
UINT32 dvc_data_length;
95
ZGFX_CONTEXT* decompressor;
96
CRITICAL_SECTION
lock;
97
}
DVCMAN_CHANNEL
;
98
99
typedef
enum
100
{
101
DRDYNVC_STATE_INITIAL,
102
DRDYNVC_STATE_CAPABILITIES,
103
DRDYNVC_STATE_READY,
104
DRDYNVC_STATE_OPENING_CHANNEL,
105
DRDYNVC_STATE_SEND_RECEIVE,
106
DRDYNVC_STATE_FINAL
107
} DRDYNVC_STATE;
108
109
struct
drdynvc_plugin
110
{
111
CHANNEL_DEF
channelDef;
112
CHANNEL_ENTRY_POINTS_FREERDP_EX
channelEntryPoints;
113
114
wLog* log;
115
HANDLE thread;
116
BOOL async;
117
wStream
* data_in;
118
void
* InitHandle;
119
DWORD OpenHandle;
120
wMessageQueue* queue;
121
122
DRDYNVC_STATE state;
123
DrdynvcClientContext* context;
124
125
UINT16 version;
126
int
PriorityCharge0;
127
int
PriorityCharge1;
128
int
PriorityCharge2;
129
int
PriorityCharge3;
130
rdpContext* rdpcontext;
131
132
IWTSVirtualChannelManager* channel_mgr;
133
};
134
135
#endif
/* FREERDP_CHANNEL_DRDYNVC_CLIENT_MAIN_H */
ADDIN_ARGV
Definition
settings_types.h:367
CHANNEL_DEF
Definition
wtsapi.h:78
CHANNEL_ENTRY_POINTS_FREERDP_EX
Definition
svc.h:60
DVCMAN_CHANNEL
Definition
client/drdynvc_main.h:82
DVCMAN_ENTRY_POINTS
Definition
client/drdynvc_main.h:66
DVCMAN_LISTENER
Definition
client/drdynvc_main.h:56
DVCMAN
Definition
client/drdynvc_main.h:42
RTL_CRITICAL_SECTION
Definition
include/winpr/synch.h:158
drdynvc_plugin
Definition
client/drdynvc_main.h:110
wStream
Definition
include/winpr/stream.h:42
channels
drdynvc
client
drdynvc_main.h
Generated by
1.9.8