CosNaming_NamingContext

MODULE

CosNaming_NamingContext

MODULE SUMMARY

This interface supports different bind and access functions for names in a context.

DESCRIPTION

This is the object that defines name scopes, names must be unique within a
naming context. Objects may have multiple names and may exist in multiple
naming contexts. Name context may be named in other contexts and cycles are
permitted.

The type NameComponent used below is defined as:

-record('CosNaming_NameComponent', {id, kind=""}).

where id and kind are strings.

The type Binding used below is defined as:

-record('CosNaming_Binding', {binding_name, binding_type}).

where binding_name is a Name and binding_type is an enum which
has the values nobject and ncontext.

Both these records are defined in the file CosNaming.hrl and it
is included with:

-include_lib("orber/COSS/CosNaming/CosNaming.hrl").

There are a number of exceptions that can be returned from functions in this
interface.

The rebind_context function creates a binding of a name and a naming context in
the current context even if the name already is bound.
Naming contexts that are bound using rebind_context() participate
in name resolution.

The resolve function is the way to retrieve an object bound to a name in
the naming context. The given name must match exactly the bound name. The
type of the object is not returned, clients are responsible for narrowing
the object to the correct type.

The list operation returns a BindingList with a number of bindings up-to
HowMany from the context. It also returns a BindinIterator which can be used to
step through the list. If the total number of existing bindings are less
than, or equal to, the HowMany parameter a NIL object reference
is returned.

Note

One must destroy the BindingIterator, unless it is a NIL object
reference, by using 'BindingIterator':destroy(). Otherwise one can get
dangling objects.