pragma Style_Checks ("NM32766");
pragma Wide_Character_Encoding (Brackets);
pragma Warnings (Off, "use of an anonymous access type allocator");

---------------------------------------------------
--  This file has been generated automatically from
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/CORBA_IDL/orb.idl
--  by IAC (IDL to Ada Compiler) 25.0w (rev. unknown).
---------------------------------------------------
--  NOTE: If you modify this file by hand, your
--  changes will be lost when you re-run the
--  IDL to Ada compiler.
---------------------------------------------------

with CORBA.Repository_Root.TypedefDef;
with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with CORBA.Repository_Root.IDLType;
with CORBA.Repository_Root.Container;
with CORBA.Repository_Root.Contained;

package CORBA.Repository_Root.UnionDef is

   type Ref is
     new CORBA.Repository_Root.TypedefDef.Ref with null record;

   Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/UnionDef:1.0";

   discriminator_type_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/UnionDef/discriminator_type:1.0";

   function get_discriminator_type
     (Self : Ref)
     return CORBA.TypeCode.Object;

   discriminator_type_def_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/UnionDef/discriminator_type_def:1.0";

   function get_discriminator_type_def
     (Self : Ref)
     return CORBA.Repository_Root.IDLType.Ref;

   procedure set_discriminator_type_def
     (Self : Ref;
      To : CORBA.Repository_Root.IDLType.Ref);

   members_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/UnionDef/members:1.0";

   function get_members
     (Self : Ref)
     return CORBA.Repository_Root.UnionMemberSeq;

   procedure set_members
     (Self : Ref;
      To : CORBA.Repository_Root.UnionMemberSeq);

   --  Description : inherited from CORBA.Container

   subtype Description is
     CORBA.Repository_Root.Container.Description;

   --  DescriptionSeq: inherited from CORBA.Container

   subtype DescriptionSeq is
     CORBA.Repository_Root.Container.DescriptionSeq;

   --  lookup : inherited from CORBA.Container

   function lookup
     (Self : Ref;
      search_name : CORBA.ScopedName)
     return CORBA.Repository_Root.Contained.Ref;

   --  contents : inherited from CORBA.Container

   function contents
     (Self : Ref;
      limit_type : CORBA.Repository_Root.DefinitionKind;
      exclude_inherited : CORBA.Boolean)
     return CORBA.Repository_Root.ContainedSeq;

   --  lookup_name : inherited from CORBA.Container

   function lookup_name
     (Self : Ref;
      search_name : CORBA.Identifier;
      levels_to_search : CORBA.Long;
      limit_type : CORBA.Repository_Root.DefinitionKind;
      exclude_inherited : CORBA.Boolean)
     return CORBA.Repository_Root.ContainedSeq;

   --  describe_contents : inherited from CORBA.Container

   function describe_contents
     (Self : Ref;
      limit_type : CORBA.Repository_Root.DefinitionKind;
      exclude_inherited : CORBA.Boolean;
      max_returned_objs : CORBA.Long)
     return CORBA.Repository_Root.Container.DescriptionSeq;

   --  create_module : inherited from CORBA.Container

   function create_module
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec)
     return CORBA.Repository_Root.ModuleDef_Forward.Ref;

   --  create_constant : inherited from CORBA.Container

   function create_constant
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      IDL_type : CORBA.Repository_Root.IDLType_Forward.Ref;
      value : CORBA.Any)
     return CORBA.Repository_Root.ConstantDef_Forward.Ref;

   --  create_struct : inherited from CORBA.Container

   function create_struct
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      members : CORBA.Repository_Root.StructMemberSeq)
     return CORBA.Repository_Root.StructDef_Forward.Ref;

   --  create_union : inherited from CORBA.Container

   function create_union
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      discriminator_type : CORBA.Repository_Root.IDLType_Forward.Ref;
      members : CORBA.Repository_Root.UnionMemberSeq)
     return CORBA.Repository_Root.UnionDef_Forward.Ref;

   --  create_enum : inherited from CORBA.Container

   function create_enum
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      members : CORBA.Repository_Root.EnumMemberSeq)
     return CORBA.Repository_Root.EnumDef_Forward.Ref;

   --  create_alias : inherited from CORBA.Container

   function create_alias
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      original_type : CORBA.Repository_Root.IDLType_Forward.Ref)
     return CORBA.Repository_Root.AliasDef_Forward.Ref;

   --  create_interface : inherited from CORBA.Container

   function create_interface
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      base_interfaces : CORBA.Repository_Root.InterfaceDefSeq;
      is_abstract : CORBA.Boolean)
     return CORBA.Repository_Root.InterfaceDef_Forward.Ref;

   --  create_value : inherited from CORBA.Container

   function create_value
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      is_custom : CORBA.Boolean;
      is_abstract : CORBA.Boolean;
      base_value : CORBA.Repository_Root.ValueDef_Forward.Ref;
      is_truncatable : CORBA.Boolean;
      abstract_base_values : CORBA.Repository_Root.ValueDefSeq;
      supported_interfaces : CORBA.Repository_Root.InterfaceDefSeq;
      initializers : CORBA.Repository_Root.InitializerSeq)
     return CORBA.Repository_Root.ValueDef_Forward.Ref;

   --  create_value_box : inherited from CORBA.Container

   function create_value_box
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      original_type_def : CORBA.Repository_Root.IDLType_Forward.Ref)
     return CORBA.Repository_Root.ValueBoxDef_Forward.Ref;

   --  create_exception : inherited from CORBA.Container

   function create_exception
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      members : CORBA.Repository_Root.StructMemberSeq)
     return CORBA.Repository_Root.ExceptionDef_Forward.Ref;

   --  create_native : inherited from CORBA.Container

   function create_native
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec)
     return CORBA.Repository_Root.NativeDef_Forward.Ref;

   --  create_abstract_interface : inherited from CORBA.Container

   function create_abstract_interface
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      base_interfaces : CORBA.Repository_Root.AbstractInterfaceDefSeq)
     return CORBA.Repository_Root.AbstractInterfaceDef_Forward.Ref;

   --  create_local_interface : inherited from CORBA.Container

   function create_local_interface
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      base_interfaces : CORBA.Repository_Root.InterfaceDefSeq)
     return CORBA.Repository_Root.LocalInterfaceDef_Forward.Ref;

   --  get_def_kind : inherited from CORBA.IRObject

   function get_def_kind
     (Self : Ref)
     return CORBA.Repository_Root.DefinitionKind;

   --  destroy : inherited from CORBA.IRObject

   procedure destroy
     (Self : Ref);

   function Is_A
     (Self : Ref;
      Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean;

   package Convert_Forward is
     new CORBA.Repository_Root.UnionDef_Forward.Convert
        (Ref);

private
   function Is_A
     (Logical_Type_Id : PolyORB.Std.String)
     return CORBA.Boolean;

end CORBA.Repository_Root.UnionDef;
