diff options
author | Ross Burton <ross@linux.intel.com> | 2008-12-18 14:33:37 +0000 |
---|---|---|
committer | Ross Burton <ross@linux.intel.com> | 2008-12-18 14:33:37 +0000 |
commit | b8f2ecafba364a2beb018706c675deb53f2d6f99 (patch) | |
tree | cf181f68daafed088ac78007b3a8cf4c2ac94294 /rest/rest-xml-parser.h | |
parent | 2d284d5a7ee5106b48db165c2d2c3aaa0147b4bd (diff) | |
download | librest-b8f2ecafba364a2beb018706c675deb53f2d6f99.tar.gz |
Make RestXmlNode ref counted, and add a boxed gtype
Diffstat (limited to 'rest/rest-xml-parser.h')
-rw-r--r-- | rest/rest-xml-parser.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/rest/rest-xml-parser.h b/rest/rest-xml-parser.h index e7a5804..a7fbec5 100644 --- a/rest/rest-xml-parser.h +++ b/rest/rest-xml-parser.h @@ -22,6 +22,8 @@ G_BEGIN_DECLS #define REST_XML_PARSER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), REST_TYPE_XML_PARSER, RestXmlParserClass)) +#define REST_TYPE_XML_NODE rest_xml_node_get_type () + typedef struct { GObject parent; } RestXmlParser; @@ -32,6 +34,7 @@ typedef struct { typedef struct _RestXmlNode RestXmlNode; struct _RestXmlNode { + volatile int ref_count; gchar *name; gchar *content; GHashTable *children; @@ -41,14 +44,19 @@ struct _RestXmlNode { GType rest_xml_parser_get_type (void); -RestXmlNode *rest_xml_node_new (void); -void rest_xml_node_free (RestXmlNode *node); - RestXmlParser *rest_xml_parser_new (void); RestXmlNode *rest_xml_parser_parse_from_data (RestXmlParser *parser, const gchar *data, goffset len); +GType rest_xml_node_get_type (void); + +RestXmlNode *rest_xml_node_new (void); + +RestXmlNode * rest_xml_node_ref (RestXmlNode *node); +void rest_xml_node_unref (RestXmlNode *node); +G_GNUC_DEPRECATED void rest_xml_node_free (RestXmlNode *node); + const gchar *rest_xml_node_get_attr (RestXmlNode *node, const gchar *attr_name); RestXmlNode *rest_xml_node_find (RestXmlNode *node, |