------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- 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 GNU GPL real-time scheduling analysis tool. -- This program provides services to automatically check schedulability and -- other performance criteria of real-time architecture models. -- -- Copyright (C) 2002-2016 Frank Singhoff, Alain Plantec, Jerome Legrand -- -- The Cheddar project was started in 2002 by -- Frank Singhoff, Lab-STICC UMR 6285 laboratory, Université de Bretagne Occidentale -- -- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. -- Since 2008, Ellidiss technologies also contributes to the development of -- Cheddar and provides industrial support. -- -- The full list of contributors and sponsors can be found in AUTHORS.txt and SPONSORS.txt -- -- 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 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 Access_Lists; with standards_io; use standards_io; with ada.strings.unbounded.text_io; use ada.strings.unbounded.text_io; Package Generic_Graph is type Generic_Node; type Generic_Node_Ptr is access all Generic_Node'Class; type Generic_Edge; type Generic_Edge_Ptr is access all Generic_Edge'Class; type Graph; type Graph_Ptr is access all Graph'Class; -- --------= Generic_Node =-------- type Generic_Node is new Ada.Finalization.Controlled with record cheddar_private_id : Unbounded_String; Id : Unbounded_String; end record; procedure Initialize(obj : in out Generic_Node); procedure Put(obj : in Generic_Node); procedure Put(obj : in Generic_Node_Ptr); procedure Put_Name(obj : in Generic_Node_Ptr); procedure Build_Attributes_XML_String(obj : in Generic_Node; result : in out Unbounded_String); function XML_String(obj : in Generic_Node) return Unbounded_String; function XML_String(obj : in Generic_Node_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Generic_Node) return Unbounded_String; function XML_Ref_String(obj : in Generic_Node_Ptr) return Unbounded_String; function Copy(obj : in Generic_Node_Ptr) return Generic_Node_Ptr; function Copy(obj : in Generic_Node) return Generic_Node_Ptr; function type_of(obj : in Generic_Node) return unbounded_string_list; function type_of(obj : in Generic_Node_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Generic_Node'Class, Generic_Node_Ptr); package Node_Lists_Package is new Access_Lists(Generic_Node'class, Generic_Node_Ptr, Put, Free, Copy, XML_String); use Node_Lists_Package; subtype Node_Lists is Node_Lists_Package.List; subtype Node_Lists_Ptr is Node_Lists_Package.List_Ptr; subtype Node_Lists_Iterator is Node_Lists_Package.Iterator; subtype Node_Lists_Iterator_Ptr is Node_Lists_Package.Iterator_Ptr; -- --------= Generic_Edge =-------- type Generic_Edge is new Ada.Finalization.Controlled with record cheddar_private_id : Unbounded_String; Id : Unbounded_String; Node_1 : Unbounded_String; Node_2 : Unbounded_String; end record; procedure Initialize(obj : in out Generic_Edge); procedure Put(obj : in Generic_Edge); procedure Put(obj : in Generic_Edge_Ptr); procedure Put_Name(obj : in Generic_Edge_Ptr); procedure Build_Attributes_XML_String(obj : in Generic_Edge; result : in out Unbounded_String); function XML_String(obj : in Generic_Edge) return Unbounded_String; function XML_String(obj : in Generic_Edge_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Generic_Edge) return Unbounded_String; function XML_Ref_String(obj : in Generic_Edge_Ptr) return Unbounded_String; function Copy(obj : in Generic_Edge_Ptr) return Generic_Edge_Ptr; function Copy(obj : in Generic_Edge) return Generic_Edge_Ptr; function type_of(obj : in Generic_Edge) return unbounded_string_list; function type_of(obj : in Generic_Edge_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Generic_Edge'Class, Generic_Edge_Ptr); package Edge_Lists_Package is new Access_Lists(Generic_Edge'class, Generic_Edge_Ptr, Put, Free, Copy, XML_String); use Edge_Lists_Package; subtype Edge_Lists is Edge_Lists_Package.List; subtype Edge_Lists_Ptr is Edge_Lists_Package.List_Ptr; subtype Edge_Lists_Iterator is Edge_Lists_Package.Iterator; subtype Edge_Lists_Iterator_Ptr is Edge_Lists_Package.Iterator_Ptr; -- --------= Graph =-------- type Graph is new Ada.Finalization.Controlled with record cheddar_private_id : Unbounded_String; Nodes : Node_Lists; Edges : Edge_Lists; end record; procedure Initialize(obj : in out Graph); procedure Put(obj : in Graph); procedure Put(obj : in Graph_Ptr); procedure Put_Name(obj : in Graph_Ptr); procedure Build_Attributes_XML_String(obj : in Graph; result : in out Unbounded_String); function XML_String(obj : in Graph) return Unbounded_String; function XML_String(obj : in Graph_Ptr) return Unbounded_String; function XML_Ref_String(obj : in Graph) return Unbounded_String; function XML_Ref_String(obj : in Graph_Ptr) return Unbounded_String; function Copy(obj : in Graph_Ptr) return Graph_Ptr; function Copy(obj : in Graph) return Graph_Ptr; function type_of(obj : in Graph) return unbounded_string_list; function type_of(obj : in Graph_Ptr) return unbounded_string_list; procedure Free is new Unchecked_Deallocation (Graph'Class, Graph_Ptr); End Generic_Graph;