summaryrefslogtreecommitdiff
path: root/server/src/xmlparser.cc
diff options
context:
space:
mode:
authordeva <deva>2007-09-03 14:51:37 +0000
committerdeva <deva>2007-09-03 14:51:37 +0000
commit20c7a5d63dc1f68fcf0e1aa053a4b725235e6f78 (patch)
tree43fb3b46f1e7bfbf2e3a098535365fbcd4154d23 /server/src/xmlparser.cc
parent41e5a068b0b595be86797fd12035dabb87c21f36 (diff)
Added some XML parsing => DOM (pracro, requests and commits).
Diffstat (limited to 'server/src/xmlparser.cc')
-rw-r--r--server/src/xmlparser.cc21
1 files changed, 20 insertions, 1 deletions
diff --git a/server/src/xmlparser.cc b/server/src/xmlparser.cc
index 7e5fb14..7efdc83 100644
--- a/server/src/xmlparser.cc
+++ b/server/src/xmlparser.cc
@@ -62,13 +62,32 @@ void start_hndl(void *p, const char *el, const char **attr)
*/
// Do something reasonable with them...
+ if(name == "pracro") {
+ transaction->cpr = attributes["cpr"];
+ transaction->version = attributes["version"];
+ }
+
if(name == "request") {
Request r;
r.macro = attributes["macro"];
- // printf("%s\n", r.macro.c_str());
transaction->requests.push_back(r);
}
+ if(name == "commit") {
+ Commit c;
+ c.user = attributes["user"];
+ c.macro = attributes["macro"];
+ c.version = attributes["version"];
+ transaction->commits.push_back(c);
+ }
+
+ if(name == "field") {
+ CommitValue v;
+ v.name = attributes["name"];
+ v.value = attributes["value"];
+ transaction->commits.back().values.push_back(v);
+ }
+
}
void end_hndl(void *p, const char *el)