Umasoft
Main Page
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
TerrainSDK
xmlhelper
easyxml.hpp
Go to the documentation of this file.
1
8
#ifndef __EASYXML_HPP
9
#define __EASYXML_HPP
10
11
#ifdef _MSC_VER
12
#pragma warning(disable: 4100) // Avoid picky compiler warning about unused params
13
#endif
14
15
#include "
exception.hpp
"
16
17
#include <iostream>
18
#include <string>
19
#include <vector>
20
#include "zlib.h"
21
22
using namespace
std;
23
34
class
XMLAttributes
35
{
36
public
:
38
XMLAttributes
();
39
41
virtual
~
XMLAttributes
();
42
48
virtual
int
size ()
const
= 0;
49
59
virtual
const
char
* getName (
int
i)
const
= 0;
60
70
virtual
const
char
* getValue (
int
i)
const
= 0;
71
83
virtual
int
findAttribute (
const
char
* name)
const
;
84
92
virtual
bool
hasAttribute (
const
char
* name)
const
;
93
104
virtual
const
char
* getValue (
const
char
* name)
const
;
105
};
106
107
119
class
XMLAttributesDefault
:
public
XMLAttributes
120
{
121
public
:
123
XMLAttributesDefault
();
124
133
XMLAttributesDefault
(
const
XMLAttributes
& atts);
134
135
139
virtual
~
XMLAttributesDefault
();
140
141
145
virtual
int
size ()
const
;
146
147
151
virtual
const
char
* getName (
int
i)
const
;
152
153
157
virtual
const
char
* getValue (
int
i)
const
;
158
159
168
virtual
void
addAttribute (
const
char
* name,
const
char
* value);
169
170
180
virtual
void
setName (
int
i,
const
char
* name);
181
182
192
virtual
void
setValue (
int
i,
const
char
* value);
193
194
205
virtual
void
setValue (
const
char
* name,
const
char
* value);
206
207
private
:
208
vector<string> _atts;
209
};
210
211
223
class
XMLVisitor
224
{
225
public
:
227
virtual
~XMLVisitor
() {}
228
239
virtual
void
startXML
() {}
240
255
virtual
void
endXML
() {}
256
275
virtual
void
startElement
(
const
char
* name,
const
XMLAttributes
&atts) {}
276
285
virtual
void
endElement
(
const
char
* name) {}
286
301
virtual
void
data
(
const
char
* s,
int
length) {}
302
317
virtual
void
pi
(
const
char
* target,
const
char
* data) {}
318
331
virtual
void
warning
(
const
char
* message,
int
line,
int
column) {}
332
};
333
334
354
extern
void
readXML
(istream &input,
XMLVisitor
&visitor,
355
const
string
&path=
""
,
356
bool
progress_callback(
int
) = NULL);
357
extern
void
readCompressedXML(gzFile fp,
XMLVisitor
&visitor,
358
const
string
& path=
""
,
359
int
iFileLength = -1,
360
bool
progress_callback(
int
) = NULL);
361
362
381
extern
void
readXML
(
const
string
&path,
XMLVisitor
&visitor,
382
bool
progress_callback(
int
) = NULL);
383
384
385
#endif // __EASYXML_HPP
386
Generated on Fri Jun 7 2013 16:07:54 for Umasoft by
1.8.4