1 ////////////////////////////////////////////////////////
5 // Settting and Loading Options
8 // Maarten Bosma, 09.01.2004
9 // maarten.paul@bosma.de
11 ////////////////////////////////////////////////////////////////////
13 #include "package.hpp"
18 int PML_XmlDownload (pTree tree
, const char* url
, void* usrdata
,
19 XML_StartElementHandler start
, XML_EndElementHandler end
, XML_CharacterDataHandler text
) ;
22 // expat callback for start of a "node" tag
23 void opt_start (void* usrdata
, const char* tag
, const char** arg
)
25 TREE
* tree
= (TREE
*)usrdata
;
27 if (!strcmp(tag
, "source"))
29 tree
->sources
.push_back((char*)NULL
);
30 tree
->field
= &tree
->sources
.back();
34 // expat callback for end of a "node" tag
35 void opt_end (void* usrdata
, const char* tag
)
37 TREE
* tree
= (TREE
*)usrdata
;
42 // expat callback for end of a "node" tag
43 void opt_text (void* usrdata
, const char* data
, int len
)
45 TREE
* tree
= (TREE
*)usrdata
;
50 *tree
->field
= new char[len
+1];
51 strncpy(*tree
->field
, data
, len
);
52 (*tree
->field
)[len
] = '\0';
56 int CreateOptions (TREE
* tree
)
60 // ifstream file ("help.txt", ios_base::in);
61 Log("* Creating options,xml");
66 int LoadOptions (TREE
* tree
)
70 error
= PML_XmlDownload(tree
, "file://options.xml", (void*)tree
, opt_start
, opt_end
, opt_text
);
75 return PML_XmlDownload(tree
, "file://options.xml", (void*)tree
, opt_start
, opt_end
, opt_text
);