[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC V2 02/10] libxl_json: introduce libx__object_from_json
On Thu, 2014-04-17 at 12:13 +0100, Wei Liu wrote: > Given a JSON string, we need to convert it to libxl_FOO struct. > > The approach is: > JSON string -> libxl__json_object -> libxl_FOO struct > > With this approach we can make use of libxl's infrastructure to do the > first half (JSON string -> libxl__json_object). > > Second half is done by auto-generated code by libxl's IDL > infrastructure. IDL patch(es) will come later. > > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx> > --- > tools/libxl/libxl_internal.h | 9 +++++++++ > tools/libxl/libxl_json.c | 30 ++++++++++++++++++++++++++++++ > 2 files changed, 39 insertions(+) > > diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h > index c2b73c4..9205c49 100644 > --- a/tools/libxl/libxl_internal.h > +++ b/tools/libxl/libxl_internal.h > @@ -1496,6 +1496,15 @@ typedef yajl_gen_status > (*libxl__gen_json_callback)(yajl_gen hand, void *); > _hidden char *libxl__object_to_json(libxl_ctx *ctx, const char *type, > libxl__gen_json_callback gen, void *p); > > +typedef struct libxl__json_object libxl__json_object; This typedef already exists I think via: typedef struct libxl__json_object { ... } libxl__json_object; Perhaps you just need to move these prototypes further down the file? > +typedef int (*libxl__json_parse_callback)(libxl_ctx *ctx, > + libxl__json_object *o, > + void *p); > +_hidden int libxl__object_from_json(libxl_ctx *ctx, const char *type, > + libxl__json_parse_callback parse, > + void *p, > + const char *s); > + > /* holds the CPUID response for a single CPUID leaf > * input contains the value of the EAX and ECX register, > * and each policy string contains a filter to apply to > diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c > index 3ea56a4..361607f 100644 > --- a/tools/libxl/libxl_json.c > +++ b/tools/libxl/libxl_json.c > @@ -794,6 +794,36 @@ out: > return ret; > } > > +int libxl__object_from_json(libxl_ctx *ctx, const char *type, > + libxl__json_parse_callback parse, > + void *p, const char *s) This looks ok to me. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |