Next: API to build and manipulate AADL models, Previous: Code organization, Up: The Ocarina Core Library
Low level functions that are provided in Ocarina.Nodes
and the
package Ocarina.Entities
and its child packages.
Functions of Ocarina.Nodes
allow the direct manipulation of the
node tree. Therefore it is difficult to use them. We do not describe
this API. The packages Ocarina.Entities
provide an API to
manipulate entities, thus easing the manipulation of the tree
elements.
This package defines the following subprograms:
Get_Entity_Category: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Entity_Category (Node : Types.Node_Id) return Entity_Category;
Get_Name_Of_Entity: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Name_Of_Entity (Entity : Types.Node_Id; Get_Display_Name : Boolean := True) return Types.Name_Id;
Get_Name_Of_Entity: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Name_Of_Entity (Entity : Types.Node_Id; Get_Display_Name : Boolean := True) return String;
Get_Name_Of_Entity_Reference: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Name_Of_Entity_Reference (Entity_Ref : Types.Node_Id; Get_Display_Name : Boolean := True) return Types.Name_Id;
Get_Name_Of_Entity_Reference: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Name_Of_Entity_Reference (Entity_Ref : Types.Node_Id; Get_Display_Name : Boolean := True) return String;
Get_Referenced_Entity: Return the entity referenced by an entity reference, or No_Node if nothing is pointed
function Get_Referenced_Entity (Entity_Ref : Types.Node_Id) return Types.Node_Id;
Set_Referenced_Entity: Set the entity that is to be referenced by the entity reference
procedure Set_Referenced_Entity (Entity_Ref, Entity : Types.Node_Id);
Add_Path_Element_To_Entity_Reference: Add Item to the end of the path that constitutes the reference to the entity.
procedure Add_Path_Element_To_Entity_Reference (Entity_Ref, Item : Types.Node_Id);
Entity_Reference_Path_Has_Several_Elements: return True if the path has more than one element.
function Entity_Reference_Path_Has_Several_Elements (Entity_Ref : Types.Node_Id) return Boolean;
Duplicate_Identifier:
function Duplicate_Identifier (Identifier : Types.Node_Id) return Types.Node_Id;
This package provides all the required functions to build and manipulate AADL components. The operations performed through this API return True if everything is correct or False if the operation is illegal.
This package defines the following subprograms:
Get_Category_Of_Component: return the category of the component type, implementation or instance.
function Get_Category_Of_Component (Component : Types.Node_Id) return Component_Category;
This package provides functions to build connection within component implementations.
This package defines the following subprograms:
Get_Category_Of_Connection:
function Get_Category_Of_Connection (Connection : Types.Node_Id) return Connection_Type;
This package provides functions to build flows within component implementations.
This package defines the following subprograms:
Get_Category_Of_Flow:
function Get_Category_Of_Flow (Flow : Types.Node_Id) return Flow_Category;
This package provides functions to build subcomponents within component implementations.
This package defines the following subprograms:
Get_Category_Of_Subcomponent: Return the category of the subcomponent or subcomponent instance.
function Get_Category_Of_Subcomponent (Subcomponent : Types.Node_Id) return Component_Category;
Get_Corresponding_Component: return the corresponding component declaration, if there is any, or No_Node.
function Get_Corresponding_Component (Subcomponent : Types.Node_Id) return Types.Node_Id;
This package provides functions to build subcomponents within component implementations.
This package defines the following subprograms:
Get_Corresponding_Subprogram: return the corresponding subprogram declaration, if there is any, or No_Node.
function Get_Corresponding_Subprogram (Call : Types.Node_Id) return Types.Node_Id;
This package defines the following subprograms:
Display_Node_Kind_Error:
function Display_Node_Kind_Error (Node : Types.Node_Id) return Boolean;
DNKE:
function DNKE (Node : Types.Node_Id) return Boolean renames Display_Node_Kind_Error
This package provides API to ease the manipulation of allowed elements into the unnamed namespace. They return No_Node if there was an error, else they return the element that has been passed as parameter.
This package defines the following subprograms:
Package_Has_Public_Declarations_Or_Properties: Returns True if the package has public elements, else False. Pack must reference a package specification.
function Package_Has_Public_Declarations_Or_Properties (Pack : Types.Node_Id) return Boolean;
Package_Has_Private_Declarations_Or_Properties: Returns True if the package has private elements, else False. Pack must reference a package specification.
function Package_Has_Private_Declarations_Or_Properties (Pack : Types.Node_Id) return Boolean;
This package provides functions to create or read property names, types, constants and associations.
This package defines the following subprograms:
Value_Of_Property_Association_Is_Undefined:
function Value_Of_Property_Association_Is_Undefined (Property : Types.Node_Id) return Boolean;
Type_Of_Property_Is_A_List:
function Type_Of_Property_Is_A_List (Property : Types.Node_Id) return Boolean;
Get_Type_Of_Property:
function Get_Type_Of_Property (Property : Types.Node_Id; Use_Evaluated_Values : Boolean := True) return Property_Type;
Get_Type_Of_Property_Value:
function Get_Type_Of_Property_Value (Property_Value : Types.Node_Id; Use_Evaluated_Values : Boolean := True) return Property_Type;
Get_Integer_Of_Property_Value:
function Get_Integer_Of_Property_Value (Property_Value : Types.Node_Id) return Types.Unsigned_Long_Long;
Get_Float_Of_Property_Value:
function Get_Float_Of_Property_Value (Property_Value : Types.Node_Id) return Long_Long_Float;
Get_String_Of_Property_Value:
function Get_String_Of_Property_Value (Property_Value : Types.Node_Id) return Types.Name_Id;
Get_String_Of_Property_Value:
function Get_String_Of_Property_Value (Property_Value : Types.Node_Id) return String;
Get_Enumeration_Of_Property_Value:
function Get_Enumeration_Of_Property_Value (Property_Value : Types.Node_Id) return Types.Name_Id;
Get_Enumeration_Of_Property_Value:
function Get_Enumeration_Of_Property_Value (Property_Value : Types.Node_Id) return String;
Get_Boolean_Of_Property_Value:
function Get_Boolean_Of_Property_Value (Property_Value : Types.Node_Id) return Boolean;
Get_Classifier_Of_Property_Value:
function Get_Classifier_Of_Property_Value (Property_Value : Types.Node_Id) return Types.Node_Id;
Get_Reference_Of_Property_Value:
function Get_Reference_Of_Property_Value (Property_Value : Types.Node_Id) return Types.Node_Id;
Get_Value_Of_Property_Association:
function Get_Value_Of_Property_Association (Property : Types.Node_Id) return Ocarina.AADL_Values.Value_Type;
Find_Property_Association_From_Name:
function Find_Property_Association_From_Name (Property_List : Types.List_Id; Property_Name : Types.Name_Id) return Types.Node_Id;
Find_Property_Association_From_Name:
function Find_Property_Association_From_Name (Property_List : Types.List_Id; Property_Name : String) return Types.Node_Id;