FreeRDP-WebConnect WebSockets gateway  1.0.0.167
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Pages
rdpcommon.hpp
1 /* vim: set et ts=4 sw=4 cindent:
2  *
3  * FreeRDP-WebConnect,
4  * A gateway for seamless access to your RDP-Sessions in any HTML5-compliant browser.
5  *
6  * Copyright 2012 Fritz Elfert <wsgate@fritz-elfert.de>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 #ifndef _WSGATE_RDPCOMMON_H_
21 #define _WSGATE_RDPCOMMON_H_
22 
23 extern "C" {
24 #include <freerdp/input.h>
25 #include <freerdp/gdi/gdi.h>
26 }
27 #include <freerdp/freerdp.h>
28 #include <freerdp/codec/color.h>
29 
30 #include "wsgate.hpp"
31 #include "wshandler.hpp"
32 
33 // #define DBGLOG_POINTER_NEW
34 // #define DBGLOG_POINTER_FREE
35 // #define DBGLOG_POINTER_SET
36 // #define DBGLOG_POINTER_SETNULL
37 // #define DBGLOG_POINTER_SETDEFAULT
38 // #define DBGLOG_BEGINPAINT
39 // #define DBGLOG_ENDPAINT
40 // #define DBGLOG_SETBOUNDS
41 // #define DBGLOG_BITMAP
42 // #define DBGLOG_OPAQUERECT
43 // #define DBGLOG_MULTI_OPAQUERECT
44 // #define DBGLOG_PATBLT
45 // #define DBGLOG_SCRBLT
46 
47 typedef struct rdp_freerdp freerdp;
48 typedef struct rdp_context rdpContext;
49 typedef struct rdp_input rdpInput;
50 typedef struct rdp_settings rdpSettings;
51 
52 namespace wsgate {
53 
54  class RDP;
55  class Update;
56  class Primary;
57  struct CLRCONV;
58 
63  typedef enum {
64  WSOP_SC_BEGINPAINT,
65  WSOP_SC_ENDPAINT,
66  WSOP_SC_BITMAP,
67  WSOP_SC_OPAQUERECT,
68  WSOP_SC_SETBOUNDS,
69  WSOP_SC_PATBLT,
70  WSOP_SC_MULTI_OPAQUERECT,
71  WSOP_SC_SCRBLT,
72  WSOP_SC_PTR_NEW,
73  WSOP_SC_PTR_FREE,
74  WSOP_SC_PTR_SET,
75  WSOP_SC_PTR_SETNULL,
76  WSOP_SC_PTR_SETDEFAULT
77  } WsOPsc;
78 
83  typedef enum {
84  WSOP_CS_MOUSE,
85  WSOP_CS_KUPDOWN,
86  WSOP_CS_KPRESS
87  } WsOPcs;
88 
93  typedef struct {
95  int port;
97  int width;
99  int height;
101  int perf;
103  int fntlm;
105  int notls;
107  int nonla;
109  int nowallp;
111  int nowdrag;
113  int nomani;
115  int notheme;
116  } WsRdpParams;
117 
121  typedef struct {
125  rdpContext _p;
141  HCLRCONV clrconv;
142  } wsgContext;
143 }
144 
145 #endif