Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

TAO_Transient_Naming_Context Class Reference

This class plays a role of a 'ConcreteImplementor' in the Bridge pattern architecture of the CosNaming::NamingContext implementation. More...

#include <Transient_Naming_Context.h>

Inheritance diagram for TAO_Transient_Naming_Context:

Inheritance graph
[legend]
Collaboration diagram for TAO_Transient_Naming_Context:

Collaboration graph
[legend]
List of all members.

Public Types

typedef TAO_Transient_Bindings_Map::HASH_MAP HASH_MAP
 Underlying data structure - typedef for ease of use. More...


Public Methods

 TAO_Transient_Naming_Context (PortableServer::POA_ptr poa, const char *poa_id, size_t hash_table_size=ACE_DEFAULT_MAP_SIZE)
 Constructor. More...

virtual ~TAO_Transient_Naming_Context (void)
 Destructor. More...

virtual CosNaming::NamingContext_ptr new_context (ACE_ENV_SINGLE_ARG_DECL)
 This operation returns a new naming context implemented by the same naming server in which the operation was invoked. More...

virtual void list (CORBA::ULong how_many, CosNaming::BindingList_out &bl, CosNaming::BindingIterator_out &bi ACE_ENV_ARG_DECL)
 Returns at most the requested number of bindings <how_many> in <bl>. More...


Static Public Methods

CosNaming::NamingContext_ptr make_new_context (PortableServer::POA_ptr poa, const char *poa_id, size_t context_size ACE_ENV_ARG_DECL)
 This utility method factors out the code needed to create a new Transient Naming Context servant and activate it under the specified POA with the specified id. More...


Protected Attributes

ACE_UINT32 counter_
 Counter used for generation of POA ids for children Naming Contexts. More...

TAO_Transient_Bindings_Maptransient_context_
 A pointer to the underlying data structure used to store name bindings. More...


Detailed Description

This class plays a role of a 'ConcreteImplementor' in the Bridge pattern architecture of the CosNaming::NamingContext implementation.

This class provides a transient implementation of the NamingContext functionality, i.e., the state is not preserved across process boundaries. Derives from TAO_Hash_Naming_Context and uses TAO_Transient_Bindings_Map to store name to object bindings.


Member Typedef Documentation

typedef TAO_Transient_Bindings_Map::HASH_MAP TAO_Transient_Naming_Context::HASH_MAP
 

Underlying data structure - typedef for ease of use.


Constructor & Destructor Documentation

TAO_Transient_Naming_Context::TAO_Transient_Naming_Context PortableServer::POA_ptr    poa,
const char *    poa_id,
size_t    hash_table_size = ACE_DEFAULT_MAP_SIZE
 

Constructor.

TAO_Transient_Naming_Context::~TAO_Transient_Naming_Context void    [virtual]
 

Destructor.


Member Function Documentation

void TAO_Transient_Naming_Context::list CORBA::ULong    how_many,
CosNaming::BindingList_out &    bl,
CosNaming::BindingIterator_out &bi    ACE_ENV_ARG_DECL
[virtual]
 

Returns at most the requested number of bindings <how_many> in <bl>.

If the naming context contains additional bindings, they are returned with a BindingIterator. In the naming context does not contain any additional bindings <bi> returned as null.

Reimplemented from TAO_Naming_Context_Impl.

CosNaming::NamingContext_ptr TAO_Transient_Naming_Context::make_new_context PortableServer::POA_ptr    poa,
const char *    poa_id,
size_t context_size    ACE_ENV_ARG_DECL
[static]
 

This utility method factors out the code needed to create a new Transient Naming Context servant and activate it under the specified POA with the specified id.

This function is static so that the code can be used, both from inside the class (e.g., <new_context>), and from outside (e.g., Naming_Utils.cpp).

CosNaming::NamingContext_ptr TAO_Transient_Naming_Context::new_context ACE_ENV_SINGLE_ARG_DECL    [virtual]
 

This operation returns a new naming context implemented by the same naming server in which the operation was invoked.

The context is not bound.

Reimplemented from TAO_Naming_Context_Impl.


Member Data Documentation

ACE_UINT32 TAO_Transient_Naming_Context::counter_ [protected]
 

Counter used for generation of POA ids for children Naming Contexts.

TAO_Transient_Bindings_Map* TAO_Transient_Naming_Context::transient_context_ [protected]
 

A pointer to the underlying data structure used to store name bindings.

While our superclass (TAO_Hash_Naming_Context) also maintains a pointer to the data structure, keeping this pointer around saves us from the need to downcast when invoking non-virtual methods.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 22:17:55 2002 for TAO_CosNaming by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001