This object is used to contain and manipulate a list of names that are bound to the VisiBroker ORB objects or to other NamingContext objects. Client applications use this interface to
resolve or
list all of the names within that context. Object implementations use this object to
bind names to object implementations or to bind a name to a
NamingContext object.
Include the file CosNaming_c.hh when using this class.
module CosNaming {
interface NamingContext {
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, CannotProceed, InvalidName, AlreadyBound);
void destroy()
raises(NotEmpty);
void list(in unsigned long how_many,
out BindingList bl,
out BindingIterator bi);
};
};
If the parameter _n is a complex name, this method attempts to bind the specified
Object to the specified
Name by resolving the context associated with the first
NameComponent and then binding the object to the new context using the following
Name:
This recursive process of resolving and binding continues until the context associated with the NameComponent (n-1) is resolved and the actual name-to-object binding is stored. If parameter _
n is a simple name, _
obj will be bound to _
n within this
NamingContext.
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
|
The specified Name has already been bound to another object within the NamingContext.
|
virtual void rebind(const Name& _n, CORBA::Object_ptr _obj);
This method is exactly the same as the bind method, except that it never raises the
AlreadyBound exception. If the specified
Name has already been bound to another object, this method replaces that binding with the new binding.
|
|
|
A Name structure, initialized with the desired name for the object.
|
|
|
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
virtual void bind_context(const Name& _n, NamingContext_ptr _nc);
This method is identical to the bind method, except that it associates the supplied
Name with a
NamingContext, not an arbitrary VisiBroker ORB object.
|
|
|
A Name structure initialized with the desired name for the naming context. The first (n-1) NameComponent structures in the sequence must resolve to a NamingContext.
|
|
The NamingContext object to be bound.
|
|
|
|
The Name, or one of its components, could not be found.
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
|
The specified Name has already been bound to another object within the NamingContext.
|
virtual void rebind_context(const Name& _n, NamingContext_ptr _nc);
This method is exactly the same as the bind_context method, except that this method never raises the
AlreadyBound exception. If the specified
Name has already been bound to another naming context, this method replaces that binding with the new binding.
|
|
|
A Name structure, initialized with the desired name for the object.
|
|
The NamingContext object to be rebound.
|
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
This method attempts to resolve the specified Name and return an object reference. If parameter _
n is a
simple name, it is resolved relative to this
NamingContext.
If _n is a
complex name, it is resolved using the context associated with the first
NameComponent. Next, the new context to resolve the following
Name:
|
|
|
A Name structure, initialized with the name for the desired object.
|
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
This method performs the inverse operation of the bind method, removing the binding associated with the specified
Name.
|
|
|
A Name structure, initialized with the desired name to be unbound.
|
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned naming context.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
|
|
|
A Name structure, initialized with the specified Name for the newly created NamingContext object.
|
|
|
|
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned NamingContext.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
|
The specified Name has already been bound to another object within the NamingContext.
|
Before using this method, all Name objects that have been bound relative to this
NamingContext should be unbound using the
unbind method. Any attempt to destroy a
NamingContext that is not empty raises a
NotEmpty exception.
|
|
|
The NamingContext to be destroyed is not empty.
|
virtual void list(CORBA::ULong _how_many, BindingList_out _bl,
BindingIterator_out _bi)
This method returns all of the bindings contained by this context. A maximum of _how_many Names are returned with the
BindingList. Any left over bindings are returned via the
BindingIterator. The returned
BindingList and
BindingIterator are described in detail in
“Binding and BindingList” on page 132 and can be used to navigate the list of names.
class _VISNMEXPORT NamingContextExt : public virtual NamingContext, public virtual CORBA_Object
The NamingContextExt interface, which extends
NamingContext, provides the operations required to use stringified names and URLs.
Included the naming file CosNaming_c.hh when you use this class.
|
|
|
A Name structure initialized with the desired name for object.
|
|
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
This operation returns a Name object for the specified stringified name.
|
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
|
|
|
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
This operation returns a Name object for the specified stringified name.
|
|
|
The Name, or one of its components, could not be found.
|
|
One of the NameComponent objects in the sequence could not be resolved. The client may still be able to continue the operation from the returned NamingContext.
|
|
The specified Name has no name components or the id field of one of its name components is an empty string.
|
The Binding,
BindingList, and
BindingIterator interfaces are used to describe the name-object bindings contained in a
NamingContext. The
Binding struct encapsulates one such pair. The
binding_name field represents the
Name and the
binding_type indicates whether the
Name is bound to a VisiBroker ORB object or a
NamingContext object.
The BindingList is a sequence of
Binding structures contained by a
NamingContext object. An example program that uses the
BindingList can be found in
<install dir>/examples/vbroker/ins/pluggable_adaptor.
Include the file CosNaming_c.hh when you use these data types and structure.
This object allows a client application to walk through the unbounded collection of bindings returned by the NamingContext operation
list. An example program that uses the
BindingIterator can be found in
<install dir>/examples/vbroker/ins/pluggable_adaptor.
Include the file CosNaming_c.hh when you use this class.
This method returns the next Binding from the collection. It returns
CORBA::FALSE if the list has been exhausted. Otherwise, it returns
CORBA::TRUE.
This method returns a BindingList containing the number of requested
Binding objects from the list. The number of bindings returned may be less than the requested amount if the list is exhausted.
FALSE is returned when the list has been exhausted. Otherwise,
TRUE is returned.
This interface is provided to instantiate an initial NamingContext. A client may bind to an object of this type and use the
create_context method to create an initial context. Once the initial context has been created, the
new_context method can be used to create other contexts. An instance of this naming context factory is created when the naming service is started, described in the Naming Service section of the
VisiBroker C++ Developer's Guide.
To create an initial NamingContextFactory that automatically creates a single root context, go to
“ExtendedNamingContextFactory” on page 135.
Include the file CosNamingExt_c.hh when you use this class.
class _VISNMEXPORT ExtendedNamingContextFactory : public virtual CosNamingExt::NamingContextFactory, public virtual CORBA_Object
This interface extends the NamingContextFactory interface and allows the creation of a default root within a factory when the extended naming service is started, described in the Naming Service section of the
VisiBroker C++ Developer's Guide.
Include the file CosNamingExt_c.hh when you use this class.