00001 #include "tao/PortableServer/ThreadPolicy.h" 00002 #include "tao/PortableServer/PortableServer.h" 00003 00004 ACE_RCSID (PortableServer, 00005 ThreadPolicy, 00006 "ThreadPolicy.cpp,v 1.6 2006/06/20 07:21:21 jwillemsen Exp") 00007 00008 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00009 00010 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00011 00012 namespace TAO 00013 { 00014 namespace Portable_Server 00015 { 00016 ThreadPolicy::ThreadPolicy (::PortableServer::ThreadPolicyValue value) 00017 : value_ (value) 00018 { 00019 } 00020 00021 CORBA::Policy_ptr 00022 ThreadPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) 00023 ACE_THROW_SPEC ((CORBA::SystemException)) 00024 { 00025 ThreadPolicy *copy = 0; 00026 ACE_NEW_THROW_EX (copy, 00027 ThreadPolicy (this->value_), 00028 CORBA::NO_MEMORY ()); 00029 ACE_CHECK_RETURN (CORBA::Policy::_nil ()); 00030 00031 return copy; 00032 } 00033 00034 void 00035 ThreadPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00036 ACE_THROW_SPEC ((CORBA::SystemException)) 00037 { 00038 } 00039 00040 ::PortableServer::ThreadPolicyValue 00041 ThreadPolicy::value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00042 ACE_THROW_SPEC ((CORBA::SystemException)) 00043 { 00044 return value_; 00045 } 00046 00047 CORBA::PolicyType 00048 ThreadPolicy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00049 ACE_THROW_SPEC ((CORBA::SystemException)) 00050 { 00051 return ::PortableServer::THREAD_POLICY_ID; 00052 } 00053 00054 TAO_Cached_Policy_Type 00055 ThreadPolicy::_tao_cached_type (void) const 00056 { 00057 return TAO_CACHED_POLICY_THREAD; 00058 } 00059 00060 TAO_Policy_Scope 00061 ThreadPolicy::_tao_scope (void) const 00062 { 00063 return TAO_POLICY_POA_SCOPE; 00064 } 00065 } 00066 } 00067 00068 TAO_END_VERSIONED_NAMESPACE_DECL 00069 00070 #endif /* TAO_HAS_MINIMUM_POA == 0 */