--------------------------------------------------------
--  This file was automatically generated by Ocarina  --
--  Do NOT hand-modify this file, as your             --
--  changes will be lost when you re-run Ocarina      --
--------------------------------------------------------
pragma Style_Checks
 ("NM32766");


package PolyORB_HI_Generated.Deployment is

  pragma Preelaborate;

  --  For each node in the distributed application add an enumerator

  type Node_Type is
   (pr_A_K,
    pr_B_K);

  --  Representation clause to have consistent positions for enumerators

  for Node_Type use
   (pr_A_K =>
     1,
    pr_B_K =>
     2);

  --  Size of Node_Type fixed to 8 bits

  for Node_Type'Size use 8;

  Max_Node_Image_Size : constant Standard.Integer :=
   6;

  --  Maximal Node_Image size for this node

  --  Node Image

  subtype UT_Deployment_Pr_A_Node_Type_Range is
   Node_Type range Node_Type'First .. Node_Type'Last;

  subtype UT_Deployment_Pr_A_1_Max_Node_Image_Size is
   Integer range 1 .. Max_Node_Image_Size;

  subtype UT_Deployment_Pr_A_Node_Image_Component is
   Standard.String
     (UT_Deployment_Pr_A_1_Max_Node_Image_Size);

  type UT_Deployment_Pr_A_Node_Image_Array is
   array (UT_Deployment_Pr_A_Node_Type_Range)
     of UT_Deployment_Pr_A_Node_Image_Component;

  Node_Image : constant UT_Deployment_Pr_A_Node_Image_Array :=
   UT_Deployment_Pr_A_Node_Image_Array'
     (pr_A_K =>
       "pr_A_K",
      pr_B_K =>
       "pr_B_K");

  My_Node : constant Node_Type :=
   pr_A_K;

  --  For each thread in the distributed application nodes, add an enumerator

  type Entity_Type is
   (pr_A_Producer_K,
    pr_A_Result_Consumer_K,
    pr_B_Consumer_K,
    pr_B_Result_Producer_K);

  --  Representation clause to have consistent positions for enumerators

  for Entity_Type use
   (pr_A_Producer_K =>
     1,
    pr_A_Result_Consumer_K =>
     2,
    pr_B_Consumer_K =>
     3,
    pr_B_Result_Producer_K =>
     4);

  --  Size of Entity_Type fixed to 8 bits

  for Entity_Type'Size use 8;

  --  Entity Table

  subtype UT_Deployment_Pr_A_Entity_Type_Range is
   Entity_Type range Entity_Type'First .. Entity_Type'Last;

  type UT_Deployment_Pr_A_Entity_Table_Array is
   array (UT_Deployment_Pr_A_Entity_Type_Range)
     of Node_Type;

  Entity_Table : constant UT_Deployment_Pr_A_Entity_Table_Array :=
   UT_Deployment_Pr_A_Entity_Table_Array'
     (pr_A_Producer_K =>
       pr_A_K,
      pr_A_Result_Consumer_K =>
       pr_A_K,
      pr_B_Consumer_K =>
       pr_B_K,
      pr_B_Result_Producer_K =>
       pr_B_K);

  Max_Entity_Image_Size : constant Standard.Integer :=
   22;

  --  Maximal Entity_Image size for this node

  --  Entity Image

  subtype UT_Deployment_Pr_A_1_Max_Entity_Image_Size is
   Integer range 1 .. Max_Entity_Image_Size;

  subtype UT_Deployment_Pr_A_Entity_Image_Component is
   Standard.String
     (UT_Deployment_Pr_A_1_Max_Entity_Image_Size);

  type UT_Deployment_Pr_A_Entity_Image_Array is
   array (UT_Deployment_Pr_A_Entity_Type_Range)
     of UT_Deployment_Pr_A_Entity_Image_Component;

  Entity_Image : constant UT_Deployment_Pr_A_Entity_Image_Array :=
   UT_Deployment_Pr_A_Entity_Image_Array'
     (pr_A_Producer_K =>
       "pr_A_Producer_K       ",
      pr_A_Result_Consumer_K =>
       "pr_A_Result_Consumer_K",
      pr_B_Consumer_K =>
       "pr_B_Consumer_K       ",
      pr_B_Result_Producer_K =>
       "pr_B_Result_Producer_K");

  --  For each thread port in the distributed application nodes, add an
  --  enumerator

  type Port_Type is
    (     Pr_A_Producer_Data_Source_K,
     pr_A_Result_Consumer_Data_Sink_K,
     pr_B_Consumer_Data_Sink_K,
     pr_B_Result_Producer_Data_Source_K);

  --  Representation clause to have consistent positions for enumerators

  for Port_Type use
    (
     pr_A_Producer_Data_Source_K =>
     1,
    pr_A_Result_Consumer_Data_Sink_K =>
     2,
    pr_B_Consumer_Data_Sink_K =>
     3,
    pr_B_Result_Producer_Data_Source_K =>
     4);

  --  Size of Port_Type fixed to 16 bits

  for Port_Type'Size use 16;

  --  Port Table

  subtype UT_Deployment_Pr_A_Port_Type_Range is
   Port_Type range Port_Type'First .. Port_Type'Last;

  type UT_Deployment_Pr_A_Port_Table_Array is
   array (UT_Deployment_Pr_A_Port_Type_Range)
     of Entity_Type;

  Port_Table : constant UT_Deployment_Pr_A_Port_Table_Array :=
   UT_Deployment_Pr_A_Port_Table_Array'
     (pr_A_Producer_Data_Source_K =>
       pr_A_Producer_K,
      pr_A_Result_Consumer_Data_Sink_K =>
       pr_A_Result_Consumer_K,
      pr_B_Consumer_Data_Sink_K =>
       pr_B_Consumer_K,
      pr_B_Result_Producer_Data_Source_K =>
       pr_B_Result_Producer_K);

  Max_Port_Image_Size : constant Standard.Integer :=
   34;

  --  Maximal Port_Image size for this node

  subtype Port_Sized_String is
   Standard.String
     (1 .. PolyORB_HI_Generated.Deployment.Max_Port_Image_Size);

  --  Port Image

  type UT_Deployment_Pr_A_Port_Image_Array is
   array (UT_Deployment_Pr_A_Port_Type_Range)
     of Port_Sized_String;

  Port_Image : constant UT_Deployment_Pr_A_Port_Image_Array :=
   UT_Deployment_Pr_A_Port_Image_Array'
     (pr_A_Producer_Data_Source_K =>
       "pr_A_Producer_Data_Source_K       ",
      pr_A_Result_Consumer_Data_Sink_K =>
       "pr_A_Result_Consumer_Data_Sink_K  ",
      pr_B_Consumer_Data_Sink_K =>
       "pr_B_Consumer_Data_Sink_K         ",
      pr_B_Result_Producer_Data_Source_K =>
       "pr_B_Result_Producer_Data_Source_K");

  --  Maximal message payload size for this node (in bits)

  Max_Payload_Size : constant Standard.Integer :=
   112;

  --  Biggest type: alpha_type

end PolyORB_HI_Generated.Deployment;
