00001 00002 #include "tao/orbconf.h" 00003 00004 ACE_RCSID (PortableServer, 00005 ServantRetentionPolicy, 00006 "$Id: ServantRetentionPolicy.cpp 76995 2007-02-11 12:51:42Z johnnyw $") 00007 00008 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00009 00010 #include "tao/PortableServer/ServantRetentionPolicy.h" 00011 #include "tao/PortableServer/PortableServer.h" 00012 00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00014 00015 namespace TAO 00016 { 00017 namespace Portable_Server 00018 { 00019 ServantRetentionPolicy::ServantRetentionPolicy ( 00020 ::PortableServer::ServantRetentionPolicyValue value) : 00021 value_ (value) 00022 { 00023 } 00024 00025 CORBA::Policy_ptr 00026 ServantRetentionPolicy::copy (void) 00027 { 00028 ServantRetentionPolicy *copy = 0; 00029 ACE_NEW_THROW_EX (copy, 00030 ServantRetentionPolicy (this->value_), 00031 CORBA::NO_MEMORY ()); 00032 00033 return copy; 00034 } 00035 00036 void 00037 ServantRetentionPolicy::destroy (void) 00038 { 00039 } 00040 00041 ::PortableServer::ServantRetentionPolicyValue 00042 ServantRetentionPolicy::value (void) 00043 { 00044 return this->value_; 00045 } 00046 00047 CORBA::PolicyType 00048 ServantRetentionPolicy::policy_type (void) 00049 { 00050 return ::PortableServer::SERVANT_RETENTION_POLICY_ID; 00051 } 00052 00053 TAO_Cached_Policy_Type 00054 ServantRetentionPolicy::_tao_cached_type (void) const 00055 { 00056 return TAO_CACHED_POLICY_SERVANT_RETENTION; 00057 } 00058 00059 TAO_Policy_Scope 00060 ServantRetentionPolicy::_tao_scope (void) const 00061 { 00062 return TAO_POLICY_POA_SCOPE; 00063 } 00064 } 00065 } 00066 00067 TAO_END_VERSIONED_NAMESPACE_DECL 00068 00069 #endif /* TAO_HAS_MINIMUM_POA == 0 */