Daniel P. Berrange wrote:
On Sun, Jan 20, 2008 at 12:46:07PM +0000, Richard W.M. Jones wrote:This is an experimental release of the OCaml libvirt bindings and tools. The main changes are that we have moved to automatically generating as many of the C bindings as possible, and this includes experimental support for the libvirt storage API.How are you doing the auto-generating ? In particular is its API coverage better, or worse than the coverage of the python binding auto-generator ? We have an increasing number of APIs that we're having to write manually for python which is kinda annoying - the generator makes the easy stuff easy, but the hard stuff harder IMHO.
The situation is pretty much the same in OCaml. 31 functions are written manually, 99 are autogenerated. The generator is a smallish Perl script which handles the easy / common code only, and punts on any hard / one-off bindings.
$ make autostatus Functions which have manual bindings: 31 Functions which have automatic bindings: 99 LOC in manual bindings: 821 LOC in automatic bindings: 2951The good thing is that we were able to autogenerate all but four of the bindings in the storage & jobs API (the ones we had to do by hand were: 3 '*GetInfo' functions, and virConnectDiscoverStoragePools).
Rich. -- Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/ Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 1TE, United Kingdom. Registered in England and Wales under Company Registration No. 03798903
Description: S/MIME Cryptographic Signature