X-Git-Url: http://git.archive.openwrt.org/?p=project%2Flibubox.git;a=blobdiff_plain;f=blobmsg_json.h;h=eacece617b39693eec59df7f3358c0f086b285b5;hp=0ba5f860555bd76be3534488103df932fba80a51;hb=a1a97eb11e89c420b84a659a88a4e72c7f04367d;hpb=be416140606328d677283247553c122314e8ce8f;ds=sidebyside diff --git a/blobmsg_json.h b/blobmsg_json.h index 0ba5f86..eacece6 100644 --- a/blobmsg_json.h +++ b/blobmsg_json.h @@ -18,10 +18,25 @@ #include #include - -struct blob_buf; +#include "blobmsg.h" bool blobmsg_add_json_element(struct blob_buf *b, const char *name, json_object *obj); bool blobmsg_add_json_from_string(struct blob_buf *b, const char *str); +typedef const char *(*blobmsg_json_format_t)(void *priv, struct blob_attr *attr); + +char *blobmsg_format_json_with_cb(struct blob_attr *attr, bool list, + blobmsg_json_format_t cb, void *priv, + int indent); + +static inline char *blobmsg_format_json(struct blob_attr *attr, bool list) +{ + return blobmsg_format_json_with_cb(attr, list, NULL, NULL, -1); +} + +static inline char *blobmsg_format_json_indent(struct blob_attr *attr, bool list, int indent) +{ + return blobmsg_format_json_with_cb(attr, list, NULL, NULL, indent); +} + #endif