|
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 ACE_ENV_ARG_DECL) 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 ACE_ENV_ARG_DECL) |
void | destroy_object_group (const PortableServer::ObjectId &oid ACE_ENV_ARG_DECL) |
| Destroy the object group corresponding to the given ObjectId.
|
PortableGroup::Properties * | get_properties (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
char * | type_id (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) |
| 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 ACE_ENV_ARG_DECL) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
virtual PortableGroup::Locations * | locations_of_members (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound) |
virtual PortableGroup::ObjectGroup_ptr | get_object_group_ref (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberNotFound) |
virtual PortableGroup::ObjectGroup_ptr | get_object_group_ref_from_id (PortableGroup::ObjectGroupId group_id ACE_ENV_ARG_DECL_WITH_DEFAULTS) 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 ACE_ENV_ARG_DECL) throw (CORBA::SystemException, PortableGroup::ObjectGroupNotFound, PortableGroup::MemberAlreadyPresent, PortableGroup::ObjectNotAdded) |
TAO_PG_ObjectGroup_Map_Entry * | get_group_entry (PortableGroup::ObjectGroup_ptr object_group ACE_ENV_ARG_DECL) 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 ACE_ENV_ARG_DECL) |
| 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.