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

# TAO_Object_Ref_Table Class Reference

Keep a table de-stringified object references registered with the ORB. More...

`#include <Object_Ref_Table.h>`

Collaboration diagram for TAO_Object_Ref_Table:

[legend]
List of all members.

## Public Types
typedef ACE_Hash_Map_Manager_Ex< const char *, CORBA::Object_ptr, ACE_Hash< const char *>, ACE_Equal_To< const char *>, TAO_SYNCH_MUTEX > | Table
typedef Table::iterator | Iterator
## Public Methods
| TAO_Object_Ref_Table (void)
| Constructor. More...
| ~TAO_Object_Ref_Table (void)
| Destructor. More...
void | register_initial_reference (const char *id, CORBA::Object_ptr obj ACE_ENV_ARG_DECL)
| Register an object reference with the table, and map the given ID to it. More...
CORBA::Object_ptr | resolve_initial_references (const char *id ACE_ENV_ARG_DECL)
| Return the object reference associated with the given ID. A duplicate is returned. More...
void | destroy (void)
| Explicitly destroy the contents of the object reference table. More...
size_t | current_size (void) const
| Return the current size of the underlying table. More...
Forward Iterators
Iterator | begin (void)
Iterator | end (void)
## Private Methods
| TAO_Object_Ref_Table (const TAO_Object_Ref_Table &)
| Prevent copying. More...
void | operator= (const TAO_Object_Ref_Table &)
The canonical ACE_Map methods
int | bind (const char *orb_id, CORBA::Object_ptr obj)
CORBA::Object_ptr | find (const char *orb_id)
int | unbind (const char *orb_id)
## Private Attributes
Table | table_
| The implementation. More...

## Detailed Description

Keep a table de-stringified object references registered with the ORB.

The class is necessary to allow local objects to be accessible via the resolve_initial_references() mechanism. Since local object references cannot be stringified, they cannot be placed into the initial reference map that maps object key/name to stringified object reference. Hence, another table is needed.

Note:
  The stringified reference table is still needed since it is sometimes necessary to delay de-stringification of an IOR until it is needed. For example, "corbaname" may return different results on each use.

## Member Typedef Documentation

typedef Table::iterator TAO_Object_Ref_Table::Iterator

typedef ACE_Hash_Map_Manager_Ex<const char *, CORBA::Object_ptr, ACE_Hash<const char *>, ACE_Equal_To<const char *>, TAO_SYNCH_MUTEX> TAO_Object_Ref_Table::Table

## Constructor & Destructor Documentation

TAO_Object_Ref_Table::TAO_Object_Ref_Table | ( | void |  | ) |

| Constructor.

TAO_Object_Ref_Table::~TAO_Object_Ref_Table | ( | void |  | ) |

| Destructor.

TAO_Object_Ref_Table::TAO_Object_Ref_Table | ( | const TAO_Object_Ref_Table & |  | ) | `[private]`

| Prevent copying.

## Member Function Documentation

TAO_Object_Ref_Table::Iterator TAO_Object_Ref_Table::begin | ( | void |  | ) |

int TAO_Object_Ref_Table::bind | ( | const char * | id,
|  | CORBA::Object_ptr | obj
| ) | `[private]`

size_t TAO_Object_Ref_Table::current_size | ( | void |  | ) | const

| Return the current size of the underlying table.

void TAO_Object_Ref_Table::destroy | ( | void |  | ) |

| Explicitly destroy the contents of the object reference table.

TAO_Object_Ref_Table::Iterator TAO_Object_Ref_Table::end | ( | void |  | ) |

CORBA::Object_ptr TAO_Object_Ref_Table::find | ( | const char * | id | ) | `[private]`

void TAO_Object_Ref_Table::operator= | ( | const TAO_Object_Ref_Table & |  | ) | `[private]`

void TAO_Object_Ref_Table::register_initial_reference | ( | const char * | id,
|  | CORBA::Object_ptr obj | ACE_ENV_ARG_DECL
| ) |

| Register an object reference with the table, and map the given ID to it.

CORBA::Object_ptr TAO_Object_Ref_Table::resolve_initial_references | ( | const char *id | ACE_ENV_ARG_DECL_NOT_USED | ) |

| Return the object reference associated with the given ID. A duplicate is returned.

int TAO_Object_Ref_Table::unbind | ( | const char * | id | ) | `[private]`

## Member Data Documentation

Table TAO_Object_Ref_Table::table_`[private]`

| The implementation.

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

- Object_Ref_Table.h
- Object_Ref_Table.cpp