00001 // $Id: Policy_Current.cpp 79118 2007-07-31 11:38:01Z johnnyw $ 00002 00003 #include "tao/Policy_Current.h" 00004 00005 #if (TAO_HAS_CORBA_MESSAGING == 1) 00006 00007 #include "tao/TSS_Resources.h" 00008 00009 #if !defined (__ACE_INLINE__) 00010 # include "tao/Policy_Current.inl" 00011 #endif /* ! __ACE_INLINE__ */ 00012 00013 ACE_RCSID (tao, 00014 Policy_Current, 00015 "$Id: Policy_Current.cpp 79118 2007-07-31 11:38:01Z johnnyw $") 00016 00017 00018 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00019 00020 TAO_Policy_Current_Impl & 00021 TAO_Policy_Current::implementation (TAO_Policy_Current_Impl ¤t) 00022 { 00023 TAO_TSS_Resources * const tss = TAO_TSS_Resources::instance (); 00024 00025 TAO_Policy_Current_Impl *old = tss->policy_current_; 00026 tss->policy_current_ = ¤t; 00027 return *old; 00028 } 00029 00030 TAO_Policy_Current_Impl & 00031 TAO_Policy_Current::implementation (void) const 00032 { 00033 return *TAO_TSS_Resources::instance ()->policy_current_; 00034 } 00035 00036 CORBA::Policy_ptr 00037 TAO_Policy_Current::get_policy (CORBA::PolicyType policy) 00038 { 00039 TAO_Policy_Current_Impl &impl = this->implementation (); 00040 00041 return impl.get_policy (policy); 00042 } 00043 00044 CORBA::PolicyList * 00045 TAO_Policy_Current::get_policy_overrides (const CORBA::PolicyTypeSeq & ts) 00046 00047 { 00048 TAO_Policy_Current_Impl &impl = this->implementation (); 00049 00050 return impl.get_policy_overrides (ts); 00051 } 00052 00053 void 00054 TAO_Policy_Current::set_policy_overrides (const CORBA::PolicyList & policies, 00055 CORBA::SetOverrideType set_add) 00056 { 00057 TAO_Policy_Current_Impl &impl = this->implementation (); 00058 00059 impl.set_policy_overrides (policies, set_add); 00060 } 00061 00062 CORBA::Policy_ptr 00063 TAO_Policy_Current::get_cached_policy (TAO_Cached_Policy_Type type) 00064 { 00065 TAO_Policy_Current_Impl &impl = this->implementation (); 00066 00067 return impl.get_cached_policy (type); 00068 } 00069 00070 TAO_END_VERSIONED_NAMESPACE_DECL 00071 00072 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */