On Thu, Apr 18, 2013 at 10:39:43AM -0500, Chris Adams wrote:
Once upon a time, Richard W.M. Jones rjones@redhat.com said:
We also suffer this problem in reverse: passing a pointer between two C libraries is not possible in another non-C language. eg. Passing a libvirt virDomainPtr from (Perl) Sys::Virt to Sys::Guestfs.
Why do you say that? I'm pretty sure you can.
I shouldn't say "not possible", but not very easy. A virDomainPtr in Sys::Virt is wrapped in some object which is very specific to the internals of Sys::Virt, thus cannot be extracted by Sys::Guestfs. It would require Sys::Virt to have a separate C library to provide this.
One advantage of gobject is it can do this sort of thing, although IME gobject has so many other disadvantages that it's not worth considering for serious bindings.
Rich.