cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

encomsp.h (4065B)


      1/**
      2 * FreeRDP: A Remote Desktop Protocol Implementation
      3 * Multiparty Virtual Channel
      4 *
      5 * Copyright 2014 Marc-Andre Moreau <marcandre.moreau@gmail.com>
      6 * Copyright 2015 Thincast Technologies GmbH
      7 * Copyright 2015 DI (FH) Martin Haimberger <martin.haimberger@thincast.com>
      8 *
      9 * Licensed under the Apache License, Version 2.0 (the "License");
     10 * you may not use this file except in compliance with the License.
     11 * You may obtain a copy of the License at
     12 *
     13 *     http://www.apache.org/licenses/LICENSE-2.0
     14 *
     15 * Unless required by applicable law or agreed to in writing, software
     16 * distributed under the License is distributed on an "AS IS" BASIS,
     17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     18 * See the License for the specific language governing permissions and
     19 * limitations under the License.
     20 */
     21
     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/**
     32 * Server Interface
     33 */
     34
     35typedef struct _encomsp_server_context EncomspServerContext;
     36typedef struct _encomsp_server_private EncomspServerPrivate;
     37
     38typedef UINT (*psEncomspStart)(EncomspServerContext* context);
     39typedef UINT (*psEncomspStop)(EncomspServerContext* context);
     40
     41typedef UINT (*psEncomspFilterUpdated)(EncomspServerContext* context,
     42                                       ENCOMSP_FILTER_UPDATED_PDU* filterUpdated);
     43typedef UINT (*psEncomspApplicationCreated)(EncomspServerContext* context,
     44                                            ENCOMSP_APPLICATION_CREATED_PDU* applicationCreated);
     45typedef UINT (*psEncomspApplicationRemoved)(EncomspServerContext* context,
     46                                            ENCOMSP_APPLICATION_REMOVED_PDU* applicationRemoved);
     47typedef UINT (*psEncomspWindowCreated)(EncomspServerContext* context,
     48                                       ENCOMSP_WINDOW_CREATED_PDU* windowCreated);
     49typedef UINT (*psEncomspWindowRemoved)(EncomspServerContext* context,
     50                                       ENCOMSP_WINDOW_REMOVED_PDU* windowRemoved);
     51typedef UINT (*psEncomspShowWindow)(EncomspServerContext* context,
     52                                    ENCOMSP_SHOW_WINDOW_PDU* showWindow);
     53typedef UINT (*psEncomspParticipantCreated)(EncomspServerContext* context,
     54                                            ENCOMSP_PARTICIPANT_CREATED_PDU* participantCreated);
     55typedef UINT (*psEncomspParticipantRemoved)(EncomspServerContext* context,
     56                                            ENCOMSP_PARTICIPANT_REMOVED_PDU* participantRemoved);
     57typedef UINT (*psEncomspChangeParticipantControlLevel)(
     58    EncomspServerContext* context,
     59    ENCOMSP_CHANGE_PARTICIPANT_CONTROL_LEVEL_PDU* changeParticipantControlLevel);
     60typedef UINT (*psEncomspGraphicsStreamPaused)(
     61    EncomspServerContext* context, ENCOMSP_GRAPHICS_STREAM_PAUSED_PDU* graphicsStreamPaused);
     62typedef UINT (*psEncomspGraphicsStreamResumed)(
     63    EncomspServerContext* context, ENCOMSP_GRAPHICS_STREAM_RESUMED_PDU* graphicsStreamResumed);
     64
     65struct _encomsp_server_context
     66{
     67	HANDLE vcm;
     68	void* custom;
     69
     70	psEncomspStart Start;
     71	psEncomspStop Stop;
     72
     73	psEncomspFilterUpdated FilterUpdated;
     74	psEncomspApplicationCreated ApplicationCreated;
     75	psEncomspApplicationRemoved ApplicationRemoved;
     76	psEncomspWindowCreated WindowCreated;
     77	psEncomspWindowRemoved WindowRemoved;
     78	psEncomspShowWindow ShowWindow;
     79	psEncomspParticipantCreated ParticipantCreated;
     80	psEncomspParticipantRemoved ParticipantRemoved;
     81	psEncomspChangeParticipantControlLevel ChangeParticipantControlLevel;
     82	psEncomspGraphicsStreamPaused GraphicsStreamPaused;
     83	psEncomspGraphicsStreamResumed GraphicsStreamResumed;
     84
     85	EncomspServerPrivate* priv;
     86
     87	rdpContext* rdpcontext;
     88};
     89
     90#ifdef __cplusplus
     91extern "C"
     92{
     93#endif
     94
     95	FREERDP_API EncomspServerContext* encomsp_server_context_new(HANDLE vcm);
     96	FREERDP_API void encomsp_server_context_free(EncomspServerContext* context);
     97
     98#ifdef __cplusplus
     99}
    100#endif
    101
    102#endif /* FREERDP_CHANNEL_ENCOMSP_SERVER_ENCOMSP_H */