-------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Gnostic is Ada Generic Neural Object System Engineering. -- -- Gnostic (C) Copyright 2016 Manuel De Girardi. -- -------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Date := 2016-11-27 20:53:00 ;  -- Description : Ada Generic Neural Object System Engineering. -- -- Version := 2016.14.1a ;  -- Authors : Manuel De Girardi. -- -------------------------------------------------------------------------------------------------------------------------------------------------------------- package Gnos.Options is type Optionals_Flags_Enum_Type is -- Options flags enumeration ; ( Null_option, Config_Filename, Help, Version_Edition, Name_Length, Unit_Max, Char_Max, Version, Objects_Max, Self_Programming, Self_Executed, Self_Wait, User_Wait, Lang, With_Gtk, With_Ada, With_Aws ); type Option_Tagged_Type (Requiered_Parameter : Boolean) is tagged -- Option type is tagged ; with Requiered_Parameters is Boolean ; record Is_Setted : Boolean := False; -- True if occure on Command line ; Default False ; Optionals_Flags : Optionals_Flags_Enum_Type := Null_Option; -- Flag of Option occurence ; Default Nul_Option ; case Requiered_Parameter is -- case Requiered_Parameter is when False => -- when False => null; --null ; when True => -- when True => Value : access Wide_String; -- Value is image of parameter. end case; end record; type Options_Kit_Array_Type is -- Option_Kit is array ; array (Optionals_Flags_Enum_Type) -- range Options_Flags_Enum_Type enumeration of access Option_Tagged_Type; -- of access to Option_Type ; Full_Line_Options_Kit : constant Options_Kit_Array_Type := -- Full_Options_Kit is constant Options_Kit_Array_Type  ( -- where Null_Option => -- Nul_Option is new Option_Tagged_Type (False), Config_filename => new Option_Tagged_Type (True), Help => new Option_Tagged_Type (False), Version_Edition => new Option_Tagged_Type (False), Name_length => new Option_Tagged_Type (True), Unit_max => new Option_Tagged_Type (True), Char_max => new Option_Tagged_Type (True), Version => new Option_Tagged_Type (True), Objects_max => new Option_Tagged_Type (True), Self_programming => new Option_Tagged_Type (True), Self_executed => new Option_Tagged_Type (True), Self_wait => new Option_Tagged_Type (True), User_wait => new Option_Tagged_Type (True), Lang => new Option_Tagged_Type (True), With_gtk => new Option_Tagged_Type (True), With_Ada => new Option_Tagged_Type (True), With_Aws => new Option_Tagged_Type (True) ); Full_File_Options_Kit : constant Options_Kit_Array_Type := -- Full_Options_Kit is constant Options_Kit_Array_Type  ( -- where Null_Option => -- Nul_Option is new Option_Tagged_Type (False), Config_filename => new Option_Tagged_Type (True), Help => new Option_Tagged_Type (False), Version_Edition => new Option_Tagged_Type (False), Name_length => new Option_Tagged_Type (True), Unit_max => new Option_Tagged_Type (True), Char_max => new Option_Tagged_Type (True), Version => new Option_Tagged_Type (True), Objects_max => new Option_Tagged_Type (True), Self_programming => new Option_Tagged_Type (True), Self_executed => new Option_Tagged_Type (True), Self_wait => new Option_Tagged_Type (True), User_wait => new Option_Tagged_Type (True), Lang => new Option_Tagged_Type (True), With_gtk => new Option_Tagged_Type (True), With_Ada => new Option_Tagged_Type (True), With_Aws => new Option_Tagged_Type (True) ); Default_Nul_Option : constant access Option_Tagged_Type := -- Default_Nul_Option is constant access to new Option_Tagged_Type (False); -- new Option_Tagged_Type(False);  function Get_Options_From_Command_Line -- To get Options_Kit_array_Type from argument in command_line ; return Options_Kit_Array_Type; -- return Options_Kit_Array_Type;  function Get_Options_From_File (Filename : in Wide_String) -- To get Options_Kit_array_Type from argument in file ; return Options_Kit_Array_Type; -- return Options_Kit_Array_Type;  end Gnos.Options;