From 0e93e6809c7beac4597148edc1dc09bcdf9a2ab3 Mon Sep 17 00:00:00 2001 From: "iamyhw@gmail.com" Date: Thu, 24 Mar 2011 14:00:19 +0000 Subject: add rtgui_win subfield,Highlight the ease of use git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1345 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- components/rtgui_win/include/rtgui/rtgui_xml.h | 34 ++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 components/rtgui_win/include/rtgui/rtgui_xml.h (limited to 'components/rtgui_win/include/rtgui/rtgui_xml.h') diff --git a/components/rtgui_win/include/rtgui/rtgui_xml.h b/components/rtgui_win/include/rtgui/rtgui_xml.h new file mode 100644 index 0000000000..abdc5c79af --- /dev/null +++ b/components/rtgui_win/include/rtgui/rtgui_xml.h @@ -0,0 +1,34 @@ +#ifndef __RTGUI_XML_H__ +#define __RTGUI_XML_H__ + +#include + +/* 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 (*XML_handle)(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, XML_handle 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 -- cgit v1.3.1