summaryrefslogtreecommitdiff
path: root/json-glib/json-node.c
Commit message (Collapse)AuthorAgeFilesLines
* Wrap config.h include with conditionalsEmmanuele Bassi2007-12-251-0/+3
| | | | | Including the autotools generated config.h should always be conditional on the HAVE_CONFIG_H definitions.
* Initialise to zero when creating/copying a JsonNodeEmmanuele Bassi2007-12-251-4/+5
| | | | Avoid feeding garbage to the callers by using g_slice_new0().
* Fix member name in json_node_get_value_type()Emmanuele Bassi2007-11-131-1/+1
| | | | JsonNode payload is inside a union.
* Add a GType for JsonNodeEmmanuele Bassi2007-11-131-0/+48
| | | | | | We need a GType for nodes if we want to add JsonNode properties or signal marshallers to a GObject class. We could use pointers, but we'd loose type safety, so it's a no-no.
* Check if the payload is set in json_node_free()Emmanuele Bassi2007-10-291-2/+4
| | | | | Before calling json_object_unref() or json_array_unref() in json_node_free() we need to check if the payload of JsonNode is set to avoid a critical.
* Add json_node_dup_string()Emmanuele Bassi2007-10-081-0/+20
| | | | | The newly added json_node_dup_string() is a convenience function for getting a copy of the string contained inside a JsonNode.
* Add convenience accessors for fundamental types in JsonNodeEmmanuele Bassi2007-10-051-0/+201
| | | | | | This commit adds some convenience accessors for setting and getting fundamental types in and from a JsonNode, to avoid jumping through all the GValue hoops.
* Document the new public functionsEmmanuele Bassi2007-10-011-0/+78
| | | | | 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.
* Move data types ctors and setters into the public headersEmmanuele Bassi2007-10-011-1/+0
| | | | | | | Now that we are providing a generator class we need to provide the constructors and setters for JsonNode, JsonObject and JsonArray. This also means that the json-private.h header is now useless, so we can remove it from the build and repository.
* Implement json_node_get_parent()Emmanuele Bassi2007-10-011-0/+16
| | | | | It seems that the parent accessor fell through. This commit implements the declared json_node_get_parent() function.
* Add licensing informations to the source codeEmmanuele Bassi2007-10-011-8/+44
|
* Add API reference for JSON-GLibEmmanuele Bassi2007-10-011-1/+1
| | | | | Use gtk-doc to build the various bits and pieces of the API reference for JSON-GLib.
* Add JsonNode, a generic container for JSON typesEmmanuele Bassi2007-10-011-0/+269
This huge commit removes JsonData and adds JsonNode, the generic container for fundamental and complex data types extracted from a JSON stream. The contents of a JsonNode can be extracted from it in form of a GValue for fundamental types (integers, floats, strings, booleans) or in form of JsonObject and JsonArray objects. JsonObject and JsonArray now accept JsonNodes instead of GValues. The JsonParser object builds the data model tree when parsing a JSON stream; the tree can be recursed by getting the root node and walking it using the GValue API for the fundamental types and the objects/arrays API for complex types. The API has been updated and the tests now recurse through the generated data model tree.