Basic Marshaller
type Base_Type is private;
procedure Call
(Widget : access Widget_Type'Class;
Params : Glib.Values.GValues;
Cb : General_Handler)
function Conversion
(Value : Glib.Values.GValue) return Base_Type
procedure Emit_By_Name
(Object : access Widget_Type'Class;
Name : Glib.Signal_Name;
Param : Base_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;
procedure Emit_By_Name_Generic
(Object : access Widget_Type'Class;
Name : Glib.Signal_Name;
Param : Base_Type)
Provide an explicit conversion function for PARAM.
type Handler is access procedure
(Widget : access Widget_Type'Class;
Param : Base_Type);
function To_Marshaller (Cb : Handler) return Marshaller