2 #include "cmd/unit_generic.h"
3 #include "cmd/images.h"
8 #include "networking/const.h"
11 using namespace XMLSupport;
12 using namespace VSFileSystem;
77 return *( (
string*) (input.
w.
p) );
108 f.
Fprintf(
" %s=\"%s\"", elem.c_str(), ( (*handler)(value, mythis) ).c_str() );
116 for (
int i = 0; i < level; i++)
122 f.
Fprintf(
"<%s", val.c_str() );
123 for (
unsigned int i = 0; i < elements.size(); i++)
124 elements[i].Write( f, mythis );
125 if ( subnodes.empty() ) {
129 for (
unsigned int i = 0; i < subnodes.size(); i++)
130 subnodes[i].Write( f, mythis, level+1 );
132 f.
Fprintf(
"</%s>\n", val.c_str() );
137 if (modificationname)
138 if (strlen( modificationname ) != 0)
139 savedir = modificationname;
144 fprintf( stderr,
"!!! ERROR : Writing saved unit file : %s\n", f.
GetFullPath().c_str() );
147 for (
unsigned int i = 0; i < topnode.subnodes.size(); i++)
148 topnode.subnodes[i].Write( f, mythis, 0 );
152 static string TabString(
int level )
155 for (
int i = 0; i < level; i++)
162 for (
unsigned int i = 0; i < topnode.subnodes.size(); i++)
163 ret += topnode.subnodes[i].WriteString( mythis, 0 );
169 char buffer[MAXBUFFER];
170 memset( buffer, 0, MAXBUFFER );
171 ret = TabString( level );
173 ret += string( buffer );
174 for (
unsigned int i = 0; i < elements.size(); i++)
175 ret += elements[i].WriteString( mythis );
176 if ( subnodes.empty() ) {
180 for (
unsigned int i = 0; i < subnodes.size(); i++)
181 ret += subnodes[i].WriteString( mythis, level+1 );
182 ret += TabString( level );
183 ret = ret+
"</"+val+
">\n";
189 string ret(
" "+elem+
"=\""+( (*handler)(value, mythis) )+
"\"" );
200 this->filename = string( modificationname );
202 this->filename = string( filename );
207 curnode = &curnode->
subnodes.back();
218 if (endname == curnode->
val)
219 curnode = curnode->
up;