[TRANSLATION]
[reactos.git] / base / applications / mstsc / precomp.h
1 #define WIN32_NO_STATUS
2 #define _INC_WINDOWS
3 #define COM_NO_WINDOWS_H
4 #include <stdarg.h>
5 #include <windef.h>
6 #include <winbase.h>
7 #include <winreg.h>
8 #include <wingdi.h>
9 #include <winuser.h>
10 #include <commdlg.h>
11 #include <shlobj.h>
12 #include <stdio.h>
13
14 #include "uimain.h"
15 #include "rdesktop.h"
16 #include "bsops.h"
17 #include "orders.h"
18 #include "resource.h"
19
20 #ifndef __TODO_MSTSC_H
21 #define __TODO_MSTSC_H
22
23 #define IS_PERSISTENT(id) (id < 8 && g_pstcache_fd[id] > 0)
24
25 #define MAXKEY 256
26 #define MAXVALUE 256
27 #define NUM_SETTINGS 6
28 extern LPWSTR lpSettings[];
29
30 typedef struct _SETTINGS
31 {
32 WCHAR Key[MAXKEY];
33 WCHAR Type; // holds 'i' or 's'
34 union {
35 INT i;
36 WCHAR s[MAXVALUE];
37 } Value;
38 } SETTINGS, *PSETTINGS;
39
40 typedef struct _RDPSETTINGS
41 {
42 PSETTINGS pSettings;
43 INT NumSettings;
44 } RDPSETTINGS, *PRDPSETTINGS;
45
46 /* As slider control can't contain user data, we have to keep an
47 * array of RESOLUTION_INFO to have our own associated data.
48 */
49 typedef struct _RESOLUTION_INFO
50 {
51 DWORD dmPelsWidth;
52 DWORD dmPelsHeight;
53 } RESOLUTION_INFO, *PRESOLUTION_INFO;
54
55 typedef struct _SETTINGS_ENTRY
56 {
57 struct _SETTINGS_ENTRY *Blink;
58 struct _SETTINGS_ENTRY *Flink;
59 DWORD dmBitsPerPel;
60 DWORD dmPelsWidth;
61 DWORD dmPelsHeight;
62 } SETTINGS_ENTRY, *PSETTINGS_ENTRY;
63
64 typedef struct _DISPLAY_DEVICE_ENTRY
65 {
66 struct _DISPLAY_DEVICE_ENTRY *Flink;
67 LPWSTR DeviceDescription;
68 LPWSTR DeviceName;
69 LPWSTR DeviceKey;
70 LPWSTR DeviceID;
71 DWORD DeviceStateFlags;
72 PSETTINGS_ENTRY Settings; /* sorted by increasing dmPelsHeight, BPP */
73 DWORD SettingsCount;
74 PRESOLUTION_INFO Resolutions;
75 DWORD ResolutionsCount;
76 PSETTINGS_ENTRY CurrentSettings; /* Points into Settings list */
77 SETTINGS_ENTRY InitialSettings;
78 } DISPLAY_DEVICE_ENTRY, *PDISPLAY_DEVICE_ENTRY;
79
80 typedef struct _INFO
81 {
82 PRDPSETTINGS pRdpSettings;
83 PDISPLAY_DEVICE_ENTRY DisplayDeviceList;
84 PDISPLAY_DEVICE_ENTRY CurrentDisplayDevice;
85 HWND hSelf;
86 HWND hTab;
87 HWND hGeneralPage;
88 HWND hDisplayPage;
89 HBITMAP hHeader;
90 BITMAP headerbitmap;
91 HICON hMstscSm;
92 HICON hMstscLg;
93 HICON hLogon;
94 HICON hConn;
95 HICON hRemote;
96 HICON hColor;
97 HBITMAP hSpectrum;
98 BITMAP bitmap;
99 } INFO, *PINFO;
100
101 BOOL InitRdpSettings(PRDPSETTINGS pRdpSettings);
102 BOOL OpenRDPConnectDialog(HINSTANCE hInstance, PRDPSETTINGS pRdpSettings);
103 BOOL LoadRdpSettingsFromFile(PRDPSETTINGS pRdpSettings, LPWSTR lpFile);
104 BOOL SaveRdpSettingsToFile(LPWSTR lpFile, PRDPSETTINGS pRdpSettings);
105 INT GetIntegerFromSettings(PRDPSETTINGS pSettings, LPWSTR lpValue);
106 LPWSTR GetStringFromSettings(PRDPSETTINGS pSettings, LPWSTR lpValue);
107 BOOL SetIntegerToSettings(PRDPSETTINGS pRdpSettings, LPWSTR lpKey, INT Value);
108 BOOL SetStringToSettings(PRDPSETTINGS pRdpSettings, LPWSTR lpKey, LPWSTR lpValue);
109 VOID SaveAllSettings(PINFO pInfo);
110
111 #endif /* __TODO_MSTSC_H */