/** * json_object_set_member: * @object: a #JsonObject * @member_name: the name of the member * @node: the value of the member * * Sets @node as the value of @member_name inside @object. * * If @object already contains a member called @member_name then * the member's current value is overwritten. Otherwise, a new * member is added to @object. * * Since: 0.8 */ void json_object_set_member (JsonObject *object, const gchar *member_name, JsonNode *node) { g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); g_return_if_fail (node != NULL); object_set_member_internal (object, member_name, node); }
/** * json_object_set_null_member: * @object: a #JsonObject * @member_name: the name of the member * * Convenience function for setting a null @value of * @member_name inside @object. * * See also: json_object_set_member() * * Since: 0.8 */ 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); }
/** * json_object_set_object_member: * @object: a #JsonObject * @member_name: the name of the member * @value: the value of the member * * Convenience function for setting an object @value of * @member_name inside @object. * * The @object will take ownership of the passed #JsonObject * * See also: json_object_set_member() * * Since: 0.8 */ void json_object_set_object_member (JsonObject *object, const gchar *member_name, JsonObject *value) { JsonNode *node; g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); node = json_node_new (JSON_NODE_OBJECT); json_node_take_object (node, value); object_set_member_internal (object, member_name, node); }
/** * json_object_set_string_member: * @object: a #JsonObject * @member_name: the name of the member * @value: the value of the member * * Convenience function for setting a string @value of * @member_name inside @object. * * See also: json_object_set_member() * * Since: 0.8 */ void json_object_set_string_member (JsonObject *object, const gchar *member_name, const gchar *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_string (node, value); object_set_member_internal (object, member_name, node); }
/** * json_object_add_member: * @object: a #JsonObject * @member_name: the name of the member * @node: the value of the member * * Adds a member named @member_name and containing @node into a #JsonObject. * The object will take ownership of the #JsonNode. * * This function will return if the @object already contains a member * @member_name. * * Deprecated: 0.8: Use json_object_set_member() instead */ void json_object_add_member (JsonObject *object, const gchar *member_name, JsonNode *node) { g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); g_return_if_fail (node != NULL); if (json_object_has_member (object, member_name)) { g_warning ("JsonObject already has a `%s' member of type `%s'", member_name, json_node_type_name (node)); return; } object_set_member_internal (object, member_name, node); }
/** * json_object_set_string_member: * @object: a #JsonObject * @member_name: the name of the member * @value: the value of the member * * Convenience function for setting a string @value of * @member_name inside @object. * * See also: json_object_set_member() * * Since: 0.8 */ void json_object_set_string_member (JsonObject *object, const gchar *member_name, const gchar *value) { JsonNode *node; g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); node = json_node_alloc (); if (value != NULL) json_node_init_string (node, value); else json_node_init_null (node); object_set_member_internal (object, member_name, node); }
/** * json_object_set_array_member: * @object: a #JsonObject * @member_name: the name of the member * @value: (transfer full): the value of the member * * Convenience function for setting an array @value of * @member_name inside @object. * * The @object will take ownership of the passed #JsonArray * * See also: json_object_set_member() * * Since: 0.8 */ void json_object_set_array_member (JsonObject *object, const gchar *member_name, JsonArray *value) { JsonNode *node; g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); if (value != NULL) { node = json_node_new (JSON_NODE_ARRAY); json_node_take_array (node, value); } else node = json_node_new (JSON_NODE_NULL); object_set_member_internal (object, member_name, node); }
/** * json_object_set_member: * @object: a #JsonObject * @member_name: the name of the member * @node: (transfer full): the value of the member * * Sets @node as the value of @member_name inside @object. * * If @object already contains a member called @member_name then * the member's current value is overwritten. Otherwise, a new * member is added to @object. * * Since: 0.8 */ void json_object_set_member (JsonObject *object, const gchar *member_name, JsonNode *node) { JsonNode *old_node; g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); g_return_if_fail (node != NULL); old_node = g_hash_table_lookup (object->members, member_name); if (old_node == NULL) goto set_member; if (old_node == node) return; set_member: object_set_member_internal (object, member_name, node); }
/** * json_object_set_array_member: * @object: a #JsonObject * @member_name: the name of the member * @value: (transfer full): the value of the member * * Convenience function for setting an array @value of * @member_name inside @object. * * The @object will take ownership of the passed #JsonArray * * See also: json_object_set_member() * * Since: 0.8 */ void json_object_set_array_member (JsonObject *object, const gchar *member_name, JsonArray *value) { JsonNode *node; g_return_if_fail (object != NULL); g_return_if_fail (member_name != NULL); node = json_node_alloc (); if (value != NULL) { json_node_init_array (node, value); json_array_unref (value); } else json_node_init_null (node); object_set_member_internal (object, member_name, node); }