7 #define WIN32_NO_STATUS
9 #define COM_NO_WINDOWS_H
25 #include <ndk/rtlfuncs.h>
31 #ifdef USE_CERT_PINNING
32 #define CERT_ISSUER_INFO "BE\r\nGlobalSign nv-sa\r\nGlobalSign Domain Validation CA - SHA256 - G2"
33 #define CERT_SUBJECT_INFO "Domain Control Validated\r\n*.reactos.org"
36 #define APPLICATION_DATABASE_URL L"https://svn.reactos.org/packages/rappmgr.cab"
39 #define MAX_STR_LEN 256
41 #define LISTVIEW_ICON_SIZE 24
42 #define TREEVIEW_ICON_SIZE 24
44 /* EnumType flags for EnumInstalledApplications */
45 #define ENUM_ALL_COMPONENTS 30
46 #define ENUM_APPLICATIONS 31
47 #define ENUM_UPDATES 32
48 /* EnumType flags for EnumAvailableApplications */
49 #define ENUM_ALL_AVAILABLE 0
50 #define ENUM_CAT_AUDIO 1
51 #define ENUM_CAT_VIDEO 2
52 #define ENUM_CAT_GRAPHICS 3
53 #define ENUM_CAT_GAMES 4
54 #define ENUM_CAT_INTERNET 5
55 #define ENUM_CAT_OFFICE 6
56 #define ENUM_CAT_DEVEL 7
57 #define ENUM_CAT_EDU 8
58 #define ENUM_CAT_ENGINEER 9
59 #define ENUM_CAT_FINANCE 10
60 #define ENUM_CAT_SCIENCE 11
61 #define ENUM_CAT_TOOLS 12
62 #define ENUM_CAT_DRIVERS 13
63 #define ENUM_CAT_LIBS 14
64 #define ENUM_CAT_OTHER 15
66 #define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
67 #define ENUM_INSTALLED_MAX ENUM_UPDATES
68 #define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
69 #define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
71 #define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
72 #define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
75 VOID
ShowAboutDialog(VOID
);
81 WCHAR szName
[MAX_PATH
];
82 WCHAR szRegName
[MAX_PATH
];
83 WCHAR szVersion
[MAX_PATH
];
84 WCHAR szLicense
[MAX_PATH
];
85 WCHAR szDesc
[MAX_PATH
];
86 WCHAR szSize
[MAX_PATH
];
87 WCHAR szUrlSite
[MAX_PATH
];
88 WCHAR szUrlDownload
[MAX_PATH
];
89 WCHAR szCDPath
[MAX_PATH
];
91 /* caching mechanism related entries */
92 WCHAR cFileName
[MAX_PATH
];
93 FILETIME ftCacheStamp
;
96 /* optional integrity checks (SHA-1 digests are 160 bit = 40 characters in hex string form) */
99 } APPLICATION_INFO
, *PAPPLICATION_INFO
;
105 WCHAR szKeyName
[MAX_PATH
];
107 } INSTALLED_INFO
, *PINSTALLED_INFO
;
114 WCHAR szDownloadDir
[MAX_PATH
];
124 WCHAR szProxyServer
[MAX_PATH
];
125 WCHAR szNoProxyFor
[MAX_PATH
];
127 } SETTINGS_INFO
, *PSETTINGS_INFO
;
130 typedef BOOL (CALLBACK
*AVAILENUMPROC
)(PAPPLICATION_INFO Info
);
131 BOOL
EnumAvailableApplications(INT EnumType
, AVAILENUMPROC lpEnumProc
);
132 BOOL
ShowAvailableAppInfo(INT Index
);
133 BOOL
UpdateAppsDB(VOID
);
134 VOID
FreeCachedAvailableEntries(VOID
);
137 BOOL
InstallApplication(INT Index
);
140 typedef BOOL (CALLBACK
*APPENUMPROC
)(INT ItemIndex
, LPWSTR lpName
, PINSTALLED_INFO Info
);
141 BOOL
EnumInstalledApplications(INT EnumType
, BOOL IsUserKey
, APPENUMPROC lpEnumProc
);
142 BOOL
GetApplicationString(HKEY hKey
, LPCWSTR lpKeyName
, LPWSTR lpString
);
143 BOOL
ShowInstalledAppInfo(INT Index
);
144 BOOL
UninstallApplication(INT Index
, BOOL bModify
);
145 BOOL
IsInstalledApplication(LPWSTR lpRegName
, BOOL IsUserKey
);
146 VOID
RemoveAppFromRegistry(INT Index
);
149 extern HWND hMainWnd
;
150 extern HINSTANCE hInst
;
151 extern INT SelectedEnumType
;
152 extern SETTINGS_INFO SettingsInfo
;
153 VOID
SaveSettings(HWND hwnd
);
154 VOID
FillDefaultSettings(PSETTINGS_INFO pSettingsInfo
);
157 BOOL
DownloadApplication(INT Index
);
158 VOID
DownloadApplicationsDB(LPCWSTR lpUrl
);
161 INT
GetSystemColorDepth(VOID
);
162 int GetWindowWidth(HWND hwnd
);
163 int GetWindowHeight(HWND hwnd
);
164 int GetClientWindowWidth(HWND hwnd
);
165 int GetClientWindowHeight(HWND hwnd
);
166 VOID
CopyTextToClipboard(LPCWSTR lpszText
);
167 VOID
SetWelcomeText(VOID
);
168 VOID
ShowPopupMenu(HWND hwnd
, UINT MenuID
, UINT DefaultItem
);
169 BOOL
StartProcess(LPWSTR lpPath
, BOOL Wait
);
170 BOOL
GetStorageDirectory(PWCHAR lpDirectory
, DWORD cch
);
171 BOOL
ExtractFilesFromCab(LPWSTR lpCabName
, LPWSTR lpOutputPath
);
174 BOOL
WriteLogMessage(WORD wType
, DWORD dwEventID
, LPWSTR lpMsg
);
176 UINT
ParserGetString(LPCWSTR lpKeyName
, LPWSTR lpReturnedString
, UINT nSize
, LPCWSTR lpFileName
);
177 UINT
ParserGetInt(LPCWSTR lpKeyName
, LPCWSTR lpFileName
);
180 VOID
CreateSettingsDlg(HWND hwnd
);
183 HWND
CreateMainWindow();
184 DWORD_PTR
ListViewGetlParam(INT item
);
185 INT
ListViewAddItem(INT ItemIndex
, INT IconIndex
, PWSTR lpName
, LPARAM lParam
);
186 VOID
SetStatusBarText(PCWSTR szText
);
187 VOID
NewRichEditText(PCWSTR szText
, DWORD flags
);
188 VOID
InsertRichEditText(PCWSTR szText
, DWORD flags
);
189 extern HWND hListView
;
190 extern WCHAR szSearchPattern
[MAX_STR_LEN
];
193 BOOL
VerifyInteg(LPCWSTR lpSHA1Hash
, LPCWSTR lpFileName
);
195 //extern HWND hTreeView;
196 //BOOL CreateTreeView(HWND hwnd);
197 //HTREEITEM TreeViewAddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam);
200 #endif /* _RAPPS_H */