GType::register RFE



Is there any way Glib::Object::Subclass can be enhanced to allow one to
pass in custom base_init and class_init functions (which would be executed
before/after the built-in ones)?  I'm trying to implement element
subclassing in GStreamer, and in order to do it properly, I need to be
able to do this.

Now, the biggest problem I see with this is that, since GType::register is
Perl-visible, the only thing you can really pass in is a CV... but, of
course, there's no typemap for GTypeClass (or it's "subclasses", like
GObjectClass), which is what the CV would be receiving, so there's a
question of how to marshal the arguments.  OTOH, if the code just got an
opaque SV containing a pointer to the structure, I'd be fine with that,
since the coderef would just call an XS function, anyway (which could then
unwrap the SV and cast the pointer).  But that's just me. :)

Anyway, if there any ideas, I'd love to hear them.  Otherwise I'll be
forced to resort to copy-and-pasting the existing GType::register code,
which would *really* suck. :)

Brett.





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