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

TAO::ObjectKey_Table Class Reference

: Compares the length and then the contents of ObjectKeys. More...

#include <ObjectKey_Table.h>

Collaboration diagram for TAO::ObjectKey_Table:

Collaboration graph
[legend]
List of all members.

Public Methods

 ObjectKey_Table (void)
 Default Constructor and destructor..

 ~ObjectKey_Table (void)
int init (TAO_ORB_Core *orb)
int destroy (void)
 Iterates and unbinds the contents of the table.

int bind (const ObjectKey &key, Refcounted_ObjectKey *&key_new)
 Bind the ObjectKey in the table.

int unbind (TAO::Refcounted_ObjectKey *&key)
 Unbind an ObjectKey from the table.


Protected Methods

int bind_i (const ObjectKey &key, Refcounted_ObjectKey *&key_new)
 Implementation for bind ().

int unbind_i (Refcounted_ObjectKey *&key)
 Implementation for unbind ().


Private Types

typedef ACE_RB_Tree< TAO::ObjectKey,
TAO::Refcounted_ObjectKey *,
TAO::Less_Than_ObjectKey,
ACE_Null_Mutex > 
TABLE

Private Attributes

ACE_Lock * lock_
 Lock for the table.

TABLE table_
 Table that contains the data.


Detailed Description

: Compares the length and then the contents of ObjectKeys.

Should have been a specialization of the functor ACE_Less_Than<sequence<CORBA::Octet>>. But that will not work so easily across bunch of stuff. Hence let us put up with this for the time being.


Member Typedef Documentation

typedef ACE_RB_Tree<TAO::ObjectKey, TAO::Refcounted_ObjectKey *, TAO::Less_Than_ObjectKey, ACE_Null_Mutex> TAO::ObjectKey_Table::TABLE [private]
 


Constructor & Destructor Documentation

TAO::ObjectKey_Table::ObjectKey_Table (  void    ) 
 

Default Constructor and destructor..

TAO::ObjectKey_Table::~ObjectKey_Table (  void    ) 
 


Member Function Documentation

int TAO::ObjectKey_Table::bind (  const ObjectKey &    key,
Refcounted_ObjectKey *&    key_new
) 
 

Bind the ObjectKey in the table.

Bind an ObjectKey in the table and return a pointer to the Refcounted_ObjectKey which the client can use. If the ObjectKey is already available in the table, this operation just increments the refcount on the ObjectKey. If the ObjectKey is new it is bounded to the table. Returns a 0 on success and a -1 on failure.

int TAO::ObjectKey_Table::bind_i (  const ObjectKey &    key,
Refcounted_ObjectKey *&    key_new
)  [protected]
 

Implementation for bind ().

int TAO::ObjectKey_Table::destroy (  void    ) 
 

Iterates and unbinds the contents of the table.

int TAO::ObjectKey_Table::init (  TAO_ORB_Core *    orb ) 
 

Initialize method that sets up the underlying lock and other related stuff.

int TAO::ObjectKey_Table::unbind (  TAO::Refcounted_ObjectKey *&    key ) 
 

Unbind an ObjectKey from the table.

int TAO::ObjectKey_Table::unbind_i (  Refcounted_ObjectKey *&    key )  [protected]
 

Implementation for unbind ().


Member Data Documentation

ACE_Lock* TAO::ObjectKey_Table::lock_ [private]
 

Lock for the table.

TABLE TAO::ObjectKey_Table::table_ [private]
 

Table that contains the data.


The documentation for this class was generated from the following files:
Generated on Wed Jan 14 23:40:51 2004 for TAO by doxygen1.2.18