From e3b5883d4435da7fe677eb9a7c74d2f83980f5da Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 1 Jun 2011 12:49:28 +0100 Subject: gobject: Do not serialize default values If a property is set to its default value then we can skip its serialization, to keep the number of JSON object members down. --- json-glib/json-gobject.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'json-glib/json-gobject.c') diff --git a/json-glib/json-gobject.c b/json-glib/json-gobject.c index fb97bd4..fbc6efc 100644 --- a/json-glib/json-gobject.c +++ b/json-glib/json-gobject.c @@ -398,6 +398,13 @@ json_gobject_dump (GObject *gobject) else g_object_get_property (gobject, pspec->name, &value); + /* skip if the value is the default for the property */ + if (g_param_value_defaults (pspec, &value)) + { + g_value_unset (&value); + continue; + } + /* if there is a serialization vfunc, then it is completely responsible * for serializing the property, possibly by calling the implementation * of the default JsonSerializable interface through chaining up -- cgit v1.2.1