tvheadend/src/misc/json.h
Andreas Öman 01db78aea0 Upgrade htsmsg code from Showtime's codebase
We do this to get access to floating point in JSON
2012-11-19 14:50:16 +01:00

31 lines
901 B
C

#pragma once
typedef struct json_deserializer {
void *(*jd_create_map)(void *jd_opaque);
void *(*jd_create_list)(void *jd_opaque);
void (*jd_destroy_obj)(void *jd_opaque, void *obj);
void (*jd_add_obj)(void *jd_opaque, void *parent,
const char *name, void *child);
// str must be free'd by callee
void (*jd_add_string)(void *jd_opaque, void *parent,
const char *name, char *str);
void (*jd_add_long)(void *jd_opaque, void *parent,
const char *name, long v);
void (*jd_add_double)(void *jd_opaque, void *parent,
const char *name, double d);
void (*jd_add_bool)(void *jd_opaque, void *parent,
const char *name, int v);
void (*jd_add_null)(void *jd_opaque, void *parent,
const char *name);
} json_deserializer_t;
void *json_deserialize(const char *src, const json_deserializer_t *jd,
void *opaque, char *errbuf, size_t errlen);