//File: CosNaming.idl //The only module of the Naming Service //From http://industry.ebi.ac.uk/openBSA/idl/CosNaming.idl #ifndef _COS_NAMING_IDL_ #define _COS_NAMING_IDL_ #pragma prefix "omg.org" module CosNaming { typedef string Istring; struct NameComponent { Istring id; Istring kind; }; typedef sequence Name; enum BindingType {nobject, ncontext}; struct Binding { Name binding_name; BindingType binding_type; }; typedef sequence 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(); }; }; #endif /* ifndef _COS_NAMING_IDL_ */