Re: RFC: GProxy, Dynamic Method Invocation



2008/7/2 Johan Dahlin <jdahlin async com br>:
> Mikkel Kamstrup Erlandsen wrote:
> [..]
>>
>>  * Relation to GObject-introspection. As far as I can tell GProxy and
>> GObject-introspection are two completely different things. Maybe I do
>> not understand the implications of GObject introspection fully?
>
> No, they are actually related
> You should check the libgirepository API which is backed up by a binary
> typelib.

Ok. I trawled through the header files now as I could not find any
documentation. I can see that that they are to some degree related,
but still appear to have quite different goals.

One of the design goals for GProxy is to not depend on any external
artifacts, like typelibs. Another is to be able to construct the
proxies on the fly at run time, which I am not sure is possible with
gobject-introspection..?

Another aspect of GProxies that I am not sure maps well to
gobject-introspection is mapping remote interfaces without
introspection data. Such as some web services or other. Or would the
idea here be that you write the introspection data by hand (or
generate it from a wsdl or other) and then compile the typelib from
that?

One last thing that I do not see fitting in gobject-introspection is
"extra method data". My example here is obtaining the  dbus sender
from a dbus method invocation.

I think gobject-introspection compare to GProxy as Java reflection
compares to Java's Proxy class. The intro/refl can look up all aspects
of you library and is mostly based on static data. Proxies are used to
impose (or sort of) duck typing into a static world as well as runtime
object generation which could (but don't have to) be generated from
and external (possibly remote) resource.

Cheers,
Mikkel


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