Interfaces Corba
interface NamingContext {
NamingContext new_context();
void destroy() raises (NotEmpty);
Object resolve (in Name n) raises (NotFound, CannotProceed, InvalidName);void list (in unsigned long how_many, out BindingList b, out BindingIterator bi);
void unbind(inNamen) raises (NotFound, CannotProceed, InvalidName);
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);
void bind_new_context(in Name n) raises(NotFound, CannotProceed, InvalidName, AlreadyBound); };
COSNAMING (BINDINGITERATOR)
La operación list() devuelve una lista de bindings:
enum BindingType { nobject, ncontext };
struct Binding { Namebinding_name; BindingType binding_type; };
typedef sequence BindingList;
void list (in unsigned long how_many, out BindingList bl, out BindingIterator bi);
La interfaz BindingIterator permiterecorrer la lista de bindings:
interface BindingIterator { boolean next_one(out Binding b);
boolean next_n(in unsigned long how_many, out BindingList bl); void destroy(); };
CREACION DE UNNOMBRE Y ASOSIACION A UN OBJETO
Normalmente es el servidor quien crea un nombre y le asocia a una referencia a objeto
1) Obtiene el NamingContext raíz llamando aresolve_initial_references(“NameService”)
2) Crea los NamingContext necesarios (si no existen) usando bind_new_context()
3) Crea las asociaciones a las referencias a objetos usando bind()
OBTENER EL OBJETO ASOCIADO A UN NOMBRE
Elcliente busca un nombre y obtiene el objeto asociado
1) Obtiene el NamingContext raíz llamando a resolve_initial_references(“NameService”)
2) Crea un Name, que puede ser compuesto por uno o más...
Regístrate para leer el documento completo.