summaryrefslogtreecommitdiff
path: root/json-glib/json-node.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 19:49:43 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 19:49:43 +0100
commitf09acae8e0d6ceba5d13de75551491835a7e71de (patch)
tree91c40f3780dd68e906de38fcb797b2bcddd6135a /json-glib/json-node.c
parent228a5e4efe65995778847f48d2be43f3df988e10 (diff)
downloadjson-glib-f09acae8e0d6ceba5d13de75551491835a7e71de.tar.gz
Document the new public functions
Now that we moved the constructors and setters for the JSON data types into the public symbols we need to document them to get back to 100% doc coverage.
Diffstat (limited to 'json-glib/json-node.c')
-rw-r--r--json-glib/json-node.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/json-glib/json-node.c b/json-glib/json-node.c
index 0cf1b83..3935782 100644
--- a/json-glib/json-node.c
+++ b/json-glib/json-node.c
@@ -42,17 +42,36 @@
* they contain.
*/
+/**
+ * json_node_new:
+ * @type: a #JsonNodeType
+ *
+ * Creates a new #JsonNode of @type.
+ *
+ * Return value: the newly created #JsonNode
+ */
JsonNode *
json_node_new (JsonNodeType type)
{
JsonNode *data;
+ g_return_val_if_fail (type >= JSON_NODE_OBJECT && type <= JSON_NODE_NULL, NULL);
+
data = g_slice_new (JsonNode);
data->type = type;
return data;
}
+/**
+ * json_node_copy:
+ * @node: a #JsonNode
+ *
+ * Copies @node. If the node contains complex data types then the reference
+ * count of the objects is increased.
+ *
+ * Return value: the copied #JsonNode
+ */
JsonNode *
json_node_copy (JsonNode *node)
{
@@ -84,6 +103,13 @@ json_node_copy (JsonNode *node)
return copy;
}
+/**
+ * json_node_set_object:
+ * @node: a #JsonNode
+ * @object: a #JsonObject
+ *
+ * Sets @objects inside @node. The reference count of @object is increased.
+ */
void
json_node_set_object (JsonNode *node,
JsonObject *object)
@@ -100,6 +126,13 @@ json_node_set_object (JsonNode *node,
node->data.object = NULL;
}
+/**
+ * json_node_take_object:
+ * @node: a #JsonNode
+ * @object: a #JsonObject
+ *
+ * Sets @object inside @node. The reference count of @object is not increased.
+ */
void
json_node_take_object (JsonNode *node,
JsonObject *object)
@@ -134,6 +167,15 @@ json_node_get_object (JsonNode *node)
return node->data.object;
}
+/**
+ * json_node_dup_object:
+ * @node: a #JsonNode
+ *
+ * Retrieves the #JsonObject inside @node. The reference count of
+ * the returned object is increased.
+ *
+ * Return value: the #JsonObject
+ */
JsonObject *
json_node_dup_object (JsonNode *node)
{
@@ -146,6 +188,13 @@ json_node_dup_object (JsonNode *node)
return NULL;
}
+/**
+ * json_node_set_array:
+ * @node: a #JsonNode
+ * @array: a #JsonArray
+ *
+ * Sets @array inside @node and increases the #JsonArray reference count
+ */
void
json_node_set_array (JsonNode *node,
JsonArray *array)
@@ -162,6 +211,13 @@ json_node_set_array (JsonNode *node,
node->data.array = NULL;
}
+/**
+ * json_node_take_array:
+ * @node: a #JsonNode
+ * @array: a #JsonArray
+ *
+ * Sets @array into @node without increasing the #JsonArray reference count.
+ */
void
json_node_take_array (JsonNode *node,
JsonArray *array)
@@ -196,6 +252,15 @@ json_node_get_array (JsonNode *node)
return node->data.array;
}
+/**
+ * json_node_dup_array
+ * @node: a #JsonNode
+ *
+ * Retrieves the #JsonArray stored inside a #JsonNode and returns it
+ * with its reference count increased by one.
+ *
+ * Return value: the #JsonArray with its reference count increased.
+ */
JsonArray *
json_node_dup_array (JsonNode *node)
{
@@ -230,6 +295,13 @@ json_node_get_value (JsonNode *node,
}
}
+/**
+ * json_node_set_value:
+ * @node: a #JsonNode
+ * @value: the #GValue to set
+ *
+ * Sets @value inside @node. The passed #GValue is copied into the #JsonNode
+ */
void
json_node_set_value (JsonNode *node,
const GValue *value)
@@ -244,6 +316,12 @@ json_node_set_value (JsonNode *node,
g_value_copy (value, &(node->data.value));
}
+/**
+ * json_node_free:
+ * @node: a #JsonNode
+ *
+ * Frees the resources allocated by @node.
+ */
void
json_node_free (JsonNode *node)
{