[json-glib] Use the new typed JsonNode initializers



commit 893c30b4b8ce10c017d10bd534c38c458da4436c
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Sat Oct 27 11:51:11 2012 +0100

    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 ++++++++++++++++------------------------------
 json-glib/json-object.c |   48 +++++++++++++++--------------------------
 2 files changed, 37 insertions(+), 65 deletions(-)
---
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);
 }
diff --git a/json-glib/json-object.c b/json-glib/json-object.c
index acb3c5a..e7a7e29 100644
--- a/json-glib/json-object.c
+++ b/json-glib/json-object.c
@@ -232,14 +232,10 @@ json_object_set_int_member (JsonObject  *object,
                             const gchar *member_name,
                             gint64       value)
 {
-  JsonNode *node;
-
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != NULL);
 
-  node = json_node_new (JSON_NODE_VALUE);
-  json_node_set_int (node, value);
-  object_set_member_internal (object, member_name, node);
+  object_set_member_internal (object, member_name, json_node_init_int (json_node_alloc (), value));
 }
 
 /**
@@ -260,14 +256,10 @@ json_object_set_double_member (JsonObject  *object,
                                const gchar *member_name,
                                gdouble      value)
 {
-  JsonNode *node;
-
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != NULL);
 
-  node = json_node_new (JSON_NODE_VALUE);
-  json_node_set_double (node, value);
-  object_set_member_internal (object, member_name, node);
+  object_set_member_internal (object, member_name, json_node_init_double (json_node_alloc (), value));
 }
 
 /**
@@ -288,14 +280,10 @@ json_object_set_boolean_member (JsonObject  *object,
                                 const gchar *member_name,
                                 gboolean     value)
 {
-  JsonNode *node;
-
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != NULL);
 
-  node = json_node_new (JSON_NODE_VALUE);
-  json_node_set_boolean (node, value);
-  object_set_member_internal (object, member_name, node);
+  object_set_member_internal (object, member_name, json_node_init_boolean (json_node_alloc (), value));
 }
 
 /**
@@ -321,13 +309,12 @@ json_object_set_string_member (JsonObject  *object,
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != NULL);
 
+  node = json_node_alloc ();
+
   if (value != NULL)
-    {
-      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);
 
   object_set_member_internal (object, member_name, node);
 }
@@ -348,13 +335,10 @@ void
 json_object_set_null_member (JsonObject  *object,
                              const gchar *member_name)
 {
-  JsonNode *node;
-
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != NULL);
 
-  node = json_node_new (JSON_NODE_NULL);
-  object_set_member_internal (object, member_name, node);
+  object_set_member_internal (object, member_name, json_node_init_null (json_node_alloc ()));
 }
 
 /**
@@ -382,13 +366,15 @@ json_object_set_array_member (JsonObject  *object,
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != 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);
 
   object_set_member_internal (object, member_name, node);
 }
@@ -418,13 +404,15 @@ json_object_set_object_member (JsonObject  *object,
   g_return_if_fail (object != NULL);
   g_return_if_fail (member_name != 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);
 
   object_set_member_internal (object, member_name, node);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]