summaryrefslogtreecommitdiffabout
path: root/include/opkele/expat.h
Unidiff
Diffstat (limited to 'include/opkele/expat.h') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/expat.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opkele/expat.h b/include/opkele/expat.h
index 3ab1630..21be003 100644
--- a/include/opkele/expat.h
+++ b/include/opkele/expat.h
@@ -1,60 +1,63 @@
1#ifndef __OPKELE_EXPAT_H 1#ifndef __OPKELE_EXPAT_H
2#define __OPKELE_EXPAT_H 2#define __OPKELE_EXPAT_H
3 3
4#include <cassert> 4#include <cassert>
5#include <expat.h> 5#include <expat.h>
6 6
7namespace opkele { 7namespace opkele {
8 8
9 namespace util { 9 namespace util {
10 10
11 class expat_t { 11 class expat_t {
12 public: 12 public:
13 XML_Parser _x; 13 XML_Parser _x;
14 14
15 expat_t() : _x(0) { } 15 expat_t() : _x(0) { }
16 expat_t(XML_Parser x) : _x(x) { } 16 expat_t(XML_Parser x) : _x(x) { }
17 virtual ~expat_t() throw(); 17 virtual ~expat_t() throw();
18 18
19 expat_t& operator=(XML_Parser x); 19 expat_t& operator=(XML_Parser x);
20 20
21 operator const XML_Parser(void) const { return _x; } 21 operator const XML_Parser(void) const { return _x; }
22 operator XML_Parser(void) { return _x; } 22 operator XML_Parser(void) { return _x; }
23 23
24 inline bool parse(const char *s,int len,bool final=false) { 24 inline bool parse(const char *s,int len,bool final=false) {
25 assert(_x); 25 assert(_x);
26 return XML_Parse(_x,s,len,final); 26 return XML_Parse(_x,s,len,final);
27 } 27 }
28 28
29 virtual int unknown_encoding(const XML_Char * /* n */,XML_Encoding * /* i */) { return XML_STATUS_ERROR; }
30 void set_unknown_encoding_handler();
31
29 virtual void start_element(const XML_Char * /* n */,const XML_Char ** /* a */) { } 32 virtual void start_element(const XML_Char * /* n */,const XML_Char ** /* a */) { }
30 virtual void end_element(const XML_Char * /* n */) { } 33 virtual void end_element(const XML_Char * /* n */) { }
31 void set_element_handler(); 34 void set_element_handler();
32 35
33 virtual void character_data(const XML_Char * /* s */,int /* l */) { } 36 virtual void character_data(const XML_Char * /* s */,int /* l */) { }
34 void set_character_data_handler(); 37 void set_character_data_handler();
35 38
36 virtual void processing_instruction(const XML_Char * /* t */,const XML_Char * /* d */) { } 39 virtual void processing_instruction(const XML_Char * /* t */,const XML_Char * /* d */) { }
37 void set_processing_instruction_handler(); 40 void set_processing_instruction_handler();
38 41
39 virtual void comment(const XML_Char * /* d */) { } 42 virtual void comment(const XML_Char * /* d */) { }
40 void set_comment_handler(); 43 void set_comment_handler();
41 44
42 virtual void start_cdata_section() { } 45 virtual void start_cdata_section() { }
43 virtual void end_cdata_section() { } 46 virtual void end_cdata_section() { }
44 void set_cdata_section_handler(); 47 void set_cdata_section_handler();
45 48
46 virtual void default_handler(const XML_Char * /* s */,int /* l */) { } 49 virtual void default_handler(const XML_Char * /* s */,int /* l */) { }
47 void set_default_handler(); 50 void set_default_handler();
48 void set_default_handler_expand(); 51 void set_default_handler_expand();
49 52
50 virtual void start_namespace_decl(const XML_Char * /* p */,const XML_Char * /* u */) { } 53 virtual void start_namespace_decl(const XML_Char * /* p */,const XML_Char * /* u */) { }
51 virtual void end_namespace_decl(const XML_Char * /* p */) { } 54 virtual void end_namespace_decl(const XML_Char * /* p */) { }
52 void set_namespace_decl_handler(); 55 void set_namespace_decl_handler();
53 56
54 inline enum XML_Error get_error_code() { 57 inline enum XML_Error get_error_code() {
55 assert(_x); return XML_GetErrorCode(_x); } 58 assert(_x); return XML_GetErrorCode(_x); }
56 static inline const XML_LChar *error_string(XML_Error c) { 59 static inline const XML_LChar *error_string(XML_Error c) {
57 return XML_ErrorString(c); } 60 return XML_ErrorString(c); }
58 61
59 inline long get_current_byte_index() { 62 inline long get_current_byte_index() {
60 assert(_x); return XML_GetCurrentByteIndex(_x); } 63 assert(_x); return XML_GetCurrentByteIndex(_x); }