TAO 4.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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:
Collaboration graph
[legend]

Public Types

typedef ACE_Array_Map< CORBA::String_var, CORBA::Object_var, TAO::String_Var_Equal_ToTable
 
typedef Table::iterator iterator
 

Public Member Functions

 TAO_Object_Ref_Table ()
 Constructor.
 
int register_initial_reference (const char *id, CORBA::Object_ptr obj, bool rebind=false)
 
CORBA::Object_ptr unregister_initial_reference (const char *id)
 
CORBA::Object_ptr resolve_initial_reference (const char *id)
 
void destroy ()
 Explicitly destroy the contents of the object reference table.
 
Forward Iterators
iterator begin ()
 Return the current size of the underlying table.
 
iterator end ()
 Return the current size of the underlying table.
 
size_t current_size () const
 Return the current size of the underlying table.
 

The canonical ACE_Map methods

Table table_
 The implementation.
 
TAO_SYNCH_MUTEX lock_
 Table synchronization lock.
 
int bind_i (const char *orb_id, CORBA::Object_ptr obj)
 The implementation.
 
CORBA::Object_ptr find_i (const char *orb_id)
 The implementation.
 
int unbind_i (const char *orb_id)
 The implementation.
 
 TAO_Object_Ref_Table (const TAO_Object_Ref_Table &)=delete
 The implementation.
 
void operator= (const TAO_Object_Ref_Table &)=delete
 The implementation.
 
 TAO_Object_Ref_Table (TAO_Object_Ref_Table &&)=delete
 The implementation.
 
void operator= (TAO_Object_Ref_Table &&)=delete
 The implementation.
 

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

◆ iterator

◆ Table

Constructor & Destructor Documentation

◆ TAO_Object_Ref_Table() [1/3]

TAO_Object_Ref_Table::TAO_Object_Ref_Table ( )

Constructor.

◆ TAO_Object_Ref_Table() [2/3]

TAO_Object_Ref_Table::TAO_Object_Ref_Table ( const TAO_Object_Ref_Table & )
privatedelete

The implementation.

◆ TAO_Object_Ref_Table() [3/3]

TAO_Object_Ref_Table::TAO_Object_Ref_Table ( TAO_Object_Ref_Table && )
privatedelete

The implementation.

Member Function Documentation

◆ begin()

TAO_Object_Ref_Table::iterator TAO_Object_Ref_Table::begin ( )

Return the current size of the underlying table.

◆ bind_i()

int TAO_Object_Ref_Table::bind_i ( const char * orb_id,
CORBA::Object_ptr obj )
private

The implementation.

◆ current_size()

size_t TAO_Object_Ref_Table::current_size ( ) const

Return the current size of the underlying table.

◆ destroy()

void TAO_Object_Ref_Table::destroy ( )

Explicitly destroy the contents of the object reference table.

◆ end()

TAO_Object_Ref_Table::iterator TAO_Object_Ref_Table::end ( )

Return the current size of the underlying table.

◆ find_i()

CORBA::Object_ptr TAO_Object_Ref_Table::find_i ( const char * orb_id)
private

The implementation.

◆ operator=() [1/2]

void TAO_Object_Ref_Table::operator= ( const TAO_Object_Ref_Table & )
privatedelete

The implementation.

◆ operator=() [2/2]

void TAO_Object_Ref_Table::operator= ( TAO_Object_Ref_Table && )
privatedelete

The implementation.

◆ register_initial_reference()

int TAO_Object_Ref_Table::register_initial_reference ( const char * id,
CORBA::Object_ptr obj,
bool rebind = false )

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

Return values
0Success
-1Duplicate id if rebind is false

◆ resolve_initial_reference()

CORBA::Object_ptr TAO_Object_Ref_Table::resolve_initial_reference ( const char * id)

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

◆ unbind_i()

int TAO_Object_Ref_Table::unbind_i ( const char * orb_id)
private

The implementation.

◆ unregister_initial_reference()

CORBA::Object_ptr TAO_Object_Ref_Table::unregister_initial_reference ( const char * id)

Unregister an object reference with the table

Member Data Documentation

◆ lock_

TAO_SYNCH_MUTEX TAO_Object_Ref_Table::lock_
private

Table synchronization lock.

◆ table_

Table TAO_Object_Ref_Table::table_
private

The implementation.


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