
On Mon, Jun 02, 2014 at 01:41:58PM +0100, Ian Campbell wrote:
I hacked around this, but it is a little dirty too. libvirt already links to libyajl for the QEMU driver, but we don't really need the raw YAJL objects. It'd be nice to have a
char * libxl_domain_config_as_json(libxl_domain_config *p)
as a higher level wrapper around libxl_domain_config_gen_json avoiding the pain of dealing with YAJL's different APIs.
Ian J mentioned to me that he thought there was already such a method, but AFAICT, the only such code is in the 'xl' command line tool itself (xl_cmdimpl.c - printf_info_one_json)
That was me not Ian J I think.
Opps, my bad, was talking to too many people to remember things clearly :-)
The function you need is libxl_domain_config_to_json (which is autogenerated, so in _libxl_types.[hc]). I think the general libxl_*_to_json support has been there since Xen 4.2, but IIRC libxl_domain_config only got moved into the autogenerated/IDL layer in 4.3.
Ahhh, so I was looking in the wrong place - no wonder 'git grep' failed to find it :-)
For compatibility with 4.2 you could probably use libxl_*_to_json on the various members of libxl_domain_config individually, or just punt on the unit tests in that case of course...
Yeah, I think it is reasonable to just disable the test case if this function is missing. So I can avoid libxl_json.h entirely in this case. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|