6 #define WIN32_NO_STATUS
8 #define COM_NO_WINDOWS_H
23 #include <ndk/rtlfuncs.h>
29 /* FIXME: this should be downloaded by HTTPS once is supported */
30 #define APPLICATION_DATABASE_URL L"http://svn.reactos.org/packages/rappmgr.cab"
33 #define MAX_STR_LEN 256
35 #define LISTVIEW_ICON_SIZE 24
36 #define TREEVIEW_ICON_SIZE 24
38 /* EnumType flags for EnumInstalledApplications */
39 #define ENUM_ALL_COMPONENTS 30
40 #define ENUM_APPLICATIONS 31
41 #define ENUM_UPDATES 32
42 /* EnumType flags for EnumAvailableApplications */
43 #define ENUM_ALL_AVAILABLE 0
44 #define ENUM_CAT_AUDIO 1
45 #define ENUM_CAT_VIDEO 2
46 #define ENUM_CAT_GRAPHICS 3
47 #define ENUM_CAT_GAMES 4
48 #define ENUM_CAT_INTERNET 5
49 #define ENUM_CAT_OFFICE 6
50 #define ENUM_CAT_DEVEL 7
51 #define ENUM_CAT_EDU 8
52 #define ENUM_CAT_ENGINEER 9
53 #define ENUM_CAT_FINANCE 10
54 #define ENUM_CAT_SCIENCE 11
55 #define ENUM_CAT_TOOLS 12
56 #define ENUM_CAT_DRIVERS 13
57 #define ENUM_CAT_LIBS 14
58 #define ENUM_CAT_OTHER 15
60 #define ENUM_INSTALLED_MIN ENUM_ALL_COMPONENTS
61 #define ENUM_INSTALLED_MAX ENUM_UPDATES
62 #define ENUM_AVAILABLE_MIN ENUM_ALL_AVAILABLE
63 #define ENUM_AVAILABLE_MAX ENUM_CAT_OTHER
65 #define IS_INSTALLED_ENUM(a) (a >= ENUM_INSTALLED_MIN && a <= ENUM_INSTALLED_MAX)
66 #define IS_AVAILABLE_ENUM(a) (a >= ENUM_AVAILABLE_MIN && a <= ENUM_AVAILABLE_MAX)
69 VOID
ShowAboutDialog(VOID
);
75 WCHAR szName
[MAX_PATH
];
76 WCHAR szRegName
[MAX_PATH
];
77 WCHAR szVersion
[MAX_PATH
];
78 WCHAR szLicense
[MAX_PATH
];
79 WCHAR szDesc
[MAX_PATH
];
80 WCHAR szSize
[MAX_PATH
];
81 WCHAR szUrlSite
[MAX_PATH
];
82 WCHAR szUrlDownload
[MAX_PATH
];
83 WCHAR szCDPath
[MAX_PATH
];
85 /* caching mechanism related entries */
86 WCHAR cFileName
[MAX_PATH
];
87 FILETIME ftCacheStamp
;
90 /* optional integrity checks */
93 } APPLICATION_INFO
, *PAPPLICATION_INFO
;
99 WCHAR szKeyName
[MAX_PATH
];
101 } INSTALLED_INFO
, *PINSTALLED_INFO
;
108 WCHAR szDownloadDir
[MAX_PATH
];
118 WCHAR szProxyServer
[MAX_PATH
];
119 WCHAR szNoProxyFor
[MAX_PATH
];
121 } SETTINGS_INFO
, *PSETTINGS_INFO
;
124 typedef BOOL (CALLBACK
*AVAILENUMPROC
)(PAPPLICATION_INFO Info
);
125 BOOL
EnumAvailableApplications(INT EnumType
, AVAILENUMPROC lpEnumProc
);
126 BOOL
ShowAvailableAppInfo(INT Index
);
127 BOOL
UpdateAppsDB(VOID
);
130 BOOL
InstallApplication(INT Index
);
133 typedef BOOL (CALLBACK
*APPENUMPROC
)(INT ItemIndex
, LPWSTR lpName
, PINSTALLED_INFO Info
);
134 BOOL
EnumInstalledApplications(INT EnumType
, BOOL IsUserKey
, APPENUMPROC lpEnumProc
);
135 BOOL
GetApplicationString(HKEY hKey
, LPWSTR lpKeyName
, LPWSTR lpString
);
136 BOOL
ShowInstalledAppInfo(INT Index
);
137 BOOL
UninstallApplication(INT Index
, BOOL bModify
);
138 BOOL
IsInstalledApplication(LPWSTR lpRegName
, BOOL IsUserKey
);
139 VOID
RemoveAppFromRegistry(INT Index
);
142 extern HWND hMainWnd
;
143 extern HINSTANCE hInst
;
144 extern INT SelectedEnumType
;
145 extern SETTINGS_INFO SettingsInfo
;
146 VOID
SaveSettings(HWND hwnd
);
147 VOID
FillDefaultSettings(PSETTINGS_INFO pSettingsInfo
);
150 extern HWND hListView
;
151 extern BOOL bAscending
;
152 BOOL
CreateListView(HWND hwnd
);
153 BOOL
ListViewAddColumn(INT Index
, LPWSTR lpText
, INT Width
, INT Format
);
154 INT
ListViewAddItem(INT ItemIndex
, INT IconIndex
, LPWSTR lpText
, LPARAM lParam
);
155 INT CALLBACK
ListViewCompareFunc(LPARAM lParam1
, LPARAM lParam2
, LPARAM lParamSort
);
156 PVOID
ListViewGetlParam(INT Index
);
159 BOOL
DownloadApplication(INT Index
);
160 VOID
DownloadApplicationsDB(LPWSTR lpUrl
);
163 INT
GetSystemColorDepth(VOID
);
164 int GetWindowWidth(HWND hwnd
);
165 int GetWindowHeight(HWND hwnd
);
166 int GetClientWindowWidth(HWND hwnd
);
167 int GetClientWindowHeight(HWND hwnd
);
168 VOID
CopyTextToClipboard(LPCWSTR lpszText
);
169 VOID
SetWelcomeText(VOID
);
170 VOID
ShowPopupMenu(HWND hwnd
, UINT MenuID
, UINT DefaultItem
);
171 BOOL
StartProcess(LPWSTR lpPath
, BOOL Wait
);
172 BOOL
GetStorageDirectory(PWCHAR lpDirectory
, DWORD cch
);
173 BOOL
ExtractFilesFromCab(LPWSTR lpCabName
, LPWSTR lpOutputPath
);
176 BOOL
WriteLogMessage(WORD wType
, DWORD dwEventID
, LPWSTR lpMsg
);
178 UINT
ParserGetString(LPCWSTR lpKeyName
, LPWSTR lpReturnedString
, UINT nSize
, LPCWSTR lpFileName
);
179 UINT
ParserGetInt(LPCWSTR lpKeyName
, LPCWSTR lpFileName
);
182 extern HWND hRichEdit
;
184 BOOL
CreateRichEdit(HWND hwnd
);
185 VOID
RichEditOnLink(HWND hwnd
, ENLINK
*Link
);
186 VOID
InsertRichEditText(LPCWSTR lpszText
, DWORD dwEffects
);
187 VOID
NewRichEditText(LPCWSTR lpszText
, DWORD dwEffects
);
190 VOID
CreateSettingsDlg(HWND hwnd
);
193 extern HWND hVSplitter
;
194 extern HWND hHSplitter
;
195 BOOL
CreateVSplitBar(HWND hwnd
);
196 BOOL
CreateHSplitBar(HWND hwnd
);
197 int GetHSplitterPos(VOID
);
198 VOID
SetHSplitterPos(int Pos
);
201 extern HWND hStatusBar
;
202 BOOL
CreateStatusBar(HWND hwnd
);
203 VOID
SetStatusBarText(LPCWSTR lpszText
);
206 extern HWND hToolBar
;
207 extern HWND hSearchBar
;
208 BOOL
CreateToolBar(HWND hwnd
);
209 VOID
ToolBarOnGetDispInfo(LPTOOLTIPTEXT lpttt
);
212 extern HWND hTreeView
;
213 BOOL
CreateTreeView(HWND hwnd
);
214 HTREEITEM
TreeViewAddItem(HTREEITEM hParent
, LPWSTR lpText
, INT Image
, INT SelectedImage
, LPARAM lParam
);
216 #endif /* _RAPPS_H */