X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=src%2Fjansson.h;h=d703c7b347734e97ec242a8c61db886008ae77c9;hb=b495b9654715ca8ea2f18d7f92eff9da2ed57083;hp=607dfb5c12bcab351f2b32e27e7d2ff219d7f8ad;hpb=e7a5dc58e630aa079f402b46a65d218e656dd489;p=jansson.git diff --git a/src/jansson.h b/src/jansson.h index 607dfb5..d703c7b 100644 --- a/src/jansson.h +++ b/src/jansson.h @@ -49,6 +49,7 @@ typedef struct { json_t *json_object(void); json_t *json_array(void); json_t *json_string(const char *value); +json_t *json_string_nocheck(const char *value); json_t *json_integer(int value); json_t *json_real(double value); json_t *json_true(void); @@ -77,13 +78,16 @@ static inline void json_decref(json_t *json) unsigned int json_object_size(const json_t *object); json_t *json_object_get(const json_t *object, const char *key); int json_object_set_new(json_t *object, const char *key, json_t *value); +int json_object_set_new_nocheck(json_t *object, const char *key, json_t *value); int json_object_del(json_t *object, const char *key); int json_object_clear(json_t *object); int json_object_update(json_t *object, json_t *other); void *json_object_iter(json_t *object); +void *json_object_iter_at(json_t *object, const char *key); void *json_object_iter_next(json_t *object, void *iter); const char *json_object_iter_key(void *iter); json_t *json_object_iter_value(void *iter); +int json_object_iter_set_new(json_t *object, void *iter, json_t *value); static inline int json_object_set(json_t *object, const char *key, json_t *value) @@ -91,6 +95,18 @@ int json_object_set(json_t *object, const char *key, json_t *value) return json_object_set_new(object, key, json_incref(value)); } +static inline +int json_object_set_nocheck(json_t *object, const char *key, json_t *value) +{ + return json_object_set_new_nocheck(object, key, json_incref(value)); +} + +static inline +int json_object_iter_set(json_t *object, void *iter, json_t *value) +{ + return json_object_iter_set_new(object, iter, json_incref(value)); +} + unsigned int json_array_size(const json_t *array); json_t *json_array_get(const json_t *array, unsigned int index); int json_array_set_new(json_t *array, unsigned int index, json_t *value); @@ -123,9 +139,21 @@ int json_integer_value(const json_t *integer); double json_real_value(const json_t *real); double json_number_value(const json_t *json); -int json_string_set(const json_t *string, const char *value); -int json_integer_set(const json_t *integer, int value); -int json_real_set(const json_t *real, double value); +int json_string_set(json_t *string, const char *value); +int json_string_set_nocheck(json_t *string, const char *value); +int json_integer_set(json_t *integer, int value); +int json_real_set(json_t *real, double value); + + +/* equality */ + +int json_equal(json_t *value1, json_t *value2); + + +/* copying */ + +json_t *json_copy(json_t *value); +json_t *json_deep_copy(json_t *value); /* loading, printing */