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.Container;
with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with CORBA.Repository_Root.IDLType;
with CORBA.Repository_Root.ValueMemberDef;
with CORBA.Repository_Root.AttributeDef;
with CORBA.Repository_Root.OperationDef;
with CORBA.Repository_Root.Contained;

package CORBA.Repository_Root.ValueDef is

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

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

   supported_interfaces_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/supported_interfaces:1.0";

   function get_supported_interfaces
     (Self : Ref)
     return CORBA.Repository_Root.InterfaceDefSeq;

   procedure set_supported_interfaces
     (Self : Ref;
      To : CORBA.Repository_Root.InterfaceDefSeq);

   initializers_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/initializers:1.0";

   function get_initializers
     (Self : Ref)
     return CORBA.Repository_Root.InitializerSeq;

   procedure set_initializers
     (Self : Ref;
      To : CORBA.Repository_Root.InitializerSeq);

   base_value_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/base_value:1.0";

   function get_base_value
     (Self : Ref)
     return CORBA.Repository_Root.ValueDef.Ref'Class;

   procedure set_base_value
     (Self : Ref;
      To : CORBA.Repository_Root.ValueDef.Ref'Class);

   abstract_base_values_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/abstract_base_values:1.0";

   function get_abstract_base_values
     (Self : Ref)
     return CORBA.Repository_Root.ValueDefSeq;

   procedure set_abstract_base_values
     (Self : Ref;
      To : CORBA.Repository_Root.ValueDefSeq);

   is_abstract_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/is_abstract:1.0";

   function get_is_abstract
     (Self : Ref)
     return CORBA.Boolean;

   procedure set_is_abstract
     (Self : Ref;
      To : CORBA.Boolean);

   is_custom_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/is_custom:1.0";

   function get_is_custom
     (Self : Ref)
     return CORBA.Boolean;

   procedure set_is_custom
     (Self : Ref;
      To : CORBA.Boolean);

   is_truncatable_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/is_truncatable:1.0";

   function get_is_truncatable
     (Self : Ref)
     return CORBA.Boolean;

   procedure set_is_truncatable
     (Self : Ref;
      To : CORBA.Boolean);

   function is_a
     (Self : Ref;
      id : CORBA.RepositoryId)
     return CORBA.Boolean;

   is_a_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/is_a:1.0";

   type FullValueDescription is
     record
         name : CORBA.Identifier;
         id : CORBA.RepositoryId;
         is_abstract : CORBA.Boolean;
         is_custom : CORBA.Boolean;
         defined_in : CORBA.RepositoryId;
         version : CORBA.Repository_Root.VersionSpec;
         operations : CORBA.Repository_Root.OpDescriptionSeq;
         attributes : CORBA.Repository_Root.AttrDescriptionSeq;
         members : CORBA.Repository_Root.ValueMemberSeq;
         initializers : CORBA.Repository_Root.InitializerSeq;
         supported_interfaces : CORBA.Repository_Root.RepositoryIdSeq;
         abstract_base_values : CORBA.Repository_Root.RepositoryIdSeq;
         is_truncatable : CORBA.Boolean;
         base_value : CORBA.RepositoryId;
         IDL_type : CORBA.TypeCode.Object;
      end record;

   FullValueDescription_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/FullValueDescription:1.0";

   function describe_value
     (Self : Ref)
     return CORBA.Repository_Root.ValueDef.FullValueDescription;

   describe_value_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/describe_value:1.0";

   function create_value_member
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      IDL_type : CORBA.Repository_Root.IDLType.Ref;
      IDL_access : CORBA.Visibility)
     return CORBA.Repository_Root.ValueMemberDef.Ref;

   create_value_member_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/create_value_member:1.0";

   function create_attribute
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      IDL_type : CORBA.Repository_Root.IDLType.Ref;
      mode : CORBA.Repository_Root.AttributeMode)
     return CORBA.Repository_Root.AttributeDef.Ref;

   create_attribute_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/create_attribute:1.0";

   function create_operation
     (Self : Ref;
      id : CORBA.RepositoryId;
      name : CORBA.Identifier;
      version : CORBA.Repository_Root.VersionSpec;
      result : CORBA.Repository_Root.IDLType.Ref;
      mode : CORBA.Repository_Root.OperationMode;
      params : CORBA.Repository_Root.ParDescriptionSeq;
      exceptions : CORBA.Repository_Root.ExceptionDefSeq;
      contexts : CORBA.Repository_Root.ContextIdSeq)
     return CORBA.Repository_Root.OperationDef.Ref;

   create_operation_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CORBA/ValueDef/create_operation:1.0";

   --  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;

   --  get_id : inherited from CORBA.Contained

   function get_id
     (Self : Ref)
     return CORBA.RepositoryId;

   --  set_id : inherited from CORBA.Contained

   procedure set_id
     (Self : Ref;
      To : CORBA.RepositoryId);

   --  get_name : inherited from CORBA.Contained

   function get_name
     (Self : Ref)
     return CORBA.Identifier;

   --  set_name : inherited from CORBA.Contained

   procedure set_name
     (Self : Ref;
      To : CORBA.Identifier);

   --  get_version : inherited from CORBA.Contained

   function get_version
     (Self : Ref)
     return CORBA.Repository_Root.VersionSpec;

   --  set_version : inherited from CORBA.Contained

   procedure set_version
     (Self : Ref;
      To : CORBA.Repository_Root.VersionSpec);

   --  get_defined_in : inherited from CORBA.Contained

   function get_defined_in
     (Self : Ref)
     return CORBA.Repository_Root.Container_Forward.Ref;

   --  get_absolute_name : inherited from CORBA.Contained

   function get_absolute_name
     (Self : Ref)
     return CORBA.ScopedName;

   --  get_containing_repository : inherited from CORBA.Contained

   function get_containing_repository
     (Self : Ref)
     return CORBA.Repository_Root.Repository_Forward.Ref;

   --  describe : inherited from CORBA.Contained

   function describe
     (Self : Ref)
     return CORBA.Repository_Root.Contained.Description;

   --  move : inherited from CORBA.Contained

   procedure move
     (Self : Ref;
      new_container : CORBA.Repository_Root.Container_Forward.Ref;
      new_name : CORBA.Identifier;
      new_version : CORBA.Repository_Root.VersionSpec);

   --  get_type : inherited from CORBA.IDLType

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

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

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

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

end CORBA.Repository_Root.ValueDef;
