From 893c30b4b8ce10c017d10bd534c38c458da4436c Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Sat, 27 Oct 2012 11:51:11 +0100 Subject: Use the new typed JsonNode initializers The typed setters in JsonArray and JsonObject should use the JsonNode typed initializers. --- json-glib/json-array.c | 54 ++++++++++++++++++-------------------------------- 1 file changed, 19 insertions(+), 35 deletions(-) (limited to 'json-glib/json-array.c') diff --git a/json-glib/json-array.c b/json-glib/json-array.c index b353ea3..0d65e42 100644 --- a/json-glib/json-array.c +++ b/json-glib/json-array.c @@ -487,14 +487,9 @@ void json_array_add_int_element (JsonArray *array, gint64 value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_int (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_int (json_node_alloc (), value)); } /** @@ -512,14 +507,9 @@ void json_array_add_double_element (JsonArray *array, gdouble value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_double (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_double (json_node_alloc (), value)); } /** @@ -537,14 +527,9 @@ void json_array_add_boolean_element (JsonArray *array, gboolean value) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_VALUE); - json_node_set_boolean (node, value); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_boolean (json_node_alloc (), value)); } /** @@ -566,13 +551,12 @@ json_array_add_string_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL && *value != '\0') - { - node = json_node_new (JSON_NODE_VALUE); - json_node_set_string (node, value); - } + json_node_init_string (node, value); else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } @@ -590,19 +574,15 @@ json_array_add_string_element (JsonArray *array, void json_array_add_null_element (JsonArray *array) { - JsonNode *node; - g_return_if_fail (array != NULL); - node = json_node_new (JSON_NODE_NULL); - - g_ptr_array_add (array->elements, node); + g_ptr_array_add (array->elements, json_node_init_null (json_node_alloc ())); } /** * json_array_add_array_element: * @array: a #JsonArray - * @value: (transfer full): a #JsonArray + * @value: (allow-none) (transfer full): a #JsonArray * * Conveniently adds an array into @array. The @array takes ownership * of the newly added #JsonArray @@ -619,13 +599,15 @@ json_array_add_array_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_ARRAY); - json_node_take_array (node, value); + json_node_init_array (node, value); + json_array_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } @@ -650,13 +632,15 @@ json_array_add_object_element (JsonArray *array, g_return_if_fail (array != NULL); + node = json_node_alloc (); + if (value != NULL) { - node = json_node_new (JSON_NODE_OBJECT); - json_node_take_object (node, value); + json_node_init_object (node, value); + json_object_unref (value); } else - node = json_node_new (JSON_NODE_NULL); + json_node_init_null (node); g_ptr_array_add (array->elements, node); } -- cgit v1.2.1