diff --git a/json_object.c b/json_object.c index f657afe55c..4f74a20503 100644 --- a/json_object.c +++ b/json_object.c @@ -568,6 +568,13 @@ json_bool json_object_get_boolean(const struct json_object *jso) } } +json_bool json_object_set_boolean(struct json_object *jso,json_bool new_value){ + if (!jso || jso->o_type!=json_type_boolean) + return FALSE; + jso->o.c_boolean=new_value; + return TRUE; +} + /* json_object_int */ diff --git a/json_object.h b/json_object.h index b6fd917cea..63c3dc7215 100644 --- a/json_object.h +++ b/json_object.h @@ -620,6 +620,19 @@ extern struct json_object* json_object_new_boolean(json_bool b); extern json_bool json_object_get_boolean(const struct json_object *obj); +/** Set the json_bool value of a json_object + * + * The type of obj is checked to be a json_type_boolean and FALSE is returned + * if it is not without any further actions. If type of obj is json_type_boolean + * the obect value is chaned to new_value + * + * @param obj the json_object instance + * @param new_value the value to be set + * @returns TRUE if value is set correctly + */ +extern json_bool json_object_set_boolean(struct json_object *obj,json_bool new_value); + + /* int type methods */ /** Create a new empty json_object of type json_type_int