-#ifndef _RAPPS_H__
-#define _RAPPS_H__
+#pragma once
#include <windows.h>
#include <commctrl.h>
#include <richedit.h>
#include <shlwapi.h>
+#include <shlobj.h>
#include <wchar.h>
+#include <rappsmsg.h>
+
#include "resource.h"
-#define APPLICATION_DATEBASE_URL L"http://opendn.org/rappmgr.cab"
+#define APPLICATION_DATEBASE_URL L"http://svn.reactos.org/packages/rappmgr.cab"
#define SPLIT_WIDTH 4
#define MAX_STR_LEN 256
{
INT Category;
WCHAR szName[MAX_PATH];
- WCHAR szRegName[MAX_PATH];
+ WCHAR szRegName[MAX_PATH];
WCHAR szVersion[MAX_PATH];
- WCHAR szLicence[MAX_PATH];
+ WCHAR szLicence[MAX_PATH];
WCHAR szDesc[MAX_PATH];
WCHAR szSize[MAX_PATH];
WCHAR szUrlSite[MAX_PATH];
} APPLICATION_INFO, *PAPPLICATION_INFO;
+typedef struct
+{
+ HKEY hRootKey;
+ HKEY hSubKey;
+ WCHAR szKeyName[MAX_PATH];
+
+} INSTALLED_INFO, *PINSTALLED_INFO;
+
+typedef struct
+{
+ BOOL bSaveWndPos;
+ BOOL bUpdateAtStart;
+ BOOL bLogEnabled;
+ WCHAR szDownloadDir[MAX_PATH];
+ BOOL bDelInstaller;
+ /* Window Pos */
+ BOOL Maximized;
+ INT Left;
+ INT Top;
+ INT Right;
+ INT Bottom;
+
+} SETTINGS_INFO, *PSETTINGS_INFO;
+
/* available.c */
typedef BOOL (CALLBACK *AVAILENUMPROC)(APPLICATION_INFO Info);
BOOL EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc);
BOOL ShowAvailableAppInfo(INT Index);
+BOOL UpdateAppsDB(VOID);
/* installdlg.c */
BOOL InstallApplication(INT Index);
/* installed.c */
-typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, LPWSTR lpKeyName, LPARAM lParam);
-BOOL EnumInstalledApplications(INT EnumType, APPENUMPROC lpEnumProc);
+typedef BOOL (CALLBACK *APPENUMPROC)(INT ItemIndex, LPWSTR lpName, INSTALLED_INFO Info);
+BOOL EnumInstalledApplications(INT EnumType, BOOL IsUserKey, APPENUMPROC lpEnumProc);
BOOL GetApplicationString(HKEY hKey, LPWSTR lpKeyName, LPWSTR lpString);
BOOL ShowInstalledAppInfo(INT Index);
BOOL UninstallApplication(INT Index, BOOL bModify);
-BOOL IsInstalledApplication(LPWSTR lpRegName);
+BOOL IsInstalledApplication(LPWSTR lpRegName, BOOL IsUserKey);
+VOID RemoveAppFromRegistry(INT Index);
/* winmain.c */
extern HWND hMainWnd;
extern HINSTANCE hInst;
extern INT SelectedEnumType;
+extern SETTINGS_INFO SettingsInfo;
+VOID SaveSettings(HWND hwnd);
+VOID FillDafaultSettings(PSETTINGS_INFO pSettingsInfo);
/* listview.c */
extern HWND hListView;
VOID ShowPopupMenu(HWND hwnd, UINT MenuID);
BOOL StartProcess(LPWSTR lpPath, BOOL Wait);
BOOL ExtractFilesFromCab(LPWSTR lpCabName, LPWSTR lpOutputPath);
+VOID InitLogs(VOID);
+VOID FreeLogs(VOID);
+BOOL WriteLogMessage(WORD wType, DWORD dwEventID, LPWSTR lpMsg);
/* parser.c */
INT ParserGetString(LPCWSTR section, LPCWSTR entry, LPWSTR buffer, UINT len, LPCWSTR filename);
extern HWND hTreeView;
BOOL CreateTreeView(HWND hwnd);
HTREEITEM TreeViewAddItem(HTREEITEM hParent, LPWSTR lpText, INT Image, INT SelectedImage, LPARAM lParam);
-
-#endif /* _RAPPS_H__ */