Next: GObjects, Previous: Flags and Enums, Up: Categories of Typelib Bindings [Contents][Index]
In C, a struct
or union
is named type of a collection of
member objects.
The unions and structs are handled in Guile-GI by creating a GOOPS type
that wraps a native pointer. Typically, a library provides methods to
operate on structs and unions, and Guile-GI wraps those methods as GOOPS
generic functions. If a typelib does not provide an explicit
constructor for a struct or union, an empty instance can be created by
using make
.
(use-modules (gi)) (use-typelibs ("GLib" "2.0")) ;; Create a new empty <GDate> using 'make' (write (make <GDate>)) (newline) ;; Create a new <GDate> using a constructor procedure (define dt (date:new-dmy 1 (symbol->date-month 'january) 2000)) ;; Modify the contents of <GDate> (add-years dt 1) ;; Compute the resulting year (write (get-year dt)) (newline)