package Gtkada.Bindings is
package Gint_Arrays is new Gtkada.C.Unbounded_Arrays (Glib.Gint, 0, Natural, Glib.Gint_Array);
package Pspec_Arrays is new Gtkada.C.Unbounded_Arrays (Glib.Param_Spec, null, Natural, Glib.Param_Spec_Array);
package GType_Arrays is new Gtkada.C.Unbounded_Arrays (Glib.GType, Glib.GType_None, Glib.Guint, Glib.GType_Array);
type chars_ptr_array_access is access ICS.chars_ptr_array (Interfaces.C.size_t);
type GClosure is new Glib.C_Proxy;
type C_Marshaller is access procedure (Closure : GClosure; Return_Value : Glib.Values.GValue; -- Will contain returned value N_Params : Glib.Guint; -- Number of entries in Params Params : Glib.Values.C_GValues; Invocation_Hint : System.Address; Marsh_Data : System.Address);
generic type T is private;Null_T : T; with function "="
( T1, T2 : T) return Boolean is <>; function Generic_To_Address_Or_Null (Val : System.Address) return System.Address; Return either a Null_Address or a pointer to Val, depending on whether Val is the null value for the type. In all cases, Val is supposed to be an access to T. In Ada2012, these could be replaced with expression functions instead.String_Or_Null
Return Null_Ptr if S is the empty string, or a newly allocated string otherwise. This is intended mostly for the binding itself.g_strfreev
procedure g_strfreev
( Str_Array : chars_ptr_array_access); Thin binding to C function of the same name. Frees a null-terminated array of strings, and the array itself. If called on a null value, simply return.To_String_List
Converts C into a String_List. Returned value must be freed by caller, as well as C. C is NULL terminated.To_String_List_And_Free
function To_String_List_And_Free
( C : chars_ptr_array_access) return GNAT.Strings.String_List; Converts C into a String_List, and frees C. Returned value must be freed by caller.To_String_List
function To_String_List
( C : ICS.chars_ptr_array; N : Glib.Gint) return GNAT.Strings.String_List; Converts C into a String_List. N is the number of elements in C. Returned value must be freed by caller, as well as C.From_String_List
Converts C into a chars_ptr_array. Returned value must be freed by caller, as well as C.To_Chars_Ptr
function To_Chars_Ptr
( C : chars_ptr_array_access) return ICS.chars_ptr_array; Return a bounded array that contains the same strings as C (so you shouldn't free C). 'Last applies to the result, whereas it doesn't to C.To_Gint_Array_Zero_Terminated
function To_Gint_Array_Zero_Terminated
( Arr : Gint_Arrays.Unbounded_Array_Access) return Glib.Gint_Array; Converts Arr, stopping at the first 0 encounteredCClosure_New
function CClosure_New
( Callback : System.Address; User_Data : System.Address; Destroy : System.Address) return GClosure; Set_Marshal
procedure Set_Marshal
( Closure : GClosure; Marshaller : C_Marshaller); Set_Meta_Marshal
procedure Set_Meta_Marshal
( Closure : GClosure; Marsh_Data : System.Address; Marshaller : C_Marshaller); Get_Data
function Get_Data
( Closure : GClosure) return System.Address; Get_Callback
function Get_Callback
( C : GClosure) return System.Address; Watch_Closure
procedure Watch_Closure
( Object : System.Address; Closure : GClosure); Unchecked_Do_Signal_Connect
procedure Unchecked_Do_Signal_Connect
( Object : not null access Glib.Object.GObject_Record'Class; C_Name : Glib.Signal_Name; Marshaller : C_Marshaller; Handler : System.Address; Destroy : System.Address := System.Null_Address; After : Boolean := False; Slot_Object : access Glib.Object.GObject_Record'Class := null); Unchecked_Do_Signal_Connect
procedure Unchecked_Do_Signal_Connect
( Object : Glib.Types.GType_Interface; C_Name : Glib.Signal_Name; Marshaller : C_Marshaller; Handler : System.Address; Destroy : System.Address := System.Null_Address; After : Boolean := False; Slot_Object : access Glib.Object.GObject_Record'Class := null); Same as above, but this removes a number of check, like whether the signal exists, and whether the user has properly passed a procedure or function depending on the signal type. * C_Name must be NUL-terminated.Set_Value
procedure Set_Value
( Value : Glib.Values.GValue; Val : System.Address); Set_On_Exception
procedure Set_On_Exception
( Handler : Exception_Handler); See user documentation in Gtk.Handlers.Set_On_ExceptionProcess_Exception
Process the exception through the handler set by Set_On_Exception. This procedure never raises an exception.