103 lines
2.4 KiB
Plaintext
103 lines
2.4 KiB
Plaintext
/*
|
|
* COSS Naming
|
|
*/
|
|
|
|
#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();
|
|
};
|
|
|
|
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, AlreadyBound);
|
|
};
|
|
};
|
|
|