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/cos/naming/CosNaming.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.Object;
with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with Ada.Exceptions;

package CosNaming.NamingContext is

   type Ref is
     new CORBA.Object.Ref with null record;

   Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext:1.0";

   type NotFoundReason is
     (missing_node,
      not_context,
      not_object);

   NotFoundReason_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/NotFoundReason:1.0";

   NotFound : exception;

   type NotFound_Members is
     new CORBA.Idl_Exception_Members with record
         why : CosNaming.NamingContext.NotFoundReason;
         rest_of_name : CosNaming.Name;
      end record;

   NotFound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/NotFound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNaming.NamingContext.NotFound_Members);

   CannotProceed : exception;

   type CannotProceed_Members is
     new CORBA.Idl_Exception_Members with record
         cxt : CosNaming.NamingContext.Ref;
         rest_of_name : CosNaming.Name;
      end record;

   CannotProceed_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNaming.NamingContext.CannotProceed_Members);

   InvalidName : exception;

   type InvalidName_Members is
     new CORBA.Idl_Exception_Members with null record;

   InvalidName_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNaming.NamingContext.InvalidName_Members);

   AlreadyBound : exception;

   type AlreadyBound_Members is
     new CORBA.Idl_Exception_Members with null record;

   AlreadyBound_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNaming.NamingContext.AlreadyBound_Members);

   NotEmpty : exception;

   type NotEmpty_Members is
     new CORBA.Idl_Exception_Members with null record;

   NotEmpty_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0";

   procedure Get_Members
     (From : Ada.Exceptions.Exception_Occurrence;
      To : out CosNaming.NamingContext.NotEmpty_Members);

   procedure bind
     (Self : Ref;
      n : CosNaming.Name;
      obj : CORBA.Object.Ref);

   bind_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/bind:1.0";

   procedure rebind
     (Self : Ref;
      n : CosNaming.Name;
      obj : CORBA.Object.Ref);

   rebind_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/rebind:1.0";

   procedure bind_context
     (Self : Ref;
      n : CosNaming.Name;
      nc : CosNaming.NamingContext.Ref'Class);

   bind_context_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/bind_context:1.0";

   procedure rebind_context
     (Self : Ref;
      n : CosNaming.Name;
      nc : CosNaming.NamingContext.Ref'Class);

   rebind_context_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/rebind_context:1.0";

   function resolve
     (Self : Ref;
      n : CosNaming.Name)
     return CORBA.Object.Ref;

   resolve_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/resolve:1.0";

   procedure unbind
     (Self : Ref;
      n : CosNaming.Name);

   unbind_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/unbind:1.0";

   function new_context
     (Self : Ref)
     return CosNaming.NamingContext.Ref'Class;

   new_context_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/new_context:1.0";

   function bind_new_context
     (Self : Ref;
      n : CosNaming.Name)
     return CosNaming.NamingContext.Ref'Class;

   bind_new_context_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/bind_new_context:1.0";

   procedure destroy
     (Self : Ref);

   destroy_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/destroy:1.0";

   procedure list
     (Self : Ref;
      how_many : CORBA.Unsigned_Long;
      bl : out CosNaming.BindingList;
      bi : out CosNaming.BindingIterator_Forward.Ref);

   list_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NamingContext/list:1.0";

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

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

end CosNaming.NamingContext;
