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

# TAO_ORB_Table Class Reference

Keep a table with all the ORBs in the system. More...

`#include <ORB_Table.h>`

Collaboration diagram for TAO_ORB_Table:

[legend]
List of all members.

## Public Types
typedef ACE_Hash_Map_Manager_Ex< const char *, TAO_ORB_Core *, ACE_Hash< const char * >, ACE_Equal_To< const char * >, ACE_Null_Mutex > | Table
typedef Table::iterator | Iterator
## Public Methods
| TAO_ORB_Table (void)
| Constructor.
| ~TAO_ORB_Table (void)
| destructor
TAO_ORB_Core * | first_orb (void)
| Obtain the first ORB for the ORB_Core_instance() implementation.
Iterator | begin (void)
Iterator | end (void)
int | bind (const char *orb_id, TAO_ORB_Core *orb_core)
TAO_ORB_Core * | find (const char *orb_id)
int | unbind (const char *orb_id)
## Static Public Methods
TAO_ORB_Table * | instance (void)
| Return a unique instance.
## Private Methods
| TAO_ORB_Table (const TAO_ORB_Table &)
| Prevent copying.
void | operator= (const TAO_ORB_Table &)
## Private Attributes
Table | table_
| The implementation.
TAO_ORB_Core * | first_orb_
| The first ORB created by the user.

## Detailed Description

Keep a table with all the ORBs in the system.

CORBA::ORB_init() is supposed to return the same ORB if the user specifies the same ORBid, either in the ORB_init() parameter or in the -ORBid option. This class is used to implement that feature. It is also useful when trying to determine if an object reference is collocated or not.

Note:
  This class should be instantiated via its instance() method. Normally this would be enforced by making the constructor protected but that forces a friend declaration containing a template type (TAO_Singleton) with a static member to be introduced. In turn, this potentially introduces problems in MS Windows DLL environments due to the occurance of multiple singleton instances. There should only be one!

## Member Typedef Documentation

typedef Table::iterator TAO_ORB_Table::Iterator

typedef ACE_Hash_Map_Manager_Ex<const char *, TAO_ORB_Core *, ACE_Hash<const char *>, ACE_Equal_To<const char *>, ACE_Null_Mutex> TAO_ORB_Table::Table

## Constructor & Destructor Documentation

TAO_ORB_Table::TAO_ORB_Table | ( | void |  | ) |

| Constructor. Note: See the note in the class description for an explanation of why this constructor is not protected.

TAO_ORB_Table::~TAO_ORB_Table | ( | void |  | ) |

| destructor

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

| Prevent copying.

## Member Function Documentation

TAO_ORB_Table::Iterator TAO_ORB_Table::begin | ( | void |  | ) |

int TAO_ORB_Table::bind | ( | const char * | orb_id,
|  | TAO_ORB_Core * | orb_core
| ) |

TAO_ORB_Table::Iterator TAO_ORB_Table::end | ( | void |  | ) |

TAO_ORB_Core * TAO_ORB_Table::find | ( | const char * | orb_id | ) |

ACE_INLINE TAO_ORB_Core * TAO_ORB_Table::first_orb | ( | void |  | ) |

| Obtain the first ORB for the ORB_Core_instance() implementation.

TAO_ORB_Table * TAO_ORB_Table::instance | ( | void |  | ) | `[static]`

| Return a unique instance.

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

int TAO_ORB_Table::unbind | ( | const char * | orb_id | ) |

## Member Data Documentation

TAO_ORB_Core* TAO_ORB_Table::first_orb_`[private]`

| The first ORB created by the user.

Table TAO_ORB_Table::table_`[private]`

| The implementation.

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

- ORB_Table.h
- ORB_Table.cpp
- ORB_Table.inl