------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- 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 Processor_Interface; use Processor_Interface; with Core_Units; use Core_Units; with Caches; use Caches; with Convert_Strings; with Convert_Unbounded_Strings; with text_io; use text_io; with Ada.Finalization; with unbounded_strings; use unbounded_strings; use unbounded_strings.Unbounded_String_List_Package; with Unchecked_Deallocation; with Primitive_XML_Strings; use Primitive_XML_Strings; with standards_io; use standards_io; with Lists; with ada.strings.unbounded.text_io; use ada.strings.unbounded.text_io; Package Processors is type Generic_Processor; type Generic_Processor_Ptr is access all Generic_Processor'Class; type Mono_Core_Processor; type Mono_Core_Processor_Ptr is access all Mono_Core_Processor'Class; type Multi_Cores_Processor; type Multi_Cores_Processor_Ptr is access all Multi_Cores_Processor'Class; -- --------= Generic_Processor =-------- type Generic_Processor is new Named_Object with record processor_type : Processors_type; migration_type : Migrations_Type; end record; procedure Initialize(obj : in out Generic_Processor); procedure Put(obj : in Generic_Processor); procedure Put(obj : in Generic_Processor_Ptr); procedure Put_Name(obj : in Generic_Processor_Ptr); procedure Build_Attributes_XML_String(obj : in Generic_Processor; result : in out Unbounded_String); function XML_String(obj : in Generic_Processor) return Unbounded_String; function XML_String(obj : in Generic_Processor_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Generic_Processor) return Unbounded_String; function XML_Ref_String(obj : in Generic_Processor_Ptr) return Unbounded_String; function Get_Name (obj : in Generic_Processor) return Unbounded_String; function Get_Name (obj : in Generic_Processor_Ptr) return Unbounded_String; function Copy(obj : in Generic_Processor_Ptr) return Generic_Processor_Ptr; function Copy(obj : in Generic_Processor) return Generic_Processor_Ptr; function type_of(obj : in Generic_Processor) return unbounded_string_list; function type_of(obj : in Generic_Processor_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Generic_Processor'Class, Generic_Processor_Ptr); -- --------= Mono_Core_Processor =-------- type Mono_Core_Processor is new Generic_Processor with record core : Core_Unit_Ptr; end record; procedure Initialize(obj : in out Mono_Core_Processor); procedure Put(obj : in Mono_Core_Processor); procedure Put(obj : in Mono_Core_Processor_Ptr); procedure Put_Name(obj : in Mono_Core_Processor_Ptr); procedure Build_Attributes_XML_String(obj : in Mono_Core_Processor; result : in out Unbounded_String); function XML_String(obj : in Mono_Core_Processor) return Unbounded_String; function XML_String(obj : in Mono_Core_Processor_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Mono_Core_Processor) return Unbounded_String; function XML_Ref_String(obj : in Mono_Core_Processor_Ptr) return Unbounded_String; function Get_Name (obj : in Mono_Core_Processor) return Unbounded_String; function Get_Name (obj : in Mono_Core_Processor_Ptr) return Unbounded_String; function Copy(obj : in Mono_Core_Processor_Ptr) return Generic_Processor_Ptr; function Copy(obj : in Mono_Core_Processor) return Generic_Processor_Ptr; function type_of(obj : in Mono_Core_Processor) return unbounded_string_list; function type_of(obj : in Mono_Core_Processor_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Mono_Core_Processor'Class, Mono_Core_Processor_Ptr); -- --------= Multi_Cores_Processor =-------- type Multi_Cores_Processor is new Generic_Processor with record cores : Core_Units_Table; l2_cache_system_name : Unbounded_String; end record; procedure Initialize(obj : in out Multi_Cores_Processor); procedure Put(obj : in Multi_Cores_Processor); procedure Put(obj : in Multi_Cores_Processor_Ptr); procedure Put_Name(obj : in Multi_Cores_Processor_Ptr); procedure Build_Attributes_XML_String(obj : in Multi_Cores_Processor; result : in out Unbounded_String); function XML_String(obj : in Multi_Cores_Processor) return Unbounded_String; function XML_String(obj : in Multi_Cores_Processor_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Multi_Cores_Processor) return Unbounded_String; function XML_Ref_String(obj : in Multi_Cores_Processor_Ptr) return Unbounded_String; function Get_Name (obj : in Multi_Cores_Processor) return Unbounded_String; function Get_Name (obj : in Multi_Cores_Processor_Ptr) return Unbounded_String; function Copy(obj : in Multi_Cores_Processor_Ptr) return Generic_Processor_Ptr; function Copy(obj : in Multi_Cores_Processor) return Generic_Processor_Ptr; function type_of(obj : in Multi_Cores_Processor) return unbounded_string_list; function type_of(obj : in Multi_Cores_Processor_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Multi_Cores_Processor'Class, Multi_Cores_Processor_Ptr); package Generic_Processor_List_Package is new Lists(Generic_Processor_Ptr, Put, Free, XML_Ref_String); use Generic_Processor_List_Package; subtype Generic_Processor_Iterator is Generic_Processor_List_Package.iterator; subtype Generic_Processor_Iterator_Ptr is Generic_Processor_List_Package.iterator_Ptr; subtype Generic_Processor_List is Generic_Processor_List_Package.list; subtype Generic_Processor_List_Ptr is Generic_Processor_List_Package.list_Ptr; End Processors;