-- Skywalker is another attempt of A. i. written with Ada. -- Skywalker is Copyright (C) 2024 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 := 2024-11-22 21:24:47 ;  -- Version := 0.13.0a ;  package Sky.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")), 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")), Initialize => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("i"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Initialize, Descr => new Wide_String ' ("initiaize total value"), Param => new Wide_String ' ("fixed from -999999.99 to 999999.99"), Value => null), Total => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("t"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Total, Descr => new Wide_String ' ("print fixed from -999999.99 to 999999.99")), 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) ); 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")), 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")), Initialize => new Parameter_Record ' (Requiered_Parameter => True, Switch => new Wide_String ' ("i"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Initialize, Descr => new Wide_String ' ("initiaize total value"), Param => new Wide_String ' ("fixed from -999999.99 to 999999.99"), Value => null), Total => new Parameter_Record ' (Requiered_Parameter => False, Switch => new Wide_String ' ("t"), Num_Iter => 0, Is_Setted => False, Parameter_Flag => Total, Descr => new Wide_String ' ("print fixed from -999999.99 to 999999.99")), 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) ); end Sky.Parameters ;