summaryrefslogtreecommitdiff
path: root/rest/rest-xml-parser.h
diff options
context:
space:
mode:
authorRoss Burton <ross@linux.intel.com>2008-12-18 14:33:37 +0000
committerRoss Burton <ross@linux.intel.com>2008-12-18 14:33:37 +0000
commitb8f2ecafba364a2beb018706c675deb53f2d6f99 (patch)
treecf181f68daafed088ac78007b3a8cf4c2ac94294 /rest/rest-xml-parser.h
parent2d284d5a7ee5106b48db165c2d2c3aaa0147b4bd (diff)
downloadlibrest-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.h14
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,