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_ */