package Glib.Option is
package GOption_Error_Properties is new Generic_Internal_Discrete_Property (GOption_Error);
package GOption_Arg_Properties is new Generic_Internal_Discrete_Property (GOption_Arg);
package GOption_Flags_Properties is new Generic_Internal_Discrete_Property (GOption_Flags);
type Goption_Context is new Glib.C_Boxed with null record;
type GOption_Error is ( G_Option_Error_Unknown_Option, G_Option_Error_Bad_Value, G_Option_Error_Failed);
type GOption_Arg is ( G_Option_Arg_None, G_Option_Arg_String, G_Option_Arg_Int, G_Option_Arg_Callback, G_Option_Arg_Filename, G_Option_Arg_String_Array, G_Option_Arg_Filename_Array, G_Option_Arg_Double, G_Option_Arg_Int64);
type GOption_Group is new Glib.C_Proxy;
type GOption_Entry is record Long_Name : Interfaces.C.Strings.chars_ptr; Short_Name : Gchar; Flags : GOption_Flags; Arg : GOption_Arg; Arg_Data : System.Address; Description : Interfaces.C.Strings.chars_ptr; Arg_Description : Interfaces.C.Strings.chars_ptr; end record;
type GOption_Entry_Array is array (Natural range <>) of GOption_Entry;
type Gtranslate_Func is access function (Str : UTF8_String) return UTF8_String;
type Property_GOption_Error is new GOption_Error_Properties.Property;
type Property_GOption_Arg is new GOption_Arg_Properties.Property;
type Property_GOption_Flags is new GOption_Flags_Properties.Property;
type Parse_Filter is access function (Param : String) return Boolean;
Null_Goption_Context : constant Goption_Context;
G_Option_Flag_Hidden : constant GOption_Flags := 1;
G_Option_Flag_In_Main : constant GOption_Flags := 2;
G_Option_Flag_Reverse : constant GOption_Flags := 4;
G_Option_Flag_No_Arg : constant GOption_Flags := 8;
G_Option_Flag_Filename : constant GOption_Flags := 16;
G_Option_Flag_Optional_Arg : constant GOption_Flags := 32;
G_Option_Flag_Noalias : constant GOption_Flags := 64;
Null_GOption_Entry : constant GOption_Entry;
function From_Object
| ( | Object | : System.Address) return Goption_Context; |
function From_Object_Free
| ( | B | : access Goption_Context'Class) return Goption_Context; |
function From_Object_Free
| ( | B | : access GOption_Group) return GOption_Group; |
function From_Object_Free
| ( | B | : access GOption_Entry) return GOption_Entry; |
procedure Add_Group
| ( | Self | : Goption_Context; |
| Group | : GOption_Group); |
procedure Add_Main_Entries
| ( | Self | : Goption_Context; |
| Entries | : GOption_Entry_Array; | |
| Translation_Domain | : UTF8_String := ""); |
procedure Free
| ( | Self | : Goption_Context); |
function Get_Description
| ( | Self | : Goption_Context) return UTF8_String; |
procedure Set_Description
| ( | Self | : Goption_Context; |
| Description | : UTF8_String := ""); |
function Get_Help
| ( | Self | : Goption_Context; |
| Main_Help | : Boolean; | |
| Group | : GOption_Group) return UTF8_String; |
function Get_Help_Enabled
| ( | Self | : Goption_Context) return Boolean; |
procedure Set_Help_Enabled
| ( | Self | : Goption_Context; |
| Help_Enabled | : Boolean); |
function Get_Ignore_Unknown_Options
| ( | Self | : Goption_Context) return Boolean; |
procedure Set_Ignore_Unknown_Options
| ( | Self | : Goption_Context; |
| Ignore_Unknown | : Boolean); |
function Get_Main_Group
| ( | Self | : Goption_Context) return GOption_Group; |
procedure Set_Main_Group
| ( | Self | : Goption_Context; |
| Group | : GOption_Group); |
function Get_Summary
| ( | Self | : Goption_Context) return UTF8_String; |
procedure Set_Summary
| ( | Self | : Goption_Context; |
| Summary | : UTF8_String := ""); |
procedure Set_Translate_Func
| ( | Self | : Goption_Context; |
| Func | : Gtranslate_Func; | |
| Destroy_Notify | : Glib.G_Destroy_Notify_Address); |
procedure Set_Translation_Domain
| ( | Self | : Goption_Context; |
| Domain | : UTF8_String); |
procedure Parse
| ( | Self | : Goption_Context; |
| Command_Line | : not null access Glib.Application.Gapplication_Command_Line_Record'Class; | |
| Filter | : Parse_Filter := null; | |
| Success | : out Boolean; | |
| Error | : out Glib.Error.GError); |
function G_New
| ( | Parameter_String | : UTF8_String := "") return Goption_Context; |