[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile-gobject/g-wrap status update
From: |
Andreas Rottmann |
Subject: |
guile-gobject/g-wrap status update |
Date: |
Mon, 06 Oct 2003 17:13:54 +0200 |
User-agent: |
Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) |
Hi!
[BTW: There seem to be two guile-gtk mailing lists ATM - I guess
people should migrate to the one at GNU...]
I'm ATM working at implementing "glueless" wrapping for g-wrap,
i.e. instead of using a dedicated C wrapper for each wrapped function
creating an applicable smob that invokes a general marshaller which in
turn calls the C function via libffi.
This of course means a good amount of modifying/hacking g-wrap (Hi,
Rob!), mostly to spit out all the necessary argument type information,
so it can be used for marshalling. My main idea is to have each type
have a flag that indicates it is "dynamic" (suggestions for better
name welcome), which means that the type can be marshalled at
runtime. Whenever all argument types on a wrapped function are
dynamic, g-wrap will be able to spit out a bunch of conversion
functions (c->scm, scm->c, c-destructor, ...) for each argument type
along with a desciption of the argument types (basically function
pointers to the conversion functions). This information then will be
used by the marshaller. For a start, I plan to make all types that are
generated by (gw:wrap-simple-type) dynamic.
Regards, Andy
--
Andreas Rottmann | address@hidden | address@hidden | address@hidden
http://www.8ung.at/rotty | GnuPG Key: http://www.8ung.at/rotty/gpg.asc
Fingerprint | DFB4 4EB4 78A4 5EEE 6219 F228 F92F CFC5 01FD 5B62
Python is executable pseudocode, Perl is executable line-noise.
- guile-gobject/g-wrap status update,
Andreas Rottmann <=