g-wrap-dev
[Top][All Lists]
Advanced

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

Status of G-Wrap TNG


From: Andreas Rottmann
Subject: Status of G-Wrap TNG
Date: Fri, 12 Mar 2004 21:41:35 +0100
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Hi!

I thought I'd make a little status report for TNG[0]. Well, nothing
fancy yet, but I've completely separated the core and the
Guile-specific parts (well, there is some stuff left that can be
refactored into the core, but not really much), and have the standard
and enumeration types working (with using libffi). So far, things worked
out pretty well, and the syntax is quite similiar to the old G-Wrap
(out of test-standard-spec.scm):

(define-module (gw-test-standard-spec)
  #:use-module (oop goops)
  #:use-module (g-wrap)
  #:use-module (g-wrap guile)
  #:use-module (g-wrap guile standard-spec)

  #:export (test-standard-wrapset))


(define ws (make <gw-guile-wrapset>
             #:name "test-standard"
             #:module '(gw-test-standard)))

(define test-standard-wrapset ws)

(depends-on! ws standard-wrapset)

(add-cs-global-declarator! ws (lambda (wrapset)
                                (list "#include \"g-wrap-test-c-code.h\"\n")))

(wrap-constant! ws
                #:name 'gw-test-gw-standard-foo-value
                #:type 'int
                #:value "GW_TEST_GW_STANDARD_FOO_VALUE"
                #:description "The foo value.")

[...]

(wrap-function! ws
                #:name 'gw-test-gw-standard-no-op
                #:returns 'void
                #:c-name "gw_test_gw_standard_no_op"
                #:arguments '()
                #:description "Do nothing.")

(wrap-function! ws
                #:name 'gw-test-gw-standard-echo-scm
                #:returns 'scm
                #:c-name "gw_test_gw_standard_echo_scm"
                #:arguments '((scm arg))
                #:description "Return arg.")

[...]

Cheers, Andy
-- 
Andreas Rottmann         | address@hidden      | address@hidden | address@hidden
http://yi.org/rotty      | GnuPG Key: http://yi.org/rotty/gpg.asc
Fingerprint              | DFB4 4EB4 78A4 5EEE 6219  F228 F92F CFC5 01FD 5B62

Latein ist das humanoide Äquivalent zu Fortran.
   -- Alexander Bartolich in at.linux




reply via email to

[Prev in Thread] Current Thread [Next in Thread]