TAO_CosNaming  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_Transient_Bindings_Map Class Reference

Provides hash-table-based transient storage for name to object bindings in a Naming Context. More...

#include <Transient_Naming_Context.h>

Inheritance diagram for TAO_Transient_Bindings_Map:
Inheritance graph
Collaboration diagram for TAO_Transient_Bindings_Map:
Collaboration graph

Public Types

typedef ACE_Hash_Map_Manager
< TAO_ExtId, TAO_IntId,
ACE_Null_Mutex
HASH_MAP
 Underlying data structure - typedef for ease of use. More...
 

Public Member Functions

 TAO_Transient_Bindings_Map (size_t hash_table_size)
 Constructor. More...
 
virtual ~TAO_Transient_Bindings_Map (void)
 Destructor. More...
 
HASH_MAPmap (void)
 Get a reference to the underlying hash map. More...
 
size_t total_size (void)
 Return the size of the underlying hash table. More...
 
virtual size_t current_size (void)
 
virtual int bind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type)
 
virtual int rebind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type)
 
virtual int unbind (const char *id, const char *kind)
 
virtual int find (const char *id, const char *kind, CORBA::Object_ptr &obj, CosNaming::BindingType &type)
 
- Public Member Functions inherited from TAO_Bindings_Map
virtual ~TAO_Bindings_Map (void)
 Destructor. More...
 

Private Member Functions

int shared_bind (const char *id, const char *kind, CORBA::Object_ptr obj, CosNaming::BindingType type, int rebind)
 Helper: factors common code from <bind> and <rebind>. More...
 

Private Attributes

HASH_MAP map_
 Hash map used for storage. More...
 

Detailed Description

Provides hash-table-based transient storage for name to object bindings in a Naming Context.

A thin wrapper on top of ACE_Hash_Map_Manager. Supports TAO_Bindings_Map interface. Used by TAO_Transient_Naming_Context.

Member Typedef Documentation

Underlying data structure - typedef for ease of use.

Constructor & Destructor Documentation

TAO_Transient_Bindings_Map::TAO_Transient_Bindings_Map ( size_t  hash_table_size)

Constructor.

TAO_Transient_Bindings_Map::~TAO_Transient_Bindings_Map ( void  )
virtual

Destructor.

Member Function Documentation

int TAO_Transient_Bindings_Map::bind ( const char *  id,
const char *  kind,
CORBA::Object_ptr  obj,
CosNaming::BindingType  type 
)
virtual

Add a binding with the specified parameters to the table. Return 0 on success and -1 on failure, 1 if there already is a binding with <id> and <kind>.

Implements TAO_Bindings_Map.

size_t TAO_Transient_Bindings_Map::current_size ( void  )
virtual

Return current number of entries (name bindings) in the underlying hash map.

Implements TAO_Bindings_Map.

int TAO_Transient_Bindings_Map::find ( const char *  id,
const char *  kind,
CORBA::Object_ptr obj,
CosNaming::BindingType type 
)
virtual

Find the binding containing <id> and <kind> in the table, and pass binding's type and object back to the caller by reference. Return 0 on success and -1 on failure. Note: a 'duplicated' object reference is assigned to <obj>, so the caller is responsible for its deallocation.

Implements TAO_Bindings_Map.

TAO_Transient_Bindings_Map::HASH_MAP & TAO_Transient_Bindings_Map::map ( void  )

Get a reference to the underlying hash map.

int TAO_Transient_Bindings_Map::rebind ( const char *  id,
const char *  kind,
CORBA::Object_ptr  obj,
CosNaming::BindingType  type 
)
virtual

Overwrite a binding containing <id> and <kind> (or create a new one if one doesn't exist) with the specified parameters. Return 0 or 1 on success. Return -1 or -2 on failure. (-2 is returned if the new and old bindings differ in type).

Implements TAO_Bindings_Map.

int TAO_Transient_Bindings_Map::shared_bind ( const char *  id,
const char *  kind,
CORBA::Object_ptr  obj,
CosNaming::BindingType  type,
int  rebind 
)
private

Helper: factors common code from <bind> and <rebind>.

size_t TAO_Transient_Bindings_Map::total_size ( void  )

Return the size of the underlying hash table.

int TAO_Transient_Bindings_Map::unbind ( const char *  id,
const char *  kind 
)
virtual

Remove a binding containing <id> and <kind> from the table. Return 0 on success and -1 on failure.

Implements TAO_Bindings_Map.

Member Data Documentation

HASH_MAP TAO_Transient_Bindings_Map::map_
private

Hash map used for storage.


The documentation for this class was generated from the following files: