summaryrefslogtreecommitdiff
path: root/src/old/xmldocument.cpp
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2007-06-12 01:28:27 +0000
committerMike Buland <eichlan@xagasoft.com>2007-06-12 01:28:27 +0000
commit4cb166570a8e2e97216bf6c7aeb99b971ff58ad7 (patch)
treeb8d22af96957666ac761b6ca1b57da1eee2e56a5 /src/old/xmldocument.cpp
parentb6f50f249ba3b18c597531a2d5dbc45f7bfa3eaa (diff)
downloadlibbu++-4cb166570a8e2e97216bf6c7aeb99b971ff58ad7.tar.gz
libbu++-4cb166570a8e2e97216bf6c7aeb99b971ff58ad7.tar.bz2
libbu++-4cb166570a8e2e97216bf6c7aeb99b971ff58ad7.tar.xz
libbu++-4cb166570a8e2e97216bf6c7aeb99b971ff58ad7.zip
Moved out the xml system again. I think that if I am going to do it again,
I'm going to do it over from scratch, that was just painful. Also, started in again on the server system, it's looking pretty good, already got connections working, next up is managing data flow through clients and protocols!
Diffstat (limited to 'src/old/xmldocument.cpp')
-rw-r--r--src/old/xmldocument.cpp145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/old/xmldocument.cpp b/src/old/xmldocument.cpp
new file mode 100644
index 0000000..95b9788
--- /dev/null
+++ b/src/old/xmldocument.cpp
@@ -0,0 +1,145 @@
1#include <stdio.h>
2#include <stdlib.h>
3#include "xmldocument.h"
4
5XmlDocument::XmlDocument( XmlNode *pRoot )
6{
7 this->pRoot = pRoot;
8 pCurrent = NULL;
9 bCompleted = (pRoot!=NULL);
10}
11
12XmlDocument::~XmlDocument()
13{
14 if( pRoot )
15 {
16 delete pRoot;
17 }
18}
19
20void XmlDocument::addNode( const Bu::FString &sName )
21{
22 if( pRoot == NULL )
23 {
24 // This is the first node, so ignore position and just insert it.
25 pCurrent = pRoot = new XmlNode( sName );
26 }
27 else
28 {
29 pCurrent = pCurrent->addChild( sName );
30 }
31}
32/*
33void XmlDocument::setName( const char *sName )
34{
35 pCurrent->setName( sName );
36}*/
37
38bool XmlDocument::isCompleted()
39{
40 return bCompleted;
41}
42
43XmlNode *XmlDocument::getRoot()
44{
45 return pRoot;
46}
47
48XmlNode *XmlDocument::detatchRoot()
49{
50 XmlNode *pTemp = pRoot;
51 pRoot = NULL;
52 return pTemp;
53}
54
55XmlNode *XmlDocument::getCurrent()
56{
57 return pCurrent;
58}
59
60void XmlDocument::closeNode()
61{
62 if( pCurrent != NULL )
63 {
64 pCurrent = pCurrent->getParent();
65
66 if( pCurrent == NULL )
67 {
68 bCompleted = true;
69 }
70 }
71}
72
73void XmlDocument::addProperty( const char *sName, const char *sValue )
74{
75 if( pCurrent )
76 {
77 pCurrent->addProperty( sName, sValue );
78 }
79}
80
81void XmlDocument::addProperty( const char *sName, const unsigned char nValue )
82{
83 char buf[12];
84 sprintf( buf, "%hhi", nValue );
85 addProperty( sName, buf );
86}
87
88void XmlDocument::addProperty( const char *sName, const char nValue )
89{
90 char buf[12];
91 sprintf( buf, "%hhi", nValue );
92 addProperty( sName, buf );
93}
94
95void XmlDocument::addProperty( const char *sName, const unsigned short nValue )
96{
97 char buf[12];
98 sprintf( buf, "%hi", nValue );
99 addProperty( sName, buf );
100}
101
102void XmlDocument::addProperty( const char *sName, const short nValue )
103{
104 char buf[12];
105 sprintf( buf, "%hi", nValue );
106 addProperty( sName, buf );
107}
108
109void XmlDocument::addProperty( const char *sName, const int nValue )
110{
111 char buf[12];
112 sprintf( buf, "%d", nValue );
113 addProperty( sName, buf );
114}
115
116void XmlDocument::addProperty( const char *sName, const unsigned long nValue )
117{
118 char buf[12];
119 sprintf( buf, "%li", nValue );
120 addProperty( sName, buf );
121}
122
123void XmlDocument::addProperty( const char *sName, const long nValue )
124{
125 char buf[12];
126 sprintf( buf, "%li", nValue );
127 addProperty( sName, buf );
128}
129
130void XmlDocument::addProperty( const char *sName, const double dValue )
131{
132 char buf[40];
133 sprintf( buf, "%f", dValue );
134 addProperty( sName, buf );
135}
136
137void XmlDocument::setContent( const char *sContent )
138{
139 if( pCurrent )
140 {
141 printf("XmlDocument::setContent: not yet implemented.\n");
142 //pCurrent->setContent( sContent );
143 }
144}
145