From df572d089c0811ecbc5e41d1c68d39fae47040e9 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 29 Jun 2009 16:33:36 +0100 Subject: [PATCH] [script] Simplify the parser code JSON-GLib provides simple accessors for basic types so that we can avoid getting the JsonNode out of a complex type. This makes the code simpler to understand. --- clutter/clutter-script.c | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/clutter/clutter-script.c b/clutter/clutter-script.c index b922739..573d2ac 100644 --- a/clutter/clutter-script.c +++ b/clutter/clutter-script.c @@ -281,11 +281,7 @@ get_id_from_node (JsonNode *node) case JSON_NODE_OBJECT: object = json_node_get_object (node); if (json_object_has_member (object, "id")) - { - JsonNode *id = json_object_get_member (object, "id"); - - return json_node_get_string (id); - } + return json_object_get_string_member (object, "id"); break; case JSON_NODE_VALUE: @@ -372,11 +368,8 @@ parse_signals (ClutterScript *script, } else { - val = json_object_get_member (object, "name"); - if ((JSON_NODE_TYPE (val) == JSON_NODE_VALUE) && - json_node_get_string (val) != NULL) - name = json_node_get_string (val); - else + name = json_object_get_string_member (object, "name"); + if (!name) { warn_invalid_value (script, "name", "string", val); continue; @@ -391,11 +384,8 @@ parse_signals (ClutterScript *script, } else { - val = json_object_get_member (object, "handler"); - if ((JSON_NODE_TYPE (val) == JSON_NODE_VALUE) && - json_node_get_string (val) != NULL) - handler = json_node_get_string (val); - else + handler = json_object_get_string_member (object, "handler"); + if (!handler) { warn_invalid_value (script, "handler", "string", val); continue; @@ -404,30 +394,21 @@ parse_signals (ClutterScript *script, /* optional: "object" */ if (json_object_has_member (object, "object")) - { - val = json_object_get_member (object, "object"); - if ((JSON_NODE_TYPE (val) == JSON_NODE_VALUE) && - json_node_get_string (val) != NULL) - connect = json_node_get_string (val); - else - connect = NULL; - } + connect = json_object_get_string_member (object, "object"); else connect = NULL; /* optional: "after" */ if (json_object_has_member (object, "after")) { - val = json_object_get_member (object, "after"); - if (json_node_get_boolean (val)) + if (json_object_get_boolean_member (object, "after")) flags |= G_CONNECT_AFTER; } /* optional: "swapped" */ if (json_object_has_member (object, "swapped")) { - val = json_object_get_member (object, "swapped"); - if (json_node_get_boolean (val)) + if (json_object_get_boolean_member (object, "swapped")) flags |= G_CONNECT_SWAPPED; } @@ -764,8 +745,8 @@ json_object_end (JsonParser *parser, if (strcmp (oinfo->class_name, "ClutterStage") == 0 && json_object_has_member (object, "is-default")) { - val = json_object_get_member (object, "is-default"); - oinfo->is_stage_default = json_node_get_boolean (val); + oinfo->is_stage_default = + json_object_get_boolean_member (object, "is-default"); json_object_remove_member (object, "is-default"); } -- 2.7.4