[Enterprise Extensions only]

CosNaming::NamingContext Interface

Overview Provides support for creating and manipulating a system naming tree, binding a name to an object in a naming context, retrieving an object from a naming context using the object name, and listing the bindings in a naming context.
File name CosNaming.idl
Exceptions CORBA standard exceptions and the following user exceptions:
CosNaming::NamingContext::AlreadyBound
Raised to indicate that an object is already bound to the name. Re-binding operations unbinds the name, then rebinds the name without raising this exception.
CosNaming::NamingContext::CannotProceed{NamingContext ctx; Name rest_of_name;};
Raised to indicate that the implementation has given up for some reason. The client may be able to continue the operation using the returned naming context.
CosNaming::NamingContext::InvalidName
Raised to indicate that the name is invalid. A name with a length of zero is invalid. (This exception may be raised upon further implementation restrictions.)
CosNaming::NamingContext::NotFound{NotFoundReason why; Name rest_of_name;};
Raised to indicate that the name does not identify a binding. If a compound name is passed as an argument for the bind operation, it traverses multiple contexts. A NotFound exception is raised if any of the intermediate contexts cannot be resolved.
Supported operations NamingContext::bind
NamingContext::bind_context
NamingContext::bind_new_context
NamingContext::destroy
NamingContext::list
NamingContext::rebind
NamingContext::rebind_context
NamingContext::resolve
NamingContext::unbind


Intended Usage

This interface provides the operations necessary to create and manipulate a system naming tree, to bind a name to an object in a naming context, to retrieve an object from a naming context using the object name, and to list the bindings in a naming context.

Types

  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;