FreeRDP
Loading...
Searching...
No Matches
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 WINPR_ATTR_NODISCARD UINT (*onClientReady)(RdpeiServerContext* context);
52 WINPR_ATTR_NODISCARD UINT (*onTouchEvent)(RdpeiServerContext* context,
53 const RDPINPUT_TOUCH_EVENT* touchEvent);
54 WINPR_ATTR_NODISCARD UINT (*onPenEvent)(RdpeiServerContext* context,
55 const RDPINPUT_PEN_EVENT* penEvent);
56 WINPR_ATTR_NODISCARD UINT (*onTouchReleased)(RdpeiServerContext* context, BYTE contactId);
57
58 void* user_data; /* user data, useful for callbacks */
59
63 WINPR_ATTR_NODISCARD BOOL (*onChannelIdAssigned)(RdpeiServerContext* context,
64 UINT32 channelId);
65
66 /*** APIs called by the server. ***/
67
72 WINPR_ATTR_NODISCARD psRdpeiServerOpen Open;
73
78 WINPR_ATTR_NODISCARD psRdpeiServerClose Close;
79 };
80
81 FREERDP_API void rdpei_server_context_free(RdpeiServerContext* context);
82
83 WINPR_ATTR_MALLOC(rdpei_server_context_free, 1)
84 WINPR_ATTR_NODISCARD
85 FREERDP_API RdpeiServerContext* rdpei_server_context_new(HANDLE vcm);
86
87 FREERDP_API void rdpei_server_context_reset(RdpeiServerContext* context);
88
89 WINPR_ATTR_NODISCARD
90 FREERDP_API HANDLE rdpei_server_get_event_handle(RdpeiServerContext* context);
91
92 WINPR_ATTR_NODISCARD
93 FREERDP_API UINT rdpei_server_init(RdpeiServerContext* context);
94
95 WINPR_ATTR_NODISCARD
96 FREERDP_API UINT rdpei_server_handle_messages(RdpeiServerContext* context);
97
98 WINPR_ATTR_NODISCARD
99 FREERDP_API UINT rdpei_server_send_sc_ready(RdpeiServerContext* context, UINT32 version,
100 UINT32 features);
101
102 WINPR_ATTR_NODISCARD
103 FREERDP_API UINT rdpei_server_suspend(RdpeiServerContext* context);
104
105 WINPR_ATTR_NODISCARD
106 FREERDP_API UINT rdpei_server_resume(RdpeiServerContext* context);
107
108#ifdef __cplusplus
109}
110#endif
111
112#endif /* FREERDP_CHANNEL_RDPEI_SERVER_H */
a touch event with some frames
a touch event with some frames
WINPR_ATTR_NODISCARD psRdpeiServerOpen Open
WINPR_ATTR_NODISCARD BOOL(* onChannelIdAssigned)(RdpeiServerContext *context, UINT32 channelId)
WINPR_ATTR_NODISCARD psRdpeiServerClose Close
WINPR_ATTR_NODISCARD UINT(* onClientReady)(RdpeiServerContext *context)