// File: CosNaming.idl | |
#ifndef _COSNAMING_IDL_ | |
#define _COSNAMING_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; | |
}; | |
// 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 n) | |
raises( | |
NotFound, CannotProceed, | |
InvalidName | |
); | |
}; | |
}; | |
#endif // _COSNAMING_IDL_ | |