This package provides GtkAda specific types and their associated functions.
Types |
|---|
subtype Chars_Ptr is Interfaces.C.Strings.chars_ptr; | |
|
| |
subtype Chars_Ptr_Array is Interfaces.C.Strings.chars_ptr_array; | |
|
|
Subprograms |
|---|
procedure g_free (Mem : Chars_Ptr); | ||
|
Free a C string returned from Gtk.
| ||
function Null_Array return Chars_Ptr_Array; | ||
|
Return a null array.
| ||
Handling of arrays of Strings | ||
|
The following functions provide a very convenient way to create You can either create such a String on the fly, or declare a variable: Signals : Chars_Ptr_Array := "clicked" + "missed" + "new signal"; which corresponds to the C declaration: char *signals[] = {"clicked", "missed", "new signal"};
Note that you still need to manually call Free (Signals) if you want to
release the memory dynamically allocated by the "+" functions.
| ||
function "+" (S1, S2 : String) return Chars_Ptr_Array; | ||
|
Create an array containing S1 and S2. | ||
function "+" (S1 : Chars_Ptr_Array; S2 : String) return Chars_Ptr_Array; | ||
|
Append S2 to S1. | ||
function "+" (S1 : Chars_Ptr_Array; S2 : Chars_Ptr) return Chars_Ptr_Array; | ||
|
Append S2 to S1. | ||
function "+" (S1 : Chars_Ptr; S2 : String) return Chars_Ptr_Array; | ||
|
Create an array containing S1 and S2. | ||
procedure Free (A : in out Chars_Ptr_Array); | ||
|
Free all the strings in A.
| ||