On Wed, Mar 27, 2013 at 04:59:29PM +0000, David Scott wrote: > Hi, > > I've made an prototype set of ocaml bindings for the libvirt event > mechanism -- here is what I've got so far. > > It's possible to register for all the types supported by > > virConnectDomainEventRegisterAny > > I've not tested each type of event yet, but the basics are all working. > > For every distinct callback function signature it maintains: > > 1. OCaml: a hashtable mapping callback_id (int64) to a specific closure > 2. OCaml: a function registered with Callback.register > 3. C: a function registered with libvirt, which upcalls to OCaml > > There's still some missing polish, for example I've not implemented a > means to actually deregister a callback :-) I thought it would be best > to get feedback on the overall approach, style of the mapping etc first. > > Comments and criticism greatly appreciated! I looked over this, and it all looks pretty sensible to me. Let me know when you're ready to have a patch applied upstream. The one comment I would make (which is not related directly to your patch, but would make it simpler) is that we ought to change the minimum supported version of libvirt from whatever it is now (0.2.1?) to some much more recent version. I don't think anyone would care if ocaml-libvirt only worked with, say, libvirt >= 0.9.1 which was released in May 2011. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list