diff options
Diffstat (limited to 'idl/cosnaming.idl')
-rw-r--r-- | idl/cosnaming.idl | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/idl/cosnaming.idl b/idl/cosnaming.idl new file mode 100644 index 0000000000..233d324f97 --- /dev/null +++ b/idl/cosnaming.idl @@ -0,0 +1,98 @@ +//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 <NameComponent> Name; + + enum BindingType {nobject, ncontext}; + + struct Binding { + Name binding_name; + BindingType binding_type; + }; + + 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(); + }; + +}; +#endif /* ifndef _COS_NAMING_IDL_ */ |