#include <POA_Policy_Set.h>

Public Member Functions | |
| TAO_POA_Policy_Set (void) | |
| TAO_POA_Policy_Set (const TAO_POA_Policy_Set &rhs) | |
| ~TAO_POA_Policy_Set (void) | |
| CORBA::Policy * | get_policy_by_index (CORBA::ULong index) |
| CORBA::ULong | num_policies (void) const |
| Get the number of policies. | |
| CORBA::Policy_ptr | get_cached_policy (TAO_Cached_Policy_Type type) |
| Obtain a single cached policy. | |
| void | merge_policies (const CORBA::PolicyList &policies) |
| void | merge_policy (const CORBA::Policy_ptr policy) |
| void | validate_policies (TAO_Policy_Validator &validator, TAO_ORB_Core &orb_core) |
| void | add_client_exposed_fixed_policies (CORBA::PolicyList *client_exposed_policies) |
| Add all of the client exposed policies to the specified list. | |
| TAO_Policy_Set & | policies (void) |
| CORBA::Policy_ptr | get_policy (CORBA::PolicyType policy) |
| Obtain a single policy. | |
Protected Attributes | |
| TAO_Policy_Set | impl_ |
Definition at line 31 of file POA_Policy_Set.h.
| TAO_POA_Policy_Set::TAO_POA_Policy_Set | ( | void | ) |
Definition at line 20 of file POA_Policy_Set.cpp.
: impl_ (TAO_POLICY_POA_SCOPE) { }
| TAO_POA_Policy_Set::TAO_POA_Policy_Set | ( | const TAO_POA_Policy_Set & | rhs | ) |
Definition at line 25 of file POA_Policy_Set.cpp.
| TAO_POA_Policy_Set::~TAO_POA_Policy_Set | ( | void | ) |
Definition at line 31 of file POA_Policy_Set.cpp.
{
}
| void TAO_POA_Policy_Set::add_client_exposed_fixed_policies | ( | CORBA::PolicyList * | client_exposed_policies | ) |
Add all of the client exposed policies to the specified list.
Definition at line 36 of file POA_Policy_Set.cpp.
{
CORBA::ULong cep_index = client_exposed_policies->length ();
for (CORBA::ULong i = 0;
i < this->num_policies ();
++i)
{
CORBA::Policy_var policy = this->get_policy_by_index (i);
// If this policy is client exposed, add it to the list.
if (policy->_tao_scope () & TAO_POLICY_CLIENT_EXPOSED)
{
client_exposed_policies->length (cep_index + 1);
(*client_exposed_policies)[cep_index] = policy->copy ();
++cep_index;
}
}
}
| CORBA::Policy_ptr TAO_POA_Policy_Set::get_cached_policy | ( | TAO_Cached_Policy_Type | type | ) |
Obtain a single cached policy.
Definition at line 20 of file POA_Policy_Set.inl.
{
return this->impl_.get_cached_policy (type);
}
| CORBA::Policy_ptr TAO_POA_Policy_Set::get_policy | ( | CORBA::PolicyType | policy | ) |
Obtain a single policy.
Definition at line 39 of file POA_Policy_Set.inl.
{
return this->impl_.get_policy (policy);
}
| CORBA::Policy * TAO_POA_Policy_Set::get_policy_by_index | ( | CORBA::ULong | index | ) |
Returns the policy at the specified index. CORBA::Policy::_nil () is returned if the policy doesn't exist
Definition at line 14 of file POA_Policy_Set.inl.
{
return this->impl_.get_policy_by_index (index);
}
| void TAO_POA_Policy_Set::merge_policies | ( | const CORBA::PolicyList & | policies | ) |
Definition at line 26 of file POA_Policy_Set.inl.
{
// Add the policies if they don't exist, override them if they do.
this->impl_.set_policy_overrides (policies, CORBA::ADD_OVERRIDE);
}
| void TAO_POA_Policy_Set::merge_policy | ( | const CORBA::Policy_ptr | policy | ) |
Definition at line 33 of file POA_Policy_Set.inl.
{
this->impl_.set_policy (policy);
}
| CORBA::ULong TAO_POA_Policy_Set::num_policies | ( | void | ) | const |
Get the number of policies.
Definition at line 8 of file POA_Policy_Set.inl.
{
return this->impl_.num_policies ();
}
| TAO_Policy_Set & TAO_POA_Policy_Set::policies | ( | void | ) |
Definition at line 45 of file POA_Policy_Set.inl.
{
return this->impl_;
}
| void TAO_POA_Policy_Set::validate_policies | ( | TAO_Policy_Validator & | validator, | |
| TAO_ORB_Core & | orb_core | |||
| ) |
Definition at line 58 of file POA_Policy_Set.cpp.
{
// Just give a last chance for all the unloaded validators in other
// libraries to be registered
orb_core.load_policy_validators (validator);
// Validate that all of the specified policies make sense.
validator.validate (this->impl_ );
// Verify that all policies are legal for the currently loaded
// POA extensions.
for (CORBA::ULong i = 0;
i < this->impl_.num_policies ();
i++)
{
CORBA::Policy_var policy = this->impl_.get_policy_by_index (i);
CORBA::PolicyType type = policy->policy_type ();
if (!(validator.legal_policy (type)))
{
#if !defined (CORBA_E_MICRO)
// An invalid policy was specified. Let the user know about
// it.
throw PortableServer::POA::InvalidPolicy ();
#else
ACE_ERROR ((LM_ERROR, "Invalid policy\n"));
#endif
}
}
}
TAO_Policy_Set TAO_POA_Policy_Set::impl_ [protected] |
Definition at line 67 of file POA_Policy_Set.h.
1.7.0