#include <Object_Ref_Table.h>
Collaboration diagram for TAO_Object_Ref_Table:
Public Types | |
typedef ACE_Array_Map< CORBA::String_var, CORBA::Object_var, TAO::String_Var_Equal_To > | Table |
typedef Table::iterator | iterator |
Public Member Functions | |
TAO_Object_Ref_Table (void) | |
Constructor. | |
int | register_initial_reference (const char *id, CORBA::Object_ptr obj) |
CORBA::Object_ptr | resolve_initial_reference (const char *id) |
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. | |
TAO_SYNCH_MUTEX | lock_ |
Table synchronization lock. |
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.
|
|
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. |
|
|
|
Table synchronization lock.
|
|
The implementation.
|