Delta Chat Core C-API
dc_saxparser.h
1 #ifndef __DC_SAXPARSER_H__
2 #define __DC_SAXPARSER_H__
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 
8 typedef struct _dc_saxparser dc_saxparser_t;
9 
10 
11 typedef void (*dc_saxparser_starttag_cb_t) (void* userdata, const char* tag, char** attr);
12 typedef void (*dc_saxparser_endtag_cb_t) (void* userdata, const char* tag);
13 typedef void (*dc_saxparser_text_cb_t) (void* userdata, const char* text, int len); /* len is only informational, text is already null-terminated */
14 
15 
16 struct _dc_saxparser
17 {
18  dc_saxparser_starttag_cb_t starttag_cb;
19  dc_saxparser_endtag_cb_t endtag_cb;
20  dc_saxparser_text_cb_t text_cb;
21  void* userdata;
22 };
23 
24 
25 void dc_saxparser_init (dc_saxparser_t*, void* userData);
26 void dc_saxparser_set_tag_handler (dc_saxparser_t*, dc_saxparser_starttag_cb_t, dc_saxparser_endtag_cb_t);
27 void dc_saxparser_set_text_handler (dc_saxparser_t*, dc_saxparser_text_cb_t);
28 
29 void dc_saxparser_parse (dc_saxparser_t*, const char* text);
30 
31 const char* dc_attr_find (char** attr, const char* key);
32 
33 
34 /*** library-private **********************************************************/
35 
36 
37 #ifdef __cplusplus
38 } /* /extern "C" */
39 #endif
40 #endif /* __DC_SAXPARSER_H__ */
41