Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# TAO::PG_Object_Group Class Reference

`#include <PG_Object_Group.h>`

Collaboration diagram for TAO::PG_Object_Group:

[legend]
List of all members.

## Public Member Functions
| PG_Object_Group (CORBA::ORB_ptr orb, PortableGroup::FactoryRegistry_ptr factory_registry, TAO::PG_Object_Group_Manipulator &manipulator, CORBA::Object_ptr empty_group, const PortableGroup::TagGroupTaggedComponent &tagged_component, const char *type_id, const PortableGroup::Criteria &the_criteria, TAO::PG_Property_Set *type_properties)
| ~PG_Object_Group ()
| Destructor.
PortableGroup::ObjectGroup_ptr | reference () const
| return a duplicated reference to this group (IOGR)
void | get_group_specific_factories (PortableGroup::FactoryInfos &result) const
const PortableGroup::Location & | get_primary_location () const
PortableGroup::TypeId | get_type_id () const
PortableGroup::MembershipStyleValue | get_membership_style () const
PortableGroup::MinimumNumberMembersValue | get_minimum_number_members () const
PortableGroup::InitialNumberMembersValue | get_initial_number_members () const
void | set_properties_dynamically (const PortableGroup::Properties &overrides) throw (CORBA::SystemException, PortableGroup::InvalidProperty, PortableGroup::UnsupportedProperty)
void | get_properties (PortableGroup::Properties_var &result) const throw (CORBA::SystemException)
PortableGroup::ObjectGroupId | get_object_group_id () const
void | add_member (const PortableGroup::Location &the_location, CORBA::Object_ptr member) throw (CORBA::SystemException, PortableGroup::ObjectNotAdded)
int | set_primary_member (TAO_IOP::TAO_IOR_Property *prop, const PortableGroup::Location &the_location) throw ( CORBA::SystemException , PortableGroup::MemberNotFound )
void | remove_member (const PortableGroup::Location &the_location) throw (CORBA::SystemException, PortableGroup::MemberNotFound)
void | create_member (const PortableGroup::Location &the_location, const char *type_id, const PortableGroup::Criteria &the_criteria) throw (CORBA::SystemException, PortableGroup::MemberAlreadyPresent, PortableGroup::NoFactory, PortableGroup::ObjectNotCreated, PortableGroup::InvalidCriteria, PortableGroup::CannotMeetCriteria)
PortableGroup::Locations * | locations_of_members () throw (CORBA::SystemException)
CORBA::Object_ptr | get_member_reference (const PortableGroup::Location &the_location) throw ( CORBA::SystemException, PortableGroup::MemberNotFound)
void | initial_populate ()
void | minimum_populate ()
int | has_member_at (const PortableGroup::Location &location)
## Private Types
typedef TAO_SYNCH_MUTEX | MemberMapMutex
typedef ACE_Hash_Map_Manager_Ex< PortableGroup::Location, MemberInfo *, TAO_PG_Location_Hash, TAO_PG_Location_Equal_To, MemberMapMutex > | MemberMap
typedef ACE_Hash_Map_Entry< PortableGroup::Location, MemberInfo * > | MemberMap_Entry
typedef ACE_Hash_Map_Iterator_Ex< PortableGroup::Location, MemberInfo *, TAO_PG_Location_Hash, TAO_PG_Location_Equal_To, MemberMapMutex > | MemberMap_Iterator
## Private Member Functions
int | increment_version ()
void | distribute_iogr ()
PortableGroup::ObjectGroup_ptr | add_member_to_iogr (CORBA::Object_ptr member)
void | create_members (size_t count) throw ( CORBA::SystemException, PortableGroup::NoFactory )
| PG_Object_Group ()
| PG_Object_Group (const PG_Object_Group &rhs)
PG_Object_Group & | operator= (const PG_Object_Group &rhs)
## Private Attributes
TAO_SYNCH_MUTEX | internals_
CORBA::ORB_var | orb_
PortableGroup::FactoryRegistry_var | factory_registry_
| Where to find the factories for replicas.
TAO::PG_Object_Group_Manipulator & | manipulator_
int | empty_
| boolean true if empty group
ACE_CString | role_
PortableGroup::TypeId_var | type_id_
PortableGroup::TagGroupTaggedComponent | tagged_component_
PortableGroup::ObjectGroup_var | reference_
PortableServer::ObjectId_var | object_id_
MemberMap | members_
PortableGroup::Location | primary_location_
TAO::PG_Property_Set | properties_
PortableGroup::InitialNumberMembersValue | initial_number_members_
PortableGroup::MinimumNumberMembersValue | minimum_number_members_
PortableGroup::FactoryInfos | group_specific_factories_

## Member Typedef Documentation

typedef ACE_Hash_Map_Manager_Ex< PortableGroup::Location, MemberInfo *, TAO_PG_Location_Hash, TAO_PG_Location_Equal_To, MemberMapMutex> TAO::PG_Object_Group::MemberMap`[private]`

typedef ACE_Hash_Map_Entry<PortableGroup::Location, MemberInfo *> TAO::PG_Object_Group::MemberMap_Entry`[private]`

typedef ACE_Hash_Map_Iterator_Ex< PortableGroup::Location, MemberInfo *, TAO_PG_Location_Hash, TAO_PG_Location_Equal_To, MemberMapMutex> TAO::PG_Object_Group::MemberMap_Iterator`[private]`

typedef TAO_SYNCH_MUTEX TAO::PG_Object_Group::MemberMapMutex`[private]`

## Constructor & Destructor Documentation

TAO::PG_Object_Group::PG_Object_Group | ( | CORBA::ORB_ptr | orb,
|  | PortableGroup::FactoryRegistry_ptr | factory_registry,
|  | TAO::PG_Object_Group_Manipulator & | manipulator,
|  | CORBA::Object_ptr | empty_group,
|  | const PortableGroup::TagGroupTaggedComponent & | tagged_component,
|  | const char * | type_id,
|  | const PortableGroup::Criteria & | the_criteria,
|  | TAO::PG_Property_Set * | type_properties
| ) |

| @TODO DOC

TAO::PG_Object_Group::~PG_Object_Group | ( |  | ) |

| Destructor.

TAO::PG_Object_Group::PG_Object_Group | ( |  | ) | `[private]`

TAO::PG_Object_Group::PG_Object_Group | ( | const PG_Object_Group & | rhs | ) | `[private]`

## Member Function Documentation

void TAO::PG_Object_Group::add_member | ( | const PortableGroup::Location & | the_location,
|  | CORBA::Object_ptr | member
| ) | throw (CORBA::SystemException, PortableGroup::ObjectNotAdded)

  | Add a new member to the group. Parameters:
  | the_location | the location for the new member
  | member | the member to be added

PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group::add_member_to_iogr | ( | CORBA::Object_ptr | member | ) | `[private]`

void TAO::PG_Object_Group::create_member | ( | const PortableGroup::Location & | the_location,
|  | const char * | type_id,
|  | const PortableGroup::Criteria & | the_criteria
| ) | throw (CORBA::SystemException, PortableGroup::MemberAlreadyPresent, PortableGroup::NoFactory, PortableGroup::ObjectNotCreated, PortableGroup::InvalidCriteria, PortableGroup::CannotMeetCriteria)

| @TODO DOC

void TAO::PG_Object_Group::create_members | ( | size_t | count | ) | throw ( CORBA::SystemException, PortableGroup::NoFactory )`[private]`

void TAO::PG_Object_Group::distribute_iogr | ( |  | ) | `[private]`

void TAO::PG_Object_Group::get_group_specific_factories | ( | PortableGroup::FactoryInfos & | result | ) | const

| Note the caller receives a copy of the factoryinfos in the result argument. inefficient, but thread safe.

PortableGroup::InitialNumberMembersValue TAO::PG_Object_Group::get_initial_number_members | ( |  | ) | const

| @TODO DOC

CORBA::Object_ptr TAO::PG_Object_Group::get_member_reference | ( | const PortableGroup::Location & | the_location | ) | throw ( CORBA::SystemException, PortableGroup::MemberNotFound)

| @TODO DOC

PortableGroup::MembershipStyleValue TAO::PG_Object_Group::get_membership_style | ( |  | ) | const

| @TODO DOC

PortableGroup::MinimumNumberMembersValue TAO::PG_Object_Group::get_minimum_number_members | ( |  | ) | const

| @TODO DOC

PortableGroup::ObjectGroupId TAO::PG_Object_Group::get_object_group_id | ( |  | ) | const

| @TODO DOC

const PortableGroup::Location & TAO::PG_Object_Group::get_primary_location | ( |  | ) | const

| get location of primary member

void TAO::PG_Object_Group::get_properties | ( | PortableGroup::Properties_var & | result | ) | const throw (CORBA::SystemException)

| @TODO DOC

PortableGroup::TypeId TAO::PG_Object_Group::get_type_id | ( |  | ) | const

| returns a duplicate caller must release

int TAO::PG_Object_Group::has_member_at | ( | const PortableGroup::Location & | location | ) |

| @TODO DOC

int TAO::PG_Object_Group::increment_version | ( |  | ) | `[private]`

void TAO::PG_Object_Group::initial_populate | ( |  | ) |

| @TODO DOC

PortableGroup::Locations * TAO::PG_Object_Group::locations_of_members | ( |  | ) | throw (CORBA::SystemException)

| @TODO DOC

void TAO::PG_Object_Group::minimum_populate | ( |  | ) |

| @TODO DOC

PG_Object_Group& TAO::PG_Object_Group::operator= | ( | const PG_Object_Group & | rhs | ) | `[private]`

PortableGroup::ObjectGroup_ptr TAO::PG_Object_Group::reference | ( |  | ) | const

| return a duplicated reference to this group (IOGR)

void TAO::PG_Object_Group::remove_member | ( | const PortableGroup::Location & | the_location | ) | throw (CORBA::SystemException, PortableGroup::MemberNotFound)

| @TODO DOC

int TAO::PG_Object_Group::set_primary_member | ( | TAO_IOP::TAO_IOR_Property * | prop,
|  | const PortableGroup::Location & | the_location
| ) | throw ( CORBA::SystemException , PortableGroup::MemberNotFound )

| set the replica at the given location to be primary. Note: This should return void and throw FT::PrimaryNotSet but to avoid dependancies between PortableGroup and FaultTolerance it returns a boolean result. A false return means caller should throw FT::PrimaryNot_Set.

void TAO::PG_Object_Group::set_properties_dynamically | ( | const PortableGroup::Properties & | overrides | ) | throw (CORBA::SystemException, PortableGroup::InvalidProperty, PortableGroup::UnsupportedProperty)

| @TODO DOC

## Member Data Documentation

int TAO::PG_Object_Group::empty_`[private]`

| boolean true if empty group

PortableGroup::FactoryRegistry_var TAO::PG_Object_Group::factory_registry_`[private]`

| Where to find the factories for replicas.

PortableGroup::FactoryInfos TAO::PG_Object_Group::group_specific_factories_`[private]`

PortableGroup::InitialNumberMembersValue TAO::PG_Object_Group::initial_number_members_`[private]`

TAO_SYNCH_MUTEX TAO::PG_Object_Group::internals_`[mutable, private]`

| Protect internal state.

TAO::PG_Object_Group_Manipulator& TAO::PG_Object_Group::manipulator_`[private]`

MemberMap TAO::PG_Object_Group::members_`[private]`

PortableGroup::MinimumNumberMembersValue TAO::PG_Object_Group::minimum_number_members_`[private]`

PortableServer::ObjectId_var TAO::PG_Object_Group::object_id_`[private]`

| The CORBA object id assigned to this object group

CORBA::ORB_var TAO::PG_Object_Group::orb_`[private]`

PortableGroup::Location TAO::PG_Object_Group::primary_location_`[private]`

TAO::PG_Property_Set TAO::PG_Object_Group::properties_`[private]`

PortableGroup::ObjectGroup_var TAO::PG_Object_Group::reference_`[private]`

| the reference (IOGR) to this group

ACE_CString TAO::PG_Object_Group::role_`[private]`

PortableGroup::TagGroupTaggedComponent TAO::PG_Object_Group::tagged_component_`[private]`

| the GroupTaggedComponent that defines this group contains: GIOP::Version component_version; TAO_String_Manager group_domain_id; PortableGroup::ObjectGroupId object_group_id; PortableGroup::ObjectGroupRefVersion object_group_ref_version;

PortableGroup::TypeId_var TAO::PG_Object_Group::type_id_`[private]`

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

- PG_Object_Group.h
- PG_Object_Group.cpp