summaryrefslogtreecommitdiff
path: root/json-glib/json-builder.h
diff options
context:
space:
mode:
authorPhilip Withnall <philip.withnall@collabora.co.uk>2015-11-07 14:17:31 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2016-03-01 14:53:00 +0000
commit58f479b60eb2db4c73605d469d68a8ffd8679327 (patch)
treeb414ce65be7a8d493234fcf325521a69d0ea5bd4 /json-glib/json-builder.h
parenta82b93ba60dd0f54660990df86ba0cf7fc74c9a8 (diff)
downloadjson-glib-58f479b60eb2db4c73605d469d68a8ffd8679327.tar.gz
core: Add immutability support to core objects
Add an immutable mode to JsonNode, JsonObject, JsonArray and JsonValue. This is an optional mode which objects enter by calling json_*_seal(). It is a one-way transition, which means that we can build and manipulate objects as much as desired, before sealing them and enjoying the benefits of immutable objects: no need to take copies when handling them, persistent hash values (still to be implemented). https://bugzilla.gnome.org/show_bug.cgi?id=756121
Diffstat (limited to 'json-glib/json-builder.h')
-rw-r--r--json-glib/json-builder.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/json-glib/json-builder.h b/json-glib/json-builder.h
index 45d4b5d..b35230e 100644
--- a/json-glib/json-builder.h
+++ b/json-glib/json-builder.h
@@ -80,6 +80,8 @@ GType json_builder_get_type (void) G_GNUC_CONST;
JSON_AVAILABLE_IN_1_0
JsonBuilder *json_builder_new (void);
+JSON_AVAILABLE_IN_1_2
+JsonBuilder *json_builder_new_immutable (void);
JSON_AVAILABLE_IN_1_0
JsonNode *json_builder_get_root (JsonBuilder *builder);
JSON_AVAILABLE_IN_1_0