[Gtk-sharp-list] Re: GTypeInstances other than GObject (needed
forgst-sharp work I'm doing)
eric.moret at gmail.com
Mon Apr 24 03:10:25 EDT 2006
I was wondering if you had made any progress on your effort to create
gstreamer 0.10 bindings for mono?
"Peter Johanson" <latexer at gentoo.org> wrote in message
news:20060305192027.GG11443 at butchest.cubesearch.com...
> hey folks,
> So unbeknownst to me before, about a week and half ago, libgobject
> actually provides a mechanism for folks to create their own base object
> types other than GObject, via GTypeInstance:
> <snip from gtype.h>
> typedef struct _GTypeClass GTypeClass;
> typedef struct _GTypeInstance GTypeInstance;
> /* Basic Type Structures
> struct _GTypeClass
> /*< private >*/
> GType g_type;
> struct _GTypeInstance
> /*< private >*/
> GTypeClass *g_class;
> And lo and behold, both GObject, and gstreamer's recently discovered
> "GstMiniObject" are GTypeInstances. GstMiniObject is used as a
> lightweight object base for a few types in gstreamer, GstMessage,
> GstBuffer, GstEvent, and GstQuery (so far).
> Why should gtk-sharp-list care? Well, GAPI2 needs some changes in order
> to properly generate code for classes with base GTypeInstance *other*
> than GObject. Mainly, there are places where "GLib.Object.GetObject (raw)"
> really needs to be "Gst.MiniObject.GetObject (raw)" as I've had to
> duplicate a lot of the GLib.Object logic for object instantiation,
> ref-ing, etc in Gst.MiniObject.
> The attached patch is the *wrong* way to do this in GAPI2, but I needed
> something to get to the 'is this actually gonna work' stage with my
> gst-sharp work.
> With that patch applied, my current work so far on gst-sharp (found in
> a bazaar branch for now, that's not going to be the final development
> home for this hopefully) found here:
> http://www.peterjohanson.com/bazaar/gst-sharp/gst-sharp--dev--0.10/ will
> compile, and the small sample runs with no issues. Folks without bazaar
> can get a snapshot tarball here:
> So, after a long and drawn out email:
> What is the best way to go about providing this functionality in GAPI2?
> Is this beyond what should be offered? Some ideas from me where a
> "IGTypeInstance" interface in glib-sharp that both GObject and other
> GTypeInstances would implement, but one can't specify the static
> "GetObject" method there, so that's not perfect.
> Peter Johanson
> <latexer at gentoo.org>
> Gtk-sharp-list maillist - Gtk-sharp-list at lists.ximian.com
More information about the Gtk-sharp-list