------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- 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-2014 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 Objects; use Objects; with Tasks; use Tasks; with Queueing_Systems; use Queueing_Systems; with Convert_Strings; with Convert_Unbounded_Strings; with text_io; use text_io; with standards_io; use standards_io; use standards_io.natural_io; with Unbounded_Strings; use Unbounded_Strings; use unbounded_strings.Unbounded_String_List_Package; with Ada.Finalization; with Unchecked_Deallocation; with Primitive_XML_Strings; use Primitive_XML_Strings; with Indexed_Tables; with ada.strings.unbounded.text_io; use ada.strings.unbounded.text_io; Package Buffers is type Buffer_Role; type Buffer_Role_Ptr is access all Buffer_Role; type Buffer; type Buffer_Ptr is access all Buffer'Class; type Buffer_Role_Type is ( Queuing_Producer, Queuing_Consumer, Sampling_Writer, Sampling_Reader, UCSDF_Producer, UCSDF_Consumer); procedure To_Buffer_Role_Type is new Convert_Strings(Buffer_Role_Type, Queuing_Producer); procedure To_Buffer_Role_Type is new Convert_Unbounded_Strings(Buffer_Role_Type, Queuing_Producer); function XML_String (obj : in Buffer_Role_Type) return Unbounded_String; function XML_Ref_String (obj : in Buffer_Role_Type) return Unbounded_String; package Buffer_Role_Type_io is new text_io.enumeration_io(Buffer_Role_Type); use Buffer_Role_Type_io; -- --------= Buffer_Role =-------- type Buffer_Role is record the_role : Buffer_Role_Type; size : Natural; time : Natural; timeout : Natural; amplitude_function : Unbounded_String; end record; procedure Initialize(obj : out Buffer_Role); procedure Put(obj : in Buffer_Role); procedure Put(obj : in Buffer_Role_Ptr); function Copy(obj : in Buffer_Role_Ptr) return Buffer_Role_Ptr; function Copy(obj : in Buffer_Role) return Buffer_Role_Ptr; procedure Build_Attributes_XML_String(obj : in Buffer_Role; result : in out Unbounded_String); function XML_String(obj : in Buffer_Role) return Unbounded_String; function XML_String(obj : in Buffer_Role_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Buffer_Role) return Unbounded_String; procedure Free is new Unchecked_Deallocation (Buffer_Role, Buffer_Role_Ptr); package Buffer_Roles_Package is new Indexed_Tables(Buffer_Role, Unbounded_String, framework_config.max_tasks, 0, Put, Initialize, Put, Convert, XML_String, XML_String, to_unbounded_string("task_name")); use Buffer_Roles_Package; subtype Buffer_Roles_Table is Buffer_Roles_Package.indexed_table; subtype Buffer_Roles_Table_Ptr is Buffer_Roles_Package.indexed_table_Ptr; subtype Buffer_Roles_Range is Buffer_Roles_Package.indexed_table_range; subtype Buffer_Roles_Range_Ptr is Buffer_Roles_Package.indexed_table_range_Ptr; -- --------= Buffer =-------- type Buffer is new Named_Object with record cpu_name : Unbounded_String; address_space_name : Unbounded_String; queueing_system_type : Queueing_Systems_Type; buffer_size : Natural; buffer_initial_data_size : Natural; roles : Buffer_Roles_Table; end record; procedure Initialize(obj : in out Buffer); procedure Put(obj : in Buffer); procedure Put(obj : in Buffer_Ptr); procedure Put_Name(obj : in Buffer_Ptr); procedure Build_Attributes_XML_String(obj : in Buffer; result : in out Unbounded_String); function XML_String(obj : in Buffer) return Unbounded_String; function XML_String(obj : in Buffer_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Buffer) return Unbounded_String; function XML_Ref_String(obj : in Buffer_Ptr) return Unbounded_String; function Get_Name (obj : in Buffer) return Unbounded_String; function Get_Name (obj : in Buffer_Ptr) return Unbounded_String; function Copy(obj : in Buffer_Ptr) return Buffer_Ptr; function Copy(obj : in Buffer) return Buffer_Ptr; function type_of(obj : in Buffer) return unbounded_string_list; function type_of(obj : in Buffer_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Buffer'Class, Buffer_Ptr); End Buffers;