update SVN properties
[reactos.git] / rosapps / packmgr / lib / options.cpp
index bf41437..6c74653 100644 (file)
-////////////////////////////////////////////////////////\r
-//\r
-// options.cpp\r
-// \r
-// Settting and Loading Options \r
-//\r
-//\r
-// Maarten Bosma, 09.01.2004\r
-// maarten.paul@bosma.de\r
-//\r
-////////////////////////////////////////////////////////////////////\r
-\r
-#include "package.hpp"\r
-#include "log.h"\r
-#include "expat.h"\r
-\r
-#include <fstream>\r
-\r
-\r
-int PML_XmlDownload (pTree tree, const char* url, void* usrdata,\r
-                                                XML_StartElementHandler start, XML_EndElementHandler end, XML_CharacterDataHandler text) ;\r
-\r
-\r
-// expat callback for start of a "node" tag\r
-void opt_start (void* usrdata, const char* tag, const char** arg)\r
-{\r
-       TREE* tree = (TREE*)usrdata;\r
-\r
-       if (!strcmp(tag, "source"))\r
-       {\r
-               tree->sources.push_back((char*)NULL);\r
-               tree->field = &tree->sources.back();\r
-       }\r
-}\r
-\r
-// expat callback for end of a "node" tag\r
-void opt_end (void* usrdata, const char* tag)\r
-{\r
-       TREE* tree = (TREE*)usrdata;\r
-\r
-       tree->field = NULL;\r
-}\r
-\r
-// expat callback for end of a "node" tag\r
-void opt_text (void* usrdata, const char* data, int len)\r
-{\r
-       TREE* tree = (TREE*)usrdata;\r
-\r
-       if(!tree->field)\r
-               return;\r
-\r
-       *tree->field = new char[len+1];\r
-       strncpy(*tree->field, data, len);\r
-       (*tree->field)[len] = '\0';\r
-}\r
-\r
-\r
-       // !    !       !       F       I       X       M       E       !       !       ! //\r
-/*\r
-int CreateOptions (TREE* tree)\r
-{\r
-       ofstream file ("options.xml");\r
-\r
-       Log("* Creating options.xml from Resources");\r
-\r
-       HRSRC hres = FindResource(GetModuleHandle(L"package"), MAKEINTRESOURCE(123), RT_RCDATA);\r
-       if (!hres)\r
-       {\r
-               Log("! ERROR: Could not load it !");\r
-               return ERR_GENERIC;\r
-       }\r
-       \r
-       MessageBox(0,(WCHAR*)LockResource(LoadResource(NULL, hres)), 0, 0);     // is empty\r
-       //file << (WCHAR*)LockResource(LoadResource(NULL, hres));\r
-\r
-       return ERR_OK;\r
-}\r
-*/\r
-\r
-char* PML_Download (pTree, const char* url, const char* server, const char* filename);\r
-\r
-int CreateOptions (TREE* tree)\r
-{\r
-       Log("* Load options.xml from the Internet (Temporary Hack)");\r
-\r
-       CopyFileA( PML_Download(tree, "http://svn.reactos.com/viewcvs/*checkout*/trunk/rosapps/packmgr/lib/options.xml", NULL, "options.xml"), "options.xml", TRUE);\r
-       \r
-       return ERR_OK;\r
-}\r
-\r
-int LoadOptions (TREE* tree)\r
-{\r
-       int error;\r
-\r
-       error = PML_XmlDownload(tree, "file://options.xml", (void*)tree, opt_start, opt_end, opt_text);\r
-       if(!error)\r
-               return ERR_OK;\r
-\r
-       CreateOptions(tree);\r
-       return PML_XmlDownload(tree, "file://options.xml", (void*)tree, opt_start, opt_end, opt_text);\r
-}\r
+////////////////////////////////////////////////////////
+//
+// options.cpp
+// 
+// Settting and Loading Options 
+//
+//
+// Maarten Bosma, 09.01.2004
+// maarten.paul@bosma.de
+//
+////////////////////////////////////////////////////////////////////
+
+#include "package.hpp"
+#include "log.h"
+#include "expat.h"
+
+#include <fstream>
+
+
+int PML_XmlDownload (pTree tree, const char* url, void* usrdata,
+                                                XML_StartElementHandler start, XML_EndElementHandler end, XML_CharacterDataHandler text) ;
+
+
+// expat callback for start of a "node" tag
+void opt_start (void* usrdata, const char* tag, const char** arg)
+{
+       TREE* tree = (TREE*)usrdata;
+
+       if (!strcmp(tag, "source"))
+       {
+               tree->sources.push_back((char*)NULL);
+               tree->field = &tree->sources.back();
+       }
+}
+
+// expat callback for end of a "node" tag
+void opt_end (void* usrdata, const char* tag)
+{
+       TREE* tree = (TREE*)usrdata;
+
+       tree->field = NULL;
+}
+
+// expat callback for end of a "node" tag
+void opt_text (void* usrdata, const char* data, int len)
+{
+       TREE* tree = (TREE*)usrdata;
+
+       if(!tree->field)
+               return;
+
+       *tree->field = new char[len+1];
+       strncpy(*tree->field, data, len);
+       (*tree->field)[len] = '\0';
+}
+
+
+       // !    !       !       F       I       X       M       E       !       !       ! //
+/*
+int CreateOptions (TREE* tree)
+{
+       ofstream file ("options.xml");
+
+       Log("* Creating options.xml from Resources");
+
+       HRSRC hres = FindResource(GetModuleHandle(L"package"), MAKEINTRESOURCE(123), RT_RCDATA);
+       if (!hres)
+       {
+               Log("! ERROR: Could not load it !");
+               return ERR_GENERIC;
+       }
+       
+       MessageBox(0,(WCHAR*)LockResource(LoadResource(NULL, hres)), 0, 0);     // is empty
+       //file << (WCHAR*)LockResource(LoadResource(NULL, hres));
+
+       return ERR_OK;
+}
+*/
+
+char* PML_Download (pTree, const char* url, const char* server, const char* filename);
+
+int CreateOptions (TREE* tree)
+{
+       Log("* Load options.xml from the Internet (Temporary Hack)");
+
+       CopyFileA( PML_Download(tree, "http://svn.reactos.com/viewcvs/*checkout*/trunk/rosapps/packmgr/lib/options.xml", NULL, "options.xml"), "options.xml", TRUE);
+       
+       return ERR_OK;
+}
+
+int LoadOptions (TREE* tree)
+{
+       int error;
+
+       error = PML_XmlDownload(tree, "file://options.xml", (void*)tree, opt_start, opt_end, opt_text);
+       if(!error)
+               return ERR_OK;
+
+       CreateOptions(tree);
+       return PML_XmlDownload(tree, "file://options.xml", (void*)tree, opt_start, opt_end, opt_text);
+}