From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28976 invoked by alias); 6 Oct 2003 15:11:38 -0000 Mailing-List: contact guile-gtk-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 28934 invoked from network); 6 Oct 2003 15:11:36 -0000 Received: from unknown (HELO mail.gmx.net) (213.165.64.20) by sources.redhat.com with SMTP; 6 Oct 2003 15:11:36 -0000 Received: (qmail 23472 invoked by uid 65534); 6 Oct 2003 15:11:34 -0000 Received: from chello213047125140.14.univie.teleweb.at (EHLO garibaldi) (213.47.125.140) by mail.gmx.net (mp027) with SMTP; 06 Oct 2003 17:11:34 +0200 X-Authenticated: #3102804 Received: from ivanova.rhinosaur.lan ([192.168.1.9] helo=ivanova) by garibaldi with esmtp (Exim 4.22) id 1A6X3O-0002HO-Gq; Mon, 06 Oct 2003 17:13:42 +0200 Received: from andy by ivanova with local (Exim 3.36 #1 (Debian)) id 1A6X3a-0002oc-00; Mon, 06 Oct 2003 17:13:54 +0200 X-From-Line: nobody Mon Oct 6 08:48:54 2003 To: guile-gtk@sources.redhat.com, guile-gtk-general@gnu.org Cc: Rob Browning Subject: guile-gobject/g-wrap status update From: Andreas Rottmann Message-ID: <87y8vy7tey.fsf@alice.rotty.yi.org> User-Agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux) Content-Type: text/plain; charset=us-ascii Date: Mon, 06 Oct 2003 15:11:00 -0000 MIME-Version: 1.0 X-SW-Source: 2003-q4/txt/msg00000.txt.bz2 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 | Rotty@ICQ | 118634484@ICQ | a.rottmann@gmx.at 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.