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

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 Methods

 TAO_Policy_Manager (void)
 constructor. More...

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

virtual CORBA::PolicyListget_policy_overrides (const CORBA::PolicyTypeSeq &ts ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException)
virtual void set_policy_overrides (const CORBA::PolicyList &policies, CORBA::SetOverrideType set_add ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, CORBA::InvalidPolicies)
CORBA::Policy_ptr get_cached_policy (TAO_Cached_Policy_Type type)
 Obtain a single cached policy. More...


Private Attributes

TAO_SYNCH_MUTEX mutex_
 Protect access. More...

TAO_Policy_Set impl_
 The implementation. More...


Constructor & Destructor Documentation

ACE_INLINE TAO_Policy_Manager::TAO_Policy_Manager void   
 

constructor.

Definition at line 4 of file Policy_Manager.i.

References TAO_POLICY_ORB_SCOPE.

00005   : impl_ (TAO_POLICY_ORB_SCOPE)
00006 {
00007 }


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 45 of file Policy_Manager.i.

References ACE_GUARD_RETURN, TAO_Policy_Set::get_cached_policy, impl_, TAO_Cached_Policy_Type, and TAO_SYNCH_MUTEX.

Referenced by TAO_Stub::buffering_constraint, TAO_Stub::connection_timeout, TAO_ORB_Core::get_cached_policy, TAO_Stub::relative_roundtrip_timeout, TAO_ORB_Core::stubless_connection_timeout, TAO_ORB_Core::stubless_relative_roundtrip_timeout, and TAO_ORB_Core::stubless_sync_scope.

00046 {
00047 
00048   // @@ Previous code used a "double-checked locking hack" to check
00049   // if the policy was set before grabbing the lock to actually get
00050   // it, so that could save a lock operation.  This was removed, as
00051   // it is not as easy to do this anymore.
00052 
00053   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00054 
00055   return this->impl_.get_cached_policy (type);
00056 }

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

Obtain a single policy.

Definition at line 10 of file Policy_Manager.i.

References ACE_ENV_ARG_DECL, ACE_ENV_ARG_PARAMETER, ACE_GUARD_RETURN, TAO_Policy_Set::get_policy, impl_, and TAO_SYNCH_MUTEX.

Referenced by TAO_Stub::get_client_policy.

00013 {
00014   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00015   return this->impl_.get_policy (policy ACE_ENV_ARG_PARAMETER);
00016 }

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

Implements CORBA::PolicyManager.

Definition at line 19 of file Policy_Manager.i.

References ACE_ENV_ARG_DECL, ACE_ENV_ARG_PARAMETER, ACE_GUARD_RETURN, and TAO_SYNCH_MUTEX.

00025 {
00026   ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
00027   return this->impl_.get_policy_overrides (ts ACE_ENV_ARG_PARAMETER);
00028 }

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

Implements CORBA::PolicyManager.

Definition at line 31 of file Policy_Manager.i.

References ACE_ENV_ARG_DECL, ACE_ENV_ARG_PARAMETER, ACE_GUARD, and TAO_SYNCH_MUTEX.

00039 {
00040   ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
00041   this->impl_.set_policy_overrides (policies, set_add ACE_ENV_ARG_PARAMETER);
00042 }


Member Data Documentation

TAO_Policy_Set TAO_Policy_Manager::impl_ [private]
 

The implementation.

Definition at line 78 of file Policy_Manager.h.

Referenced by get_cached_policy, and get_policy.

TAO_SYNCH_MUTEX TAO_Policy_Manager::mutex_ [private]
 

Protect access.

Definition at line 75 of file Policy_Manager.h.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:35:49 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002