|
Public Member Functions |
| | TAO_PG_ObjectGroupManager (void) |
| | Constructor.
|
| | ~TAO_PG_ObjectGroupManager (void) |
| | Destructor.
|
| PortableGroup::ObjectGroup_ptr | _tao_add_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, CORBA::Object_ptr member, const char *type_id, const CORBA::Boolean propagate_member_already_present) throw (CORBA::SystemException, PortableGroup::MemberAlreadyPresent, PortableGroup::NoFactory) |
| | TAO-specific member addition method.
|
| PortableGroup::ObjectGroup_ptr | create_object_group (CORBA::ULong group_id, const PortableServer::ObjectId &oid, const char *type_id, const PortableGroup::Criteria &the_criteria) |
| void | destroy_object_group (const PortableServer::ObjectId &oid) |
| | Destroy the object group corresponding to the given ObjectId.
|
| PortableGroup::Properties * | get_properties (PortableGroup::ObjectGroup_ptr object_group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| char * | type_id (PortableGroup::ObjectGroup_ptr object_group) |
| | Return the type_id for the given object group.
|
| PortableGroup::ObjectGroup_ptr | object_group (const PortableServer::ObjectId &oid) |
| | Return the object group associated with the given ObjectId.
|
| CORBA::ULong | member_count (PortableGroup::ObjectGroup_ptr group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| | Return the number of members in the given object group.
|
| void | poa (PortableServer::POA_ptr p) |
| void | generic_factory (TAO_PG_GenericFactory *generic_factory) |
|
Methods required by the PortableGroup::ObjectGroupManager interface. |
| virtual PortableGroup::ObjectGroup_ptr | create_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, const char *type_id, const PortableGroup::Criteria &the_criteria) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::NoFactory, PortableGroup::ObjectNotCreated, PortableGroup::InvalidCriteria, PortableGroup::CannotMeetCriteria) |
| | Create a member and add it to the given object group.
|
| virtual PortableGroup::ObjectGroup_ptr | add_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, CORBA::Object_ptr member) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::ObjectNotAdded) |
| | Add an existing object to the ObjectGroup.
|
| virtual PortableGroup::ObjectGroup_ptr | remove_member (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
| virtual PortableGroup::Locations * | locations_of_members (PortableGroup::ObjectGroup_ptr object_group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| | Return the locations of the members in the given ObjectGroup.
|
| virtual PortableGroup::ObjectGroups * | groups_at_location (const PortableGroup::Location &the_location) throw (CORBA::SystemException) |
| | Return the locations of the members in the given ObjectGroup.
|
| virtual PortableGroup::ObjectGroupId | get_object_group_id (PortableGroup::ObjectGroup_ptr object_group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| virtual PortableGroup::ObjectGroup_ptr | get_object_group_ref (PortableGroup::ObjectGroup_ptr object_group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| | Does this method make sense for load balanced objects?
|
| virtual CORBA::Object_ptr | get_member_ref (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &loc) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
| virtual PortableGroup::ObjectGroup_ptr | get_object_group_ref_from_id (PortableGroup::ObjectGroupId group_id) throw ( CORBA::SystemException , PortableGroup::ObjectGroupNotFound ) |
Protected Member Functions |
| PortableGroup::ObjectGroup_ptr | add_member_i (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Location &the_location, CORBA::Object_ptr member, const CORBA::Boolean check_type_id) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::ObjectNotAdded) |
| TAO_PG_ObjectGroup_Map_Entry * | get_group_entry (PortableGroup::ObjectGroup_ptr object_group) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
| CORBA::Boolean | member_already_present (const TAO_PG_ObjectGroup_Array &groups, TAO_PG_ObjectGroup_Map_Entry *group_entry) |
| size_t | get_object_group_position (const TAO_PG_ObjectGroup_Array &groups, TAO_PG_ObjectGroup_Map_Entry *group_entry) |
| | get the position of the object_group_map_entry
|
| CORBA::Boolean | valid_type_id (PortableGroup::ObjectGroup_ptr object_group, TAO_PG_ObjectGroup_Map_Entry *group_entry, CORBA::Object_ptr member) |
| | Verify that the member type_id matches the object group type_id.
|
Private Attributes |
| PortableServer::POA_var | poa_ |
| | Reference to the POA that created the object group references.
|
| TAO_PG_ObjectGroup_Map | object_group_map_ |
| TAO_PG_Location_Map | location_map_ |
| TAO_PG_GenericFactory * | generic_factory_ |
| TAO_SYNCH_MUTEX | lock_ |
| | Lock used to synchronize access to the underlying tables.
|
The ObjectGroupManager provides the interface necessary to facilitate application-controlled object group membership.