-////////////////////////////////////////////////\r
-//\r
-// package.hpp\r
-// Package C++ Header\r
-////////////////////////////////////////////////\r
-\r
-#include <windows.h>\r
-#include <vector>\r
-#include "error.h"\r
-\r
-using namespace std;\r
-\r
-\r
-/* Callbacks */\r
-\r
-typedef int (*PML_AddItem) (int id, const char* name, int parent, int icon);\r
-typedef int (*PML_SetStatus) (int status1, int status2, WCHAR* text);\r
-typedef int (*PML_SetButton) (DWORD dwID, BOOL state);\r
-typedef int (*PML_SetIcon) (int id, int icon);\r
-typedef int (*PML_SetText) (const char* text);\r
-typedef int (*PML_Ask) (const WCHAR* text);\r
-\r
-\r
-/* Structs */\r
-\r
-typedef struct\r
-{\r
- char* path;\r
- BOOL icon;\r
- BOOL loaded;\r
- vector<int> children;\r
-\r
- char** field;\r
- char* name;\r
- char* description;\r
- vector<char*> depencies;\r
- vector<int> neededBy;\r
- \r
- int action;\r
- char* files [4];\r
-\r
- union //which actions are possible\r
- {\r
- struct { BOOL none, inst, src_inst, update, uninstall; };\r
- BOOL actions [4];\r
- };\r
-\r
-} PACKAGE;\r
-\r
-typedef struct\r
-{\r
- char* xmltree;\r
-\r
- vector<char*> descriptionPath;\r
- vector<char*> todo;\r
- vector<PACKAGE> packages;\r
-\r
- PML_AddItem addItem;\r
- PML_SetButton setButton;\r
- PML_SetStatus setStatus;\r
- PML_SetIcon setIcon;\r
- PML_SetText setText;\r
-\r
-} TREE, *pTree;\r
-\r
-#define MAXNODES 10000\r
-\r
-\r
-/* Prototypes */\r
-\r
-extern "C" \r
-{\r
- void PML_Abort (void);\r
- WCHAR* PML_TransError (int code);\r
-\r
- int PML_LoadTree (pTree*, char* url, PML_AddItem);\r
- int PML_FindItem (TREE* tree, const char* what);\r
- int PML_LoadPackage (pTree, int id, PML_SetButton);\r
- char* PML_GetDescription (TREE* tree, int id);\r
- int PML_SetAction (pTree, int package, int action, PML_SetIcon, PML_Ask);\r
- int PML_DoIt (pTree, PML_SetStatus, PML_Ask);\r
-\r
- void PML_CloseTree (pTree);\r
-}\r
-\r
-\r
-/* Version */ \r
-\r
-#define PACKMGR_VERSION_MAJOR 0\r
-#define PACKMGR_VERSION_MINOR 3\r
-#define PACKMGR_VERSION_PATCH_LEVEL 1\r
+////////////////////////////////////////////////
+//
+// package.hpp
+// Package C++ Header
+////////////////////////////////////////////////
+
+#include <windows.h>
+#include <vector>
+#include "error.h"
+
+using namespace std;
+
+
+/* Callbacks */
+
+typedef int (*PML_AddItem) (int id, const char* name, int parent, int icon);
+typedef int (*PML_SetStatus) (int status1, int status2, WCHAR* text);
+typedef int (*PML_SetButton) (DWORD dwID, BOOL state);
+typedef int (*PML_SetIcon) (int id, int icon);
+typedef int (*PML_SetText) (const char* text);
+typedef int (*PML_Ask) (const WCHAR* text);
+
+
+/* Structs */
+
+typedef struct
+{
+ char* path;
+ char* name;
+ char* description;
+ char** field;
+
+ BOOL icon;
+ BOOL loaded;
+ vector<int> neededBy;
+ vector<int> children;
+ vector<char*> depencies;
+
+ int action;
+ char* files [4];
+
+ union //which actions are possible
+ {
+ struct { BOOL none, inst, src_inst, update, uninstall; };
+ BOOL actions [4];
+ };
+
+} PACKAGE;
+
+typedef struct
+{
+ char** field;
+
+ vector<char*> todo;
+ vector<char*> sources;
+ vector<char*> descriptionPath;
+ vector<PACKAGE> packages;
+
+ PML_AddItem addItem;
+ PML_SetButton setButton;
+ PML_SetStatus setStatus;
+ PML_SetIcon setIcon;
+ PML_SetText setText;
+
+} TREE, *pTree;
+
+#define MAXNODES 10000
+
+
+/* Prototypes */
+
+extern "C"
+{
+ void PML_Abort (void);
+ WCHAR* PML_TransError (int code, WCHAR* string, INT maxchar);
+
+ int PML_LoadTree (pTree*, char* url, PML_AddItem);
+ int PML_FindItem (TREE* tree, const char* what);
+ int PML_LoadPackage (pTree, int id, PML_SetButton);
+ char* PML_GetDescription (TREE* tree, int id);
+ int PML_SetAction (pTree, int package, int action, PML_SetIcon, PML_Ask);
+ int PML_DoIt (pTree, PML_SetStatus, PML_Ask);
+
+ void PML_CloseTree (pTree);
+}
+
+
+/* Version */
+
+#define PACKMGR_VERSION_MAJOR 0
+#define PACKMGR_VERSION_MINOR 3
+#define PACKMGR_VERSION_PATCH_LEVEL 1