2 //The only module of the Naming Service
3 //From http://industry.ebi.ac.uk/openBSA/idl/CosNaming.idl
5 #ifndef _COS_NAMING_IDL_
6 #define _COS_NAMING_IDL_
7 #pragma prefix "omg.org"
11 typedef string Istring;
12 struct NameComponent {
17 typedef sequence <NameComponent> Name;
19 enum BindingType {nobject, ncontext};
23 BindingType binding_type;
26 typedef sequence <Binding> BindingList;
29 interface BindingIterator;
31 interface NamingContext {
33 enum NotFoundReason { missing_node,
37 exception NotFound { NotFoundReason why;
40 exception CannotProceed { NamingContext cxt;
43 exception InvalidName{};
44 exception AlreadyBound {};
53 void rebind(in Name n,
58 void bind_context( in Name n,
64 void rebind_context(in Name n,
69 Object resolve (in Name n)
73 void unbind(in Name n)
77 NamingContext new_context();
78 NamingContext bind_new_context(in Name n)
85 void list ( in unsigned long how_many,
87 out BindingIterator bi);
90 interface BindingIterator {
91 boolean next_one(out Binding b);
92 boolean next_n( in unsigned long how_many,
98 #endif /* ifndef _COS_NAMING_IDL_ */