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

--  Source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/naming/CosNaming.idl

--  //File: CosNaming.idl
--  //The only module of the Naming Service
--  //OMG File: 04-10-07

--  #ifndef _COS_NAMING_IDL_
--  #define _COS_NAMING_IDL_

--  #ifdef _PRE_3_0_COMPILER_
--  #pragma prefix "omg.org"
--  #endif // _PRE_3_0_COMPILER_

--  module CosNaming {

--  #ifndef _PRE_3_0_COMPILER_
--  	typeprefix CosNaming "omg.org";
--  #endif // _PRE_3_0_COMPILER_

--      typedef string Istring;

--      struct NameComponent {
--          Istring id;
--          Istring kind;
--      };
--      typedef sequence<NameComponent> Name;

--      enum BindingType { nobject, ncontext };

--      struct Binding {
--          Name					binding_name;
--          BindingType				binding_type;                   
--      };

--      // Note: In struct Binding, binding_name is incorrectly defined
--      // as a Name instead of a NameComponent. This definition is
--      // unchanged for compatibility reasons.
--      typedef sequence <Binding> BindingList;                     

--      interface BindingIterator;

--      interface NamingContext {
--          enum NotFoundReason { missing_node, not_context, not_object };

--          exception NotFound { 
--              NotFoundReason		why;
--              Name			rest_of_name;
--          };

--          exception CannotProceed {
--              NamingContext		cxt;
--              Name			rest_of_name;
--          };

--          exception InvalidName{};

--          exception AlreadyBound {};

--          exception NotEmpty{};

--          void    bind(in Name n, in Object obj)
--  				raises(
--  					NotFound, CannotProceed, InvalidName, AlreadyBound
--  				);

--          void    rebind(in Name n, in Object obj) 
--  				raises(NotFound, CannotProceed, InvalidName);

--          void    bind_context(in Name n, in NamingContext nc)        
--  				raises(NotFound, CannotProceed, InvalidName, AlreadyBound);

--          void    rebind_context(in Name n, in NamingContext nc)  
--  				raises(NotFound, CannotProceed, InvalidName);

--          Object  resolve (in Name n)
--  				raises(NotFound, CannotProceed, InvalidName);

--          void    unbind(in Name n)
--  				raises(NotFound, CannotProceed, InvalidName);

--          NamingContext   new_context();
--          NamingContext   bind_new_context(in Name n)
--  						raises(
--  							NotFound, AlreadyBound,
--  							CannotProceed, InvalidName
--  						);

--          void    destroy() raises(NotEmpty);

--          void    list(
--                      in unsigned long		how_many,
--                      out BindingList		bl,
--                      out BindingIterator		bi
--                  );

--      };

--      interface BindingIterator {
--          boolean next_one(out Binding b);
--          boolean next_n(in unsigned long how_many, out BindingList bl);
--          void    destroy();
--      };

--      interface NamingContextExt: NamingContext {
--          typedef string StringName;
--          typedef string Address;
--          typedef string URLString;

--          StringName				to_string(in Name n) raises(InvalidName);
--          Name					to_name(in StringName sn) 
--  						raises(InvalidName);

--          exception InvalidAddress {};

--          URLString   to_url(in Address addr, in StringName sn)
--  						raises(InvalidAddress, InvalidName);

--          Object      resolve_str(in StringName sn)
--  						raises(
--  							NotFound, CannotProceed,
--  							InvalidName 
--  							//PolyORB:WA: the OMG's IDL states "InvalidaName,"
--  							//            which is not syntanxically correct
--  						);

--  	};
--  };
--  #endif /* ifndef _COS_NAMING_IDL_ */

--  End source: 
--  /pbulk/work/net/ada-polyorb/work/PolyORB-25.0/idls/cos/naming/CosNaming.idl
--   -- 127 lines

---------------------------------------------------

with PolyORB.Std;
with CORBA;
pragma Elaborate_All (CORBA);
with CORBA.Sequences.Unbounded;
with CORBA.Forward;
pragma Elaborate_All (CORBA.Forward);

package CosNaming is

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

   type Istring is
     new CORBA.String;

   Istring_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/Istring:1.0";

   type NameComponent is
     record
         id : CosNaming.Istring;
         kind : CosNaming.Istring;
      end record;

   NameComponent_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/NameComponent:1.0";

   package IDL_SEQUENCE_CosNaming_NameComponent is
     new CORBA.Sequences.Unbounded
        (CosNaming.NameComponent);

   type Name is
     new CosNaming.IDL_SEQUENCE_CosNaming_NameComponent.Sequence;

   Name_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/Name:1.0";

   type BindingType is
     (nobject,
      ncontext);

   BindingType_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/BindingType:1.0";

   type Binding is
     record
         binding_name : CosNaming.Name;
         binding_type : CosNaming.BindingType;
      end record;

   Binding_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/Binding:1.0";

   package IDL_SEQUENCE_CosNaming_Binding is
     new CORBA.Sequences.Unbounded
        (CosNaming.Binding);

   type BindingList is
     new CosNaming.IDL_SEQUENCE_CosNaming_Binding.Sequence;

   BindingList_Repository_Id : constant PolyORB.Std.String :=
     "IDL:omg.org/CosNaming/BindingList:1.0";

   package BindingIterator_Forward is
     new CORBA.Forward;

end CosNaming;
