[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libguestfs] [PATCH] Non-working support for GObject Introspection.



On Tue, Mar 16, 2010 at 03:58:57PM +0000, Richard W.M. Jones wrote:
> On Tue, Mar 16, 2010 at 03:54:05PM +0000, Daniel P. Berrange wrote:
> > Actually this won't work either because of this 2nd requirement from GType
> > 
> >  1. All class structures must contain as first member a GTypeClass structure. 
> >  2. All instance structures must contain as first member a GTypeInstance structure.
> 
> I guess we could put some padding at the beginning of the real
> guestfs_h structure.  It shouldn't break the ABI because no callers
> should be looking inside the guestfs_h structure.
> 
> The current _GTypeInstance just contains a single pointer, so 8 bytes
> of padding ought to do it ...

This is a bit trickier than it looks.

GObject needs to know the size of the structure, and obviously we
don't expose this.  If we expose it through a libguestfs API call,
then there seems to be the danger that GObject could try to move /
duplicate the structure.  That would break libguestfs because we
maintain a list of pointers to open handles internally.

I think I'll leave this for now.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]