X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwrap-json.h;h=d014d0b7727a22525ba3cf10ab43b880155a2135;hb=65353dce81a629e042800bb7b86fcd869a76727e;hp=7fe90eee0b9fe2a6c47f4241893a166c93a80d0e;hpb=69a85a68b5883bd97eb662372acb68af137dda7f;p=src%2Fapp-framework-binder.git diff --git a/src/wrap-json.h b/src/wrap-json.h index 7fe90eee..d014d0b7 100644 --- a/src/wrap-json.h +++ b/src/wrap-json.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2016, 2017 "IoT.bzh" + Copyright (C) 2015-2020 "IoT.bzh" author: José Bollo @@ -18,6 +18,10 @@ #pragma once +#ifdef __cplusplus + extern "C" { +#endif + #include #include @@ -34,3 +38,25 @@ extern int wrap_json_vcheck(struct json_object *object, const char *desc, va_lis extern int wrap_json_check(struct json_object *object, const char *desc, ...); extern int wrap_json_vmatch(struct json_object *object, const char *desc, va_list args); extern int wrap_json_match(struct json_object *object, const char *desc, ...); + +extern void wrap_json_optarray_for_all(struct json_object *object, void (*callback)(void*,struct json_object*), void *closure); +extern void wrap_json_array_for_all(struct json_object *object, void (*callback)(void*,struct json_object*), void *closure); +extern void wrap_json_object_for_all(struct json_object *object, void (*callback)(void*,struct json_object*,const char*), void *closure); +extern void wrap_json_optobject_for_all(struct json_object *object, void (*callback)(void*,struct json_object*,const char*), void *closure); +extern void wrap_json_for_all(struct json_object *object, void (*callback)(void*,struct json_object*,const char*), void *closure); + +extern struct json_object *wrap_json_clone(struct json_object *object); +extern struct json_object *wrap_json_clone_deep(struct json_object *object); +extern struct json_object *wrap_json_clone_depth(struct json_object *object, int depth); + +extern struct json_object *wrap_json_object_add(struct json_object *dest, struct json_object *added); + +extern struct json_object *wrap_json_sort(struct json_object *array); +extern struct json_object *wrap_json_keys(struct json_object *object); +extern int wrap_json_cmp(struct json_object *x, struct json_object *y); +extern int wrap_json_equal(struct json_object *x, struct json_object *y); +extern int wrap_json_contains(struct json_object *x, struct json_object *y); + +#ifdef __cplusplus + } +#endif