From 05f025c07537f643b9cc463cb8fed6fbb72a73d8 Mon Sep 17 00:00:00 2001 From: Stoian Ivanov Date: Wed, 5 Oct 2016 23:55:46 +0300 Subject: [PATCH] some basic set --- json_object.c | 26 +++++++++++++++++++++++--- json_object.h | 46 +++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 66 insertions(+), 6 deletions(-) diff --git a/json_object.c b/json_object.c index 4f74a20503..ea2ea64cc1 100644 --- a/json_object.c +++ b/json_object.c @@ -568,11 +568,11 @@ 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){ +int json_object_set_boolean(struct json_object *jso,json_bool new_value){ if (!jso || jso->o_type!=json_type_boolean) - return FALSE; + return 0; jso->o.c_boolean=new_value; - return TRUE; + return 1; } @@ -634,6 +634,14 @@ int32_t json_object_get_int(const struct json_object *jso) } } +int json_object_set_int(struct json_object *jso,int new_value){ + if (!jso || jso->o_type!=json_type_int) + return 0; + jso->o.c_int64=new_value; + return 1; +} + + struct json_object* json_object_new_int64(int64_t i) { struct json_object *jso = json_object_new(json_type_int); @@ -666,6 +674,12 @@ int64_t json_object_get_int64(const struct json_object *jso) } } +int json_object_set_int64(struct json_object *jso,int64_t new_value){ + if (!jso || jso->o_type!=json_type_int) + return 0; + jso->o.c_int64=new_value; + return 1; +} /* json_object_double */ @@ -820,6 +834,12 @@ double json_object_get_double(const struct json_object *jso) } } +int json_object_set_double(struct json_object *jso,double new_value){ + if (!jso || jso->o_type!=json_type_double) + return 0; + jso->o.c_double=new_value; + return 1; +} /* json_object_string */ diff --git a/json_object.h b/json_object.h index 63c3dc7215..ff895b69c5 100644 --- a/json_object.h +++ b/json_object.h @@ -622,15 +622,15 @@ 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 + * The type of obj is checked to be a json_type_boolean and 0 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 + * @returns 1 if value is set correctly, 0 otherwise */ -extern json_bool json_object_set_boolean(struct json_object *obj,json_bool new_value); +extern int json_object_set_boolean(struct json_object *obj,json_bool new_value); /* int type methods */ @@ -667,6 +667,19 @@ extern struct json_object* json_object_new_int64(int64_t i); */ extern int32_t json_object_get_int(const struct json_object *obj); +/** Set the int value of a json_object + * + * The type of obj is checked to be a json_type_int and 0 is returned + * if it is not without any further actions. If type of obj is json_type_int + * the obect value is chaned to new_value + * + * @param obj the json_object instance + * @param new_value the value to be set + * @returns 1 if value is set correctly, 0 otherwise + */ +extern int json_object_set_int(struct json_object *obj,int new_value); + + /** Get the int value of a json_object * * The type is coerced to a int64 if the passed object is not a int64. @@ -683,6 +696,19 @@ extern int32_t json_object_get_int(const struct json_object *obj); extern int64_t json_object_get_int64(const struct json_object *obj); +/** Set the int64_t value of a json_object + * + * The type of obj is checked to be a json_type_int and 0 is returned + * if it is not without any further actions. If type of obj is json_type_int + * the obect value is chaned to new_value + * + * @param obj the json_object instance + * @param new_value the value to be set + * @returns 1 if value is set correctly, 0 otherwise + */ +extern int json_object_set_int64(struct json_object *obj,int64_t new_value); + + /* double type methods */ /** Create a new empty json_object of type json_type_double @@ -773,6 +799,20 @@ extern int json_object_double_to_json_string(struct json_object* jso, extern double json_object_get_double(const struct json_object *obj); +/** Set the double value of a json_object + * + * The type of obj is checked to be a json_type_double and 0 is returned + * if it is not without any further actions. If type of obj is json_type_double + * the obect value is chaned to new_value + * + * @param obj the json_object instance + * @param new_value the value to be set + * @returns 1 if value is set correctly, 0 otherwise + */ +extern int json_object_set_double(struct json_object *obj,double new_value); + + + /* string type methods */ /** Create a new empty json_object of type json_type_string