FreeRDP
server/encomsp.h
1 
22 #ifndef FREERDP_CHANNEL_ENCOMSP_SERVER_ENCOMSP_H
23 #define FREERDP_CHANNEL_ENCOMSP_SERVER_ENCOMSP_H
24 
25 #include <freerdp/api.h>
26 #include <freerdp/types.h>
27 #include <freerdp/channels/wtsvc.h>
28 
29 #include <freerdp/channels/encomsp.h>
30 
31 #ifdef __cplusplus
32 extern "C"
33 {
34 #endif
35 
40  typedef struct s_encomsp_server_context EncomspServerContext;
41  typedef struct s_encomsp_server_private EncomspServerPrivate;
42 
43  typedef UINT (*psEncomspStart)(EncomspServerContext* context);
44  typedef UINT (*psEncomspStop)(EncomspServerContext* context);
45 
46  typedef UINT (*psEncomspFilterUpdated)(EncomspServerContext* context,
47  ENCOMSP_FILTER_UPDATED_PDU* filterUpdated);
48  typedef UINT (*psEncomspApplicationCreated)(
49  EncomspServerContext* context, ENCOMSP_APPLICATION_CREATED_PDU* applicationCreated);
50  typedef UINT (*psEncomspApplicationRemoved)(
51  EncomspServerContext* context, ENCOMSP_APPLICATION_REMOVED_PDU* applicationRemoved);
52  typedef UINT (*psEncomspWindowCreated)(EncomspServerContext* context,
53  ENCOMSP_WINDOW_CREATED_PDU* windowCreated);
54  typedef UINT (*psEncomspWindowRemoved)(EncomspServerContext* context,
55  ENCOMSP_WINDOW_REMOVED_PDU* windowRemoved);
56  typedef UINT (*psEncomspShowWindow)(EncomspServerContext* context,
57  ENCOMSP_SHOW_WINDOW_PDU* showWindow);
58  typedef UINT (*psEncomspParticipantCreated)(
59  EncomspServerContext* context, ENCOMSP_PARTICIPANT_CREATED_PDU* participantCreated);
60  typedef UINT (*psEncomspParticipantRemoved)(
61  EncomspServerContext* context, ENCOMSP_PARTICIPANT_REMOVED_PDU* participantRemoved);
62  typedef UINT (*psEncomspChangeParticipantControlLevel)(
63  EncomspServerContext* context,
64  ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU* changeParticipantControlLevel);
65  typedef UINT (*psEncomspGraphicsStreamPaused)(
66  EncomspServerContext* context, ENCOMSP_GRAPHICS_STREAM_PAUSED_PDU* graphicsStreamPaused);
67  typedef UINT (*psEncomspGraphicsStreamResumed)(
68  EncomspServerContext* context, ENCOMSP_GRAPHICS_STREAM_RESUMED_PDU* graphicsStreamResumed);
69 
71  {
72  HANDLE vcm;
73  void* custom;
74 
75  psEncomspStart Start;
76  psEncomspStop Stop;
77 
78  psEncomspFilterUpdated FilterUpdated;
79  psEncomspApplicationCreated ApplicationCreated;
80  psEncomspApplicationRemoved ApplicationRemoved;
81  psEncomspWindowCreated WindowCreated;
82  psEncomspWindowRemoved WindowRemoved;
83  psEncomspShowWindow ShowWindow;
84  psEncomspParticipantCreated ParticipantCreated;
85  psEncomspParticipantRemoved ParticipantRemoved;
86  psEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
87  psEncomspGraphicsStreamPaused GraphicsStreamPaused;
88  psEncomspGraphicsStreamResumed GraphicsStreamResumed;
89 
90  EncomspServerPrivate* priv;
91 
92  rdpContext* rdpcontext;
93  };
94 
95  FREERDP_API void encomsp_server_context_free(EncomspServerContext* context);
96 
97  WINPR_ATTR_MALLOC(encomsp_server_context_free, 1)
98  FREERDP_API EncomspServerContext* encomsp_server_context_new(HANDLE vcm);
99 
100 #ifdef __cplusplus
101 }
102 #endif
103 
104 #endif /* FREERDP_CHANNEL_ENCOMSP_SERVER_ENCOMSP_H */