summaryrefslogtreecommitdiff
path: root/json-glib/json-object.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-15 10:25:09 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-15 10:25:09 +0100
commit28928a2f1cbe83a2f1bf699c915daa6eca80f587 (patch)
tree5efa69ef1d28e897623c47bd9ea96a7881bc4958 /json-glib/json-object.c
parentb3ecd6e2fbdd58250427f406c43d60b8cb8d2644 (diff)
downloadjson-glib-28928a2f1cbe83a2f1bf699c915daa6eca80f587.tar.gz
Add API for removing nodes from arrays and objects
Write and document json_object_remove_member() and json_array_remove_element() which can be used to remove a JsonNode from a JsonObject or a JsonArray respectively. This way, the JsonObject and JsonArray are API-complete and the object model can be manipulated in code.
Diffstat (limited to 'json-glib/json-object.c')
-rw-r--r--json-glib/json-object.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/json-glib/json-object.c b/json-glib/json-object.c
index 8286fd8..8eb41fc 100644
--- a/json-glib/json-object.c
+++ b/json-glib/json-object.c
@@ -235,3 +235,20 @@ json_object_get_size (JsonObject *object)
return g_hash_table_size (object->members);
}
+
+/**
+ * json_object_remove_member:
+ * @object: a #JsonObject
+ * @member_name: the name of the member to remove
+ *
+ * Removes @member_name from @object, freeing its allocated resources.
+ */
+void
+json_object_remove_member (JsonObject *object,
+ const gchar *member_name)
+{
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (member_name != NULL);
+
+ g_hash_table_remove (object->members, member_name);
+}