Some additional XML helpers.

This commit is contained in:
Adam Sutton 2012-06-20 12:47:03 +01:00
parent 26569fc3e9
commit dcbcf4fe35
2 changed files with 19 additions and 0 deletions

View file

@ -890,4 +890,21 @@ htsmsg_xml_get_cdata_u32(htsmsg_t *tags, const char *name, uint32_t *u32)
return htsmsg_get_u32(sub, "cdata", u32);
}
/*
* Get tag attribute
*/
const char *
htsmsg_xml_get_attr_str ( htsmsg_t *tag, const char *name )
{
htsmsg_t *attr = htsmsg_get_map(tag, "attrib");
if (attr) return htsmsg_get_str(tag, name);
return NULL;
}
int
htsmsg_xml_get_attr_u32 ( htsmsg_t *tag, const char *name, uint32_t *ret )
{
htsmsg_t *attr = htsmsg_get_map(tag, "attrib");
if (attr) return htsmsg_get_u32(attr, name, ret);
return HTSMSG_ERR_FIELD_NOT_FOUND;
}

View file

@ -25,5 +25,7 @@
htsmsg_t *htsmsg_xml_deserialize(char *src, char *errbuf, size_t errbufsize);
const char *htsmsg_xml_get_cdata_str (htsmsg_t *tags, const char *tag);
int htsmsg_xml_get_cdata_u32 (htsmsg_t *tags, const char *tag, uint32_t *u32);
const char *htsmsg_xml_get_attr_str(htsmsg_t *tag, const char *attr);
int htsmsg_xml_get_attr_u32(htsmsg_t *tag, const char *attr, uint32_t *u32);
#endif /* HTSMSG_XML_H_ */