Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# TAO_Policy_Validator Class Reference

An abstract class for plugging in different Policy Validator mechanisms. More...

`#include <Policy_Validator.h>`

Collaboration diagram for TAO_Policy_Validator:

[legend]
List of all members.

## Public Methods
| TAO_Policy_Validator (TAO_ORB_Core &orb_core)
| Constructor. More...
virtual | ~TAO_Policy_Validator (void)
| Destructor. More...
void | validate (TAO_Policy_Set &policies ACE_ENV_ARG_DECL)
void | merge_policies (TAO_Policy_Set &policies ACE_ENV_ARG_DECL)
CORBA::Boolean | legal_policy (CORBA::PolicyType type)
void | add_validator (TAO_Policy_Validator *validator)
## Protected Methods
virtual void | validate_impl (TAO_Policy_Set &policies ACE_ENV_ARG_DECL)=0
virtual void | merge_policies_impl (TAO_Policy_Set &policies ACE_ENV_ARG_DECL)=0
virtual CORBA::Boolean | legal_policy_impl (CORBA::PolicyType type)=0
## Protected Attributes
TAO_ORB_Core & | orb_core_
## Private Attributes
TAO_Policy_Validator * | next_
## Static Private Attributes
TAO_Policy_Validator * | last_ = 0

## Detailed Description

An abstract class for plugging in different Policy Validator mechanisms.

This class was moved form the PortableServer library. The Portable Serever library used this abstraction to add policy validators to for the policies in the POA. This class seems so much useful for passing policy information between different loaded libraries.

## Constructor & Destructor Documentation

TAO_Policy_Validator::TAO_Policy_Validator | ( | TAO_ORB_Core & | orb_core | ) |

| Constructor.

TAO_Policy_Validator::~TAO_Policy_Validator | ( | void |  | ) | `[virtual]`

| Destructor.

## Member Function Documentation

void TAO_Policy_Validator::add_validator | ( | TAO_Policy_Validator * | validator | ) |

| Adds a validator to the "chain of validators". The `TAO_POA_Policy_Validator` implements something that looks like a chain of responsability in which different member of the chain have the responsability of validating a given set of policies.

CORBA::Boolean TAO_Policy_Validator::legal_policy | ( | CORBA::PolicyType | type | ) |

| Return whether the specified policy type is legal for the current configuration. This is needed since the user can potentially specify policies that are unknown to an validate () routine, and these need to be caught.

virtual CORBA::Boolean TAO_Policy_Validator::legal_policy_impl | ( | CORBA::PolicyType | type | ) | `[protected, pure virtual]`

void TAO_Policy_Validator::merge_policies | ( | TAO_Policy_Set &policies | ACE_ENV_ARG_DECL | ) |

| Add/merge policies.

virtual void TAO_Policy_Validator::merge_policies_impl | ( | TAO_Policy_Set &policies | ACE_ENV_ARG_DECL | ) | `[protected, pure virtual]`

void TAO_Policy_Validator::validate | ( | TAO_Policy_Set &policies | ACE_ENV_ARG_DECL | ) |

| Validate that the policies in the specified set are consistent and legal. Throw an appropriate exception if that is not the case.

virtual void TAO_Policy_Validator::validate_impl | ( | TAO_Policy_Set &policies | ACE_ENV_ARG_DECL | ) | `[protected, pure virtual]`

## Member Data Documentation

TAO_Policy_Validator * TAO_Policy_Validator::last_ = 0`[static, private]`

TAO_Policy_Validator* TAO_Policy_Validator::next_`[private]`

TAO_ORB_Core& TAO_Policy_Validator::orb_core_`[protected]`

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

- Policy_Validator.h
- Policy_Validator.cpp