summaryrefslogtreecommitdiffabout
path: root/include
authorMichael Krelin <hacker@klever.net>2008-01-05 19:39:07 (UTC)
committer Michael Krelin <hacker@klever.net>2008-01-05 22:03:51 (UTC)
commit7bde7f66284b47a75bbceadc360e7f03550ace21 (patch) (unidiff)
tree401b24fc8b952fee21ad3dce117d4baf99048c9f /include
parent8e3f9231383194d94e41032b64d87cc6ef1c2ee8 (diff)
downloadlibopkele-7bde7f66284b47a75bbceadc360e7f03550ace21.zip
libopkele-7bde7f66284b47a75bbceadc360e7f03550ace21.tar.gz
libopkele-7bde7f66284b47a75bbceadc360e7f03550ace21.tar.bz2
discovery: stop parser with XML_StopParser()
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/expat.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/opkele/expat.h b/include/opkele/expat.h
index 60c41ac..97ed61a 100644
--- a/include/opkele/expat.h
+++ b/include/opkele/expat.h
@@ -2,50 +2,52 @@
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 enum XML_Status stop_parser(bool resumable=false) {
28 assert(_x);
29 return XML_StopParser(_x,resumable); }
28 30
29 virtual void start_element(const XML_Char *n,const XML_Char **a) { } 31 virtual void start_element(const XML_Char *n,const XML_Char **a) { }
30 virtual void end_element(const XML_Char *n) { } 32 virtual void end_element(const XML_Char *n) { }
31 void set_element_handler(); 33 void set_element_handler();
32 34
33 virtual void character_data(const XML_Char *s,int l) { } 35 virtual void character_data(const XML_Char *s,int l) { }
34 void set_character_data_handler(); 36 void set_character_data_handler();
35 37
36 virtual void processing_instruction(const XML_Char *t,const XML_Char *d) { } 38 virtual void processing_instruction(const XML_Char *t,const XML_Char *d) { }
37 void set_processing_instruction_handler(); 39 void set_processing_instruction_handler();
38 40
39 virtual void comment(const XML_Char *d) { } 41 virtual void comment(const XML_Char *d) { }
40 void set_comment_handler(); 42 void set_comment_handler();
41 43
42 virtual void start_cdata_section() { } 44 virtual void start_cdata_section() { }
43 virtual void end_cdata_section() { } 45 virtual void end_cdata_section() { }
44 void set_cdata_section_handler(); 46 void set_cdata_section_handler();
45 47
46 virtual void default_handler(const XML_Char *s,int l) { } 48 virtual void default_handler(const XML_Char *s,int l) { }
47 void set_default_handler(); 49 void set_default_handler();
48 void set_default_handler_expand(); 50 void set_default_handler_expand();
49 51
50 virtual void start_namespace_decl(const XML_Char *p,const XML_Char *u) { } 52 virtual void start_namespace_decl(const XML_Char *p,const XML_Char *u) { }
51 virtual void end_namespace_decl(const XML_Char *p) { } 53 virtual void end_namespace_decl(const XML_Char *p) { }