FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
server/rdpei.h
1
23#ifndef FREERDP_CHANNEL_RDPEI_SERVER_H
24#define FREERDP_CHANNEL_RDPEI_SERVER_H
25
26#include <freerdp/channels/wtsvc.h>
27#include <freerdp/channels/rdpei.h>
28
29#ifdef __cplusplus
30extern "C"
31{
32#endif
33
34 typedef struct s_rdpei_server_context RdpeiServerContext;
35 typedef struct s_rdpei_server_private RdpeiServerPrivate;
36
37 typedef UINT (*psRdpeiServerOpen)(RdpeiServerContext* context);
38 typedef UINT (*psRdpeiServerClose)(RdpeiServerContext* context);
39
41 {
42 HANDLE vcm;
43
44 RdpeiServerPrivate* priv;
45
46 UINT32 clientVersion;
47 UINT16 maxTouchPoints;
48 UINT32 protocolFlags;
49
51 UINT (*onClientReady)(RdpeiServerContext* context);
52 UINT (*onTouchEvent)(RdpeiServerContext* context, const RDPINPUT_TOUCH_EVENT* touchEvent);
53 UINT (*onPenEvent)(RdpeiServerContext* context, const RDPINPUT_PEN_EVENT* penEvent);
54 UINT (*onTouchReleased)(RdpeiServerContext* context, BYTE contactId);
55
56 void* user_data; /* user data, useful for callbacks */
57
61 BOOL (*onChannelIdAssigned)(RdpeiServerContext* context, UINT32 channelId);
62
63 /*** APIs called by the server. ***/
64
69 psRdpeiServerOpen Open;
70
75 psRdpeiServerClose Close;
76 };
77
78 FREERDP_API void rdpei_server_context_free(RdpeiServerContext* context);
79
80 WINPR_ATTR_MALLOC(rdpei_server_context_free, 1)
81 FREERDP_API RdpeiServerContext* rdpei_server_context_new(HANDLE vcm);
82
83 FREERDP_API void rdpei_server_context_reset(RdpeiServerContext* context);
84
85 FREERDP_API HANDLE rdpei_server_get_event_handle(RdpeiServerContext* context);
86 FREERDP_API UINT rdpei_server_init(RdpeiServerContext* context);
87 FREERDP_API UINT rdpei_server_handle_messages(RdpeiServerContext* context);
88
89 FREERDP_API UINT rdpei_server_send_sc_ready(RdpeiServerContext* context, UINT32 version,
90 UINT32 features);
91 FREERDP_API UINT rdpei_server_suspend(RdpeiServerContext* context);
92 FREERDP_API UINT rdpei_server_resume(RdpeiServerContext* context);
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif /* FREERDP_CHANNEL_RDPEI_SERVER_H */
a touch event with some frames
a touch event with some frames
psRdpeiServerClose Close
BOOL(* onChannelIdAssigned)(RdpeiServerContext *context, UINT32 channelId)
UINT(* onClientReady)(RdpeiServerContext *context)
psRdpeiServerOpen Open