#include <PG_Object_Group.h>
Collaboration diagram for TAO::PG_Object_Group:

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_ |
Classes | |
| struct | MemberInfo |
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] |
| 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] |
| 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.
| 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
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.
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] |
The CORBA object id assigned to this object group
CORBA::ORB_var TAO::PG_Object_Group::orb_ [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] |
1.4.7-1