------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- This source file was automatically generated by Platypus -- see http://dossen.univ-brest.fr/apl -- -- Any modification of this file will be lost. -- Please see the "platypus" directory instead : it contains the Cheddar's -- model and its meta-model. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a free real time scheduling tool. -- This program provides services to automatically check temporal constraints -- of real time tasks. -- -- Copyright (C) 2002-2009 Frank Singhoff -- Cheddar is developed by the LAB-STICC Team, University of Brest -- -- 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 -- -- -- Contact : cheddar@listes.univ-brest.fr -- To post to this mailing list, you must be subscribed -- (see http//beru.univ-brest.fr/~singhoff/cheddar for details) -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Framework_Config; use Framework_Config; with id_generators; use id_generators; with standards_io; use standards_io; use standards_io.double_io; use standards_io.natural_io; use standards_io.boolean_io; with Text_io; use Text_io; with Unbounded_Strings; use Unbounded_Strings; use unbounded_strings.Unbounded_String_List_Package; with Convert_Strings; with Convert_Unbounded_Strings; with Ada.Finalization; with Unchecked_Deallocation; with Primitive_XML_Strings; use Primitive_XML_Strings; with Tables; with Ada.Numerics.Aux; use Ada.Numerics.Aux; with ada.strings.unbounded.text_io; use ada.strings.unbounded.text_io; Package Parameters is type Parameter_Type is ( Boolean_Parameter, Integer_Parameter, Double_Parameter, String_Parameter); procedure To_Parameter_Type is new Convert_Strings(Parameter_Type, Boolean_Parameter); procedure To_Parameter_Type is new Convert_Unbounded_Strings(Parameter_Type, Boolean_Parameter); function XML_String (obj : in Parameter_Type) return Unbounded_String; function XML_Ref_String (obj : in Parameter_Type) return Unbounded_String; package Parameter_Type_io is new text_io.enumeration_io(Parameter_Type); use Parameter_Type_io; type Parameter (type_of_parameter : Parameter_Type ) is record parameter_name : Unbounded_String; case type_of_parameter is when boolean_parameter => boolean_value : Boolean; when integer_parameter => integer_value : Natural; when double_parameter => double_value : Double; when string_parameter => string_value : Unbounded_String; end case; end record; type Parameter_Ptr is access all Parameter; procedure Initialize(obj : out Parameter_Ptr); procedure Put(obj : in Parameter_Ptr); function Copy(obj : in Parameter_Ptr) return Parameter_Ptr; function Copy(obj : in Parameter) return Parameter_Ptr; function XML_String(obj : in Parameter) return Unbounded_String; function XML_String(obj : in Parameter_Ptr) return Unbounded_String; procedure Free is new Unchecked_Deallocation (Parameter, Parameter_Ptr); function XML_Ref_String(obj : in Parameter) return Unbounded_String; function XML_Ref_String(obj : in Parameter_Ptr) return Unbounded_String; package User_Defined_Parameters_Table_Package is new Tables(Parameter_Ptr, Max_User_Defined_Task_Parameters, Put, XML_String, XML_String); use User_Defined_Parameters_Table_Package; subtype User_Defined_Parameters_Range is User_Defined_Parameters_Table_Package.table_range; subtype User_Defined_Parameters_Range_Ptr is User_Defined_Parameters_Table_Package.table_range_Ptr; subtype User_Defined_Parameters_Table is User_Defined_Parameters_Table_Package.table; subtype User_Defined_Parameters_Table_Ptr is User_Defined_Parameters_Table_Package.table_Ptr; package Framework_Parameters_Table_Package is new Tables(Parameter_ptr, Max_Framework_Parameters, Put, XML_String, XML_Ref_String); use Framework_Parameters_Table_Package; subtype Framework_Parameters_Range is Framework_Parameters_Table_Package.table_range; subtype Framework_Parameters_Range_Ptr is Framework_Parameters_Table_Package.table_range_Ptr; subtype Framework_Parameters_Table is Framework_Parameters_Table_Package.table; subtype Framework_Parameters_Table_Ptr is Framework_Parameters_Table_Package.table_Ptr; End Parameters;