#include <Object_Ref_Table.h>
Collaboration diagram for TAO_Object_Ref_Table:
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 Member Functions | |
TAO_Object_Ref_Table (void) | |
Constructor. | |
~TAO_Object_Ref_Table (void) | |
Destructor. | |
void | register_initial_reference (const char *id, CORBA::Object_ptr obj ACE_ENV_ARG_DECL) |
CORBA::Object_ptr | resolve_initial_references (const char *id ACE_ENV_ARG_DECL) |
void | destroy (void) |
Explicitly destroy the contents of the object reference table. | |
size_t | current_size (void) const |
Return the current size of the underlying table. | |
Forward Iterators | |
Iterator | begin (void) |
Iterator | end (void) |
Private Member Functions | |
TAO_Object_Ref_Table (const TAO_Object_Ref_Table &) | |
Prevent copying. | |
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. |
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.
|
|
|
|
|
Constructor.
|
|
Destructor.
|
|
Prevent copying.
|
|
|
|
|
|
Return the current size of the underlying table.
|
|
Explicitly destroy the contents of the object reference table.
|
|
|
|
|
|
|
|
Register an object reference with the table, and map the given ID to it. |
|
Return the object reference associated with the given ID. A duplicate is returned. |
|
|
|
The implementation.
|