[json-glib] gobject: Serialize properties holding a GObject



commit 5406301b0e3bf74c0d7ae47a618c416d5c6dc29d
Author: Emmanuele Bassi <ebassi linux intel com>
Date:   Tue Oct 27 11:30:55 2009 +0000

    gobject: Serialize properties holding a GObject
    
    Like we deserialize them, we can serialize GObject properties
    defined using GParamSpecObject.

 json-glib/json-gobject.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/json-glib/json-gobject.c b/json-glib/json-gobject.c
index b004e21..1b3b1fe 100644
--- a/json-glib/json-gobject.c
+++ b/json-glib/json-gobject.c
@@ -576,6 +576,20 @@ json_serialize_pspec (const GValue *real_value,
       json_node_set_int (retval, g_value_get_flags (real_value));
       break;
 
+    case G_TYPE_OBJECT:
+      {
+        GObject *object = g_value_get_object (real_value);
+
+        if (object != NULL)
+          {
+            retval = json_node_new (JSON_NODE_OBJECT);
+            json_node_take_object (retval, json_gobject_dump (object));
+          }
+        else
+          retval = json_node_new (JSON_NODE_NULL);
+      }
+      break;
+
     case G_TYPE_NONE:
       retval = json_node_new (JSON_NODE_NULL);
       break;



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