1 (in-package :gobject.ffi)
3 (defctype g-type gsize)
5 (define-foreign-type g-type-designator ()
7 (:documentation "Values of this CFFI foreign type identify the GType. GType is designated by a its name (a string) or a numeric identifier. Functions accept GType designators as a string or integer and return them as a string. Functions @fun{g-type-name} and @fun{g-type-from-name} are used to convert between name and numeric identifier.
9 Numeric identifier of GType may be different between different program runs. But string identifier of GType does not change.")
11 (:simple-parser g-type-designator))
13 (defmethod translate-from-foreign (value (type g-type-designator))
16 (defmethod translate-to-foreign (value (type g-type-designator))
18 (string (g-type-from-name value))
22 (defcfun (g-type-name "g_type_name") :string
23 "Returns the name of a GType.@see{g-type-from-name}
27 \(g-type-from-name \"GtkLabel\")
29 \(g-type-name 7151952)
32 @arg[type]{GType designator (see @class{g-type-designator})}
34 (type g-type-designator))
36 (defcfun (g-type-from-name "g_type_from_name") g-type
37 "Returns the numeric identifier of a GType by its name. @see{g-type-name}
41 \(g-type-from-name \"GtkLabel\")
43 \(g-type-name 7151952)
46 @arg[name]{a string - name of GType}