-- main is main file of main project written with Ada. -- Main is Copyright (C) 2026 Manuel_De_Girardi ;  -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -- -- Date := "2026-10-05 21:18:35" -- Version := "0.43.22a" package Org.Parameters is type Parameter_Record (Requiered_Parameter : Boolean) is tagged record Switch : access Wide_String; Num_Iter : Natural := 0; Is_Setted : Boolean := False; Parameter_Flag : Flag_Enum := None; Descr : access Wide_String; case Requiered_Parameter is when False => null; when True => param : access Wide_String; Value : access Wide_String; end case; end record; type Parameters_Kit is array (Flag_Enum) of access Parameter_Record; Line_Parameters : constant Parameters_Kit := ( None => null, Config_Filename => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("F"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Config_Filename, Descr => new Wide_String ' ("Configuration filename"), Param => new Wide_String ' ("Wide_String"), Value => null), Help => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("h"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => help, Descr => new Wide_String ' ("print this message")), Quiet => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("q"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Quiet, Descr => new Wide_String ' ("quiet option")), Version => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("v"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Version, Descr => new Wide_String ' ("print the version")), Geometry => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("g"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => geometry, Descr => new Wide_String ' ("Descibe the term geometry ; (eg : 67x240)"), Param => new Wide_String ' ("String"), Value => null), style => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("s"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => style, Descr => new Wide_String ' ("style"), Param => new Wide_String ' ("string : Black_And_White, Black_And_Color, Color_And_White" & Wide_Character'Val(10) & " White_And_Color, Color_And_Color, White_And_White"), Value => null), Term_Name => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("N"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Term_Name, Descr => new Wide_String ' ("Terminal name"), Param => new Wide_String ' ("String"), Value => null) ); File_Parameters : constant Parameters_Kit := ( None => null, Config_Filename => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("F"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Config_Filename, Descr => new Wide_String ' ("Configuration filename"), Param => new Wide_String ' ("Wide_String"), Value => null), Help => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("h"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => help, Descr => new Wide_String ' ("print this message")), Quiet => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("q"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Quiet, Descr => new Wide_String ' ("quiet option")), Version => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("v"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Version, Descr => new Wide_String ' ("print the version")), Geometry => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("g"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => geometry, Descr => new Wide_String ' ("Descibe the term geometry ; (eg : 67x240)"), Param => new Wide_String ' ("String"), Value => null), style => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("s"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => style, Descr => new Wide_String ' ("style"), Param => new Wide_String ' ("string : Black_And_White, Black_And_Color, Color_And_White" & Wide_Character'Val(10) & " White_And_Color, Color_And_Color, White_And_White"), Value => null), Term_Name => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("N"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Term_Name, Descr => new Wide_String ' ("Terminal name"), Param => new Wide_String ' ("String"), Value => null) ); type Parameters_Kit_Record is tagged record Kit : Parameters_kit; end record; end Org.Parameters ;