TAO_Policy_Manager Class Reference

#include <Policy_Manager.h>

Inheritance diagram for TAO_Policy_Manager:

Inheritance graph
[legend]
Collaboration diagram for TAO_Policy_Manager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Policy_Manager (void)
 constructor

CORBA::Policy_ptr get_policy (CORBA::PolicyType policy)
 Obtain a single policy.

CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type)
 Obtain a single cached policy.

virtual CORBA::PolicyListget_policy_overrides (const CORBA::PolicyTypeSeq &ts) throw (CORBA::SystemException)
virtual void set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add) throw (CORBA::SystemException, CORBA::InvalidPolicies)

Private Attributes

TAO_SYNCH_MUTEX mutex_
 Protect access.

TAO_Policy_Set impl_
 The implementation.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Policy_Manager::TAO_Policy_Manager void   ) 
 

constructor

Definition at line 8 of file Policy_Manager.i.

References TAO_POLICY_ORB_SCOPE.

00009   : impl_ (TAO_POLICY_ORB_SCOPE)
00010 {
00011 }


Member Function Documentation

ACE_INLINE CORBA::Policy_ptr TAO_Policy_Manager::get_cached_policy TAO_Cached_Policy_Type  type  ) 
 

Obtain a single cached policy.

Definition at line 23 of file Policy_Manager.i.

References ACE_ENV_ARG_PARAMETER, ACE_GUARD_RETURN, TAO_Policy_Set::get_cached_policy(), and TAO_SYNCH_MUTEX.

Referenced by TAO_ORB_Core::get_cached_policy().

00025 {
00026 
00027   // @@ Previous code used a "double-checked locking hack" to check
00028   // if the policy was set before grabbing the lock to actually get
00029   // it, so that could save a lock operation.  This was removed, as
00030   // it is not as easy to do this anymore.
00031 
00032   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00033 
00034   return this->impl_.get_cached_policy (type
00035                                         ACE_ENV_ARG_PARAMETER);
00036 }

ACE_INLINE CORBA::Policy_ptr TAO_Policy_Manager::get_policy CORBA::PolicyType  policy  ) 
 

Obtain a single policy.

Definition at line 14 of file Policy_Manager.i.

References ACE_ENV_ARG_PARAMETER, ACE_GUARD_RETURN, TAO_Policy_Set::get_policy(), CORBA::PolicyType, and TAO_SYNCH_MUTEX.

Referenced by TAO_ORB_Core::get_policy().

00017 {
00018   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00019   return this->impl_.get_policy (policy ACE_ENV_ARG_PARAMETER);
00020 }

TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::PolicyList * TAO_Policy_Manager::get_policy_overrides const CORBA::PolicyTypeSeq ts  )  throw (CORBA::SystemException) [virtual]
 

Definition at line 19 of file Policy_Manager.cpp.

References ACE_ENV_ARG_PARAMETER, ACE_GUARD_RETURN, and TAO_SYNCH_MUTEX.

00022 {
00023   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00024   return this->impl_.get_policy_overrides (ts ACE_ENV_ARG_PARAMETER);
00025 }

void TAO_Policy_Manager::set_policy_overrides const CORBA::PolicyList policies,
CORBA::SetOverrideType  set_add
throw (CORBA::SystemException, CORBA::InvalidPolicies) [virtual]
 

Definition at line 28 of file Policy_Manager.cpp.

References ACE_ENV_ARG_PARAMETER, ACE_GUARD, and TAO_SYNCH_MUTEX.

00033 {
00034   ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
00035   this->impl_.set_policy_overrides (policies, set_add ACE_ENV_ARG_PARAMETER);
00036 }


Member Data Documentation

TAO_Policy_Set TAO_Policy_Manager::impl_ [private]
 

The implementation.

Definition at line 76 of file Policy_Manager.h.

TAO_SYNCH_MUTEX TAO_Policy_Manager::mutex_ [private]
 

Protect access.

Definition at line 73 of file Policy_Manager.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:23:04 2006 for TAO by doxygen 1.3.6