12345678910111213141516171819202122232425262728293031323334 |
- #ifndef __RTGUI_XML_H__
- #define __RTGUI_XML_H__
- #include <rtgui/rtgui.h>
- /* Types of events: start element, end element, text, attr name, attr
- val and start/end document. Other events can be ignored! */
- enum {
- EVENT_START = 0, /* Start tag */
- EVENT_END, /* End tag */
- EVENT_TEXT, /* Text */
- EVENT_NAME, /* Attribute name */
- EVENT_VAL, /* Attribute value */
- EVENT_END_DOC, /* End of document */
- EVENT_COPY, /* Internal only; copies to internal buffer */
- EVENT_NONE /* Internal only; should never see this event */
- };
- /* xml structure typedef */
- typedef struct rtgui_xml rtgui_xml_t;
- typedef int (*rtgui_xml_event_handler_t)(rt_uint8_t event, const char* text, rt_size_t len, void* user);
- /* create a xml parser context */
- rtgui_xml_t* rtgui_xml_create(rt_size_t buffer_size, rtgui_xml_event_handler_t handler, void* user);
- /* destroy a xml parser context */
- void rtgui_xml_destroy(rtgui_xml_t* rtgui_xml);
- /* parse xml buffer */
- int rtgui_xml_parse(rtgui_xml_t* rtgui_xml, const char* buf, rt_size_t len);
- /* event string */
- const char* rtgui_xml_event_str(rt_uint8_t event);
- #endif
|