TAO_PortableGroup  2.1.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes
TAO_PG_PropertyManager Class Reference

Class that implements the PortableGroup::PropertyManager interface. More...

#include <PG_PropertyManager.h>

Collaboration diagram for TAO_PG_PropertyManager:
Collaboration graph

List of all members.

Public Types

typedef
ACE_Hash_Map_Manager_Ex
< ACE_CString,
PortableGroup::Properties,
ACE_Hash< ACE_CString >
, ACE_Equal_To< ACE_CString >
, ACE_Null_Mutex
Type_Prop_Table
 Type-specific property hash map.

Public Member Functions

 TAO_PG_PropertyManager (TAO_PG_ObjectGroupManager &object_group_manager)
 Constructor.
PortableGroup::PropertyManager methods

Methods required by the PortableGroup::PropertyManager interface.

virtual void set_default_properties (const PortableGroup::Properties &props)
 Set the default properties to be used by all object groups.
virtual PortableGroup::Propertiesget_default_properties ()
 Get the default properties used by all object groups.
virtual void remove_default_properties (const PortableGroup::Properties &props)
 Remove default properties.
virtual void set_type_properties (const char *type_id, const PortableGroup::Properties &overrides)
virtual PortableGroup::Propertiesget_type_properties (const char *type_id)
virtual void remove_type_properties (const char *type_id, const PortableGroup::Properties &props)
 Remove the given properties associated with the Replica type ID.
virtual void set_properties_dynamically (PortableGroup::ObjectGroup_ptr object_group, const PortableGroup::Properties &overrides)
virtual PortableGroup::Propertiesget_properties (PortableGroup::ObjectGroup_ptr object_group)

Private Member Functions

void remove_properties (const PortableGroup::Properties &to_be_removed, PortableGroup::Properties &properties)

Private Attributes

TAO_PG_ObjectGroupManagerobject_group_manager_
 Table that maps ObjectId to Object Group related information.
PortableGroup::Properties default_properties_
 Default properties.
Type_Prop_Table type_properties_
 Table of type-specific object group properties.
TAO_SYNCH_MUTEX lock_
TAO_PG_Default_Property_Validator property_validator_
 The property validator.

Detailed Description

Class that implements the PortableGroup::PropertyManager interface.

Only the default and type-specific properties are housed in this class. The properties used at creation time of an object group and those set dynamically after object group creation are stored in the TAO_PG_ObjectGroup_Map_Entry structure. However, the PropertyManager is still used to manage those properties.


Member Typedef Documentation

Type-specific property hash map.


Constructor & Destructor Documentation

TAO_PG_PropertyManager::TAO_PG_PropertyManager ( TAO_PG_ObjectGroupManager object_group_manager)

Constructor.


Member Function Documentation

PortableGroup::Properties * TAO_PG_PropertyManager::get_default_properties ( )
virtual

Get the default properties used by all object groups.

PortableGroup::Properties * TAO_PG_PropertyManager::get_properties ( PortableGroup::ObjectGroup_ptr  object_group)
virtual

Return the properties currently in use by the given object group. These properties include those that were set dynamically, type-specific properties that weren't overridden, properties that were used when the replica was created, and default properties that weren't overridden.

PortableGroup::Properties * TAO_PG_PropertyManager::get_type_properties ( const char *  type_id)
virtual

Return the properties associated with a give Replica type. These properties include the type-specific properties in use, in addition to the default properties that were not overridden.

void TAO_PG_PropertyManager::remove_default_properties ( const PortableGroup::Properties props)
virtual

Remove default properties.

void TAO_PG_PropertyManager::remove_properties ( const PortableGroup::Properties to_be_removed,
PortableGroup::Properties properties 
)
private

Remove properties "to_be_removed" from the given list of properties.

void TAO_PG_PropertyManager::remove_type_properties ( const char *  type_id,
const PortableGroup::Properties props 
)
virtual

Remove the given properties associated with the Replica type ID.

void TAO_PG_PropertyManager::set_default_properties ( const PortableGroup::Properties props)
virtual

Set the default properties to be used by all object groups.

void TAO_PG_PropertyManager::set_properties_dynamically ( PortableGroup::ObjectGroup_ptr  object_group,
const PortableGroup::Properties overrides 
)
virtual

Dynamically set the properties associated with a given object group as the load balancer and replicas are being executed. These properties override the type-specific and default properties.

void TAO_PG_PropertyManager::set_type_properties ( const char *  type_id,
const PortableGroup::Properties overrides 
)
virtual

Set properties associated with a given Member type. These properties override the default properties.


Member Data Documentation

PortableGroup::Properties TAO_PG_PropertyManager::default_properties_
private

Default properties.

TAO_SYNCH_MUTEX TAO_PG_PropertyManager::lock_
private

Lock used to synchronize access to the default properties and the type-specific properties.

TAO_PG_ObjectGroupManager& TAO_PG_PropertyManager::object_group_manager_
private

Table that maps ObjectId to Object Group related information.

TAO_PG_Default_Property_Validator TAO_PG_PropertyManager::property_validator_
private

The property validator.

Todo:
Strategize the validator, or use template policies.
Type_Prop_Table TAO_PG_PropertyManager::type_properties_
private

Table of type-specific object group properties.


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