00001 #include "tao/PortableServer/ServantRetentionPolicy.h" 00002 #include "tao/PortableServer/PortableServer.h" 00003 00004 ACE_RCSID (PortableServer, 00005 ServantRetentionPolicy, 00006 "ServantRetentionPolicy.cpp,v 1.5 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 ServantRetentionPolicy::ServantRetentionPolicy ( 00017 ::PortableServer::ServantRetentionPolicyValue value) : 00018 value_ (value) 00019 { 00020 } 00021 00022 CORBA::Policy_ptr 00023 ServantRetentionPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) 00024 ACE_THROW_SPEC ((CORBA::SystemException)) 00025 { 00026 ServantRetentionPolicy *copy = 0; 00027 ACE_NEW_THROW_EX (copy, 00028 ServantRetentionPolicy (this->value_), 00029 CORBA::NO_MEMORY ()); 00030 ACE_CHECK_RETURN (CORBA::Policy::_nil ()); 00031 00032 return copy; 00033 } 00034 00035 void 00036 ServantRetentionPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00037 ACE_THROW_SPEC ((CORBA::SystemException)) 00038 { 00039 } 00040 00041 ::PortableServer::ServantRetentionPolicyValue 00042 ServantRetentionPolicy::value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00043 ACE_THROW_SPEC ((CORBA::SystemException)) 00044 { 00045 return this->value_; 00046 } 00047 00048 CORBA::PolicyType 00049 ServantRetentionPolicy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) 00050 ACE_THROW_SPEC ((CORBA::SystemException)) 00051 { 00052 return ::PortableServer::SERVANT_RETENTION_POLICY_ID; 00053 } 00054 00055 TAO_Cached_Policy_Type 00056 ServantRetentionPolicy::_tao_cached_type (void) const 00057 { 00058 return TAO_CACHED_POLICY_SERVANT_RETENTION; 00059 } 00060 00061 TAO_Policy_Scope 00062 ServantRetentionPolicy::_tao_scope (void) const 00063 { 00064 return TAO_POLICY_POA_SCOPE; 00065 } 00066 } 00067 } 00068 00069 TAO_END_VERSIONED_NAMESPACE_DECL 00070 00071 #endif /* TAO_HAS_MINIMUM_POA == 0 */