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: 2951
The 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