Skip to content

Commit

Permalink
some basic set
Browse files Browse the repository at this point in the history
  • Loading branch information
Stoian Ivanov committed Oct 5, 2016
1 parent fae0945 commit 05f025c
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 6 deletions.
26 changes: 23 additions & 3 deletions json_object.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}


Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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 */

Expand Down Expand Up @@ -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 */

Expand Down
46 changes: 43 additions & 3 deletions json_object.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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.
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 05f025c

Please sign in to comment.