[TRANSLATION] Romanian resources maintenance by Ștefan Fulea
[reactos.git] / reactos / base / applications / rapps_new / rapps.h
1 #ifndef _RAPPS_H
2 #define _RAPPS_H
3
4 #include <tchar.h>
5 #include <stdarg.h>
6
7 #define WIN32_NO_STATUS
8 #define _INC_WINDOWS
9 #define COM_NO_WINDOWS_H
10 #define COBJMACROS
11
12 #include <windef.h>
13 #include <winbase.h>
14 #include <winreg.h>
15 #include <wingdi.h>
16 #include <winnls.h>
17 #include <winuser.h>
18 #include <wincon.h>
19 #include <richedit.h>
20 #include <shellapi.h>
21 #include <shlobj.h>
22 #include <shlwapi.h>
23 #include <stdio.h>
24 #include <strsafe.h>
25 #include <ndk/rtlfuncs.h>
26
27 #include <rappsmsg.h>
28
29 #include "resource.h"
30
31 /* FIXME: this should be downloaded by HTTPS once is supported */
32 #define APPLICATION_DATABASE_URL L"http://svn.reactos.org/packages/rappmgr.cab"
33
34 #define SPLIT_WIDTH 4
35 #define MAX_STR_LEN 256
36
37 #define LISTVIEW_ICON_SIZE 24
38 #define TREEVIEW_ICON_SIZE 24
39
40 /* EnumType flags for EnumInstalledApplications */
41 #define ENUM_ALL_COMPONENTS 30
42 #define ENUM_APPLICATIONS 31
43 #define ENUM_UPDATES 32
44 /* EnumType flags for EnumAvailableApplications */
45 #define ENUM_ALL_AVAILABLE 0
46 #define ENUM_CAT_AUDIO 1
47 #define ENUM_CAT_VIDEO 2
48 #define ENUM_CAT_GRAPHICS 3
49 #define ENUM_CAT_GAMES 4
50 #define ENUM_CAT_INTERNET 5
51 #define ENUM_CAT_OFFICE 6
52 #define ENUM_CAT_DEVEL 7
53 #define ENUM_CAT_EDU 8
54 #define ENUM_CAT_ENGINEER 9
55 #define ENUM_CAT_FINANCE 10
56 #define ENUM_CAT_SCIENCE 11
57 #define ENUM_CAT_TOOLS 12
58 #define ENUM_CAT_DRIVERS 13
59 #define ENUM_CAT_LIBS 14
60 #define ENUM_CAT_OTHER 15
61
62 #define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
63 #define ENUM_INSTALLED_MAX ENUM_UPDATES
64 #define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
65 #define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
66
67 #define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
68 #define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
69
70 /* aboutdlg.c */
71 VOID ShowAboutDialog(VOID);
72
73 /* available.c */
74 typedef struct
75 {
76 INT Category;
77 WCHAR szName[MAX_PATH];
78 WCHAR szRegName[MAX_PATH];
79 WCHAR szVersion[MAX_PATH];
80 WCHAR szLicense[MAX_PATH];
81 WCHAR szDesc[MAX_PATH];
82 WCHAR szSize[MAX_PATH];
83 WCHAR szUrlSite[MAX_PATH];
84 WCHAR szUrlDownload[MAX_PATH];
85 WCHAR szCDPath[MAX_PATH];
86
87 /* caching mechanism related entries */
88 WCHAR cFileName[MAX_PATH];
89 FILETIME ftCacheStamp;
90 LIST_ENTRY List;
91
92 /* optional integrity checks */
93 BYTE MD5Checksum[16];
94
95 } APPLICATION_INFO, *PAPPLICATION_INFO;
96
97 typedef struct
98 {
99 HKEY hRootKey;
100 HKEY hSubKey;
101 WCHAR szKeyName[MAX_PATH];
102
103 } INSTALLED_INFO, *PINSTALLED_INFO;
104
105 typedef struct
106 {
107 BOOL bSaveWndPos;
108 BOOL bUpdateAtStart;
109 BOOL bLogEnabled;
110 WCHAR szDownloadDir[MAX_PATH];
111 BOOL bDelInstaller;
112 /* Window Pos */
113 BOOL Maximized;
114 INT Left;
115 INT Top;
116 INT Width;
117 INT Height;
118 /* Proxy settings */
119 INT Proxy;
120 WCHAR szProxyServer[MAX_PATH];
121 WCHAR szNoProxyFor[MAX_PATH];
122
123 } SETTINGS_INFO, *PSETTINGS_INFO;
124
125 /* available.c */
126 typedef BOOL (CALLBACK *AVAILENUMPROC)(PAPPLICATION_INFO Info);
127 BOOL EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc);
128 BOOL ShowAvailableAppInfo(INT Index);
129 BOOL UpdateAppsDB(VOID);
130 VOID FreeCachedAvailableEntries(VOID);
131
132 /* installdlg.c */
133 BOOL InstallApplication(INT Index);
134
135 /* installed.c */
136 typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, PINSTALLED_INFO Info);
137 BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc);
138 BOOL GetApplicationString(HKEY hKey, LPCWSTR lpKeyName, LPWSTR lpString);
139 BOOL ShowInstalledAppInfo(INT Index);
140 BOOL UninstallApplication(INT Index, BOOL bModify);
141 BOOL IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey);
142 VOID RemoveAppFromRegistry(INT Index);
143
144 /* winmain.c */
145 extern HWND hMainWnd;
146 extern HINSTANCE hInst;
147 extern INT SelectedEnumType;
148 extern SETTINGS_INFO SettingsInfo;
149 VOID SaveSettings(HWND hwnd);
150 VOID FillDefaultSettings(PSETTINGS_INFO pSettingsInfo);
151
152 /* loaddlg.c */
153 BOOL DownloadApplication(INT Index);
154 VOID DownloadApplicationsDB(LPCWSTR lpUrl);
155
156 /* misc.c */
157 INT GetSystemColorDepth(VOID);
158 int GetWindowWidth(HWND hwnd);
159 int GetWindowHeight(HWND hwnd);
160 int GetClientWindowWidth(HWND hwnd);
161 int GetClientWindowHeight(HWND hwnd);
162 VOID CopyTextToClipboard(LPCWSTR lpszText);
163 VOID SetWelcomeText(VOID);
164 VOID ShowPopupMenu(HWND hwnd, UINT MenuID, UINT DefaultItem);
165 BOOL StartProcess(LPWSTR lpPath, BOOL Wait);
166 BOOL GetStorageDirectory(PWCHAR lpDirectory, DWORD cch);
167 BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath);
168 VOID InitLogs(VOID);
169 VOID FreeLogs(VOID);
170 BOOL WriteLogMessage(WORD wType, DWORD dwEventID, LPWSTR lpMsg);
171
172 UINT ParserGetString(LPCWSTR lpKeyName, LPWSTR lpReturnedString, UINT nSize, LPCWSTR lpFileName);
173 UINT ParserGetInt(LPCWSTR lpKeyName, LPCWSTR lpFileName);
174
175 /* settingsdlg.c */
176 VOID CreateSettingsDlg(HWND hwnd);
177
178 /* gui.cpp */
179 HWND CreateMainWindow();
180 DWORD_PTR ListViewGetlParam(INT item);
181 INT ListViewAddItem(INT ItemIndex, INT IconIndex, PWSTR lpName, LPARAM lParam);
182 VOID SetStatusBarText(PCWSTR szText);
183 VOID NewRichEditText(PCWSTR szText, DWORD flags);
184 VOID InsertRichEditText(PCWSTR szText, DWORD flags);
185 extern HWND hListView;
186 extern WCHAR szSearchPattern[MAX_STR_LEN];
187
188 //extern HWND hTreeView;
189 //BOOL CreateTreeView(HWND hwnd);
190 //HTREEITEM TreeViewAddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam);
191
192
193 #endif /* _RAPPS_H */