Basic Marshaller
type Base_Type is private;
function Call
(Widget : access Widget_Type'Class;
Params : Glib.Values.GValues;
Cb : General_Handler) return Return_Type
function Conversion
(Value : Glib.Values.GValue) return Base_Type
function Emit_By_Name
(Object : access Widget_Type'Class;
Name : Glib.Signal_Name;
Param : Base_Type) return Return_Type
The function above should be used when Base_Type can be passed as is to C.
generic
with function Conversion (Param : Base_Type) return System.Address;
function Emit_By_Name_Generic
(Object : access Widget_Type'Class;
Name : Glib.Signal_Name;
Param : Base_Type) return Return_Type
Provide an explicit conversion function for PARAM.
type Handler is access function
(Widget : access Widget_Type'Class;
Param : Base_Type) return Return_Type;
function To_Marshaller (Cb : Handler) return Marshaller