diff options
Diffstat (limited to 'TAO/tao/PortableServer/LifespanPolicy.cpp')
-rw-r--r-- | TAO/tao/PortableServer/LifespanPolicy.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/TAO/tao/PortableServer/LifespanPolicy.cpp b/TAO/tao/PortableServer/LifespanPolicy.cpp new file mode 100644 index 00000000000..377b34fedd6 --- /dev/null +++ b/TAO/tao/PortableServer/LifespanPolicy.cpp @@ -0,0 +1,64 @@ +#include "LifespanPolicy.h" +#include "PortableServer.h" + +ACE_RCSID (PortableServer, + LifespanPolicy, + "$Id$") + +namespace TAO +{ + namespace Portable_Server + { + LifespanPolicy::LifespanPolicy ( + ::PortableServer::LifespanPolicyValue value) : + value_ (value) + { + } + + CORBA::Policy_ptr + LifespanPolicy::copy (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + LifespanPolicy *copy = 0; + ACE_NEW_THROW_EX (copy, + LifespanPolicy (this->value_), + CORBA::NO_MEMORY ()); + ACE_CHECK_RETURN (CORBA::Policy::_nil ()); + + return copy; + } + + void + LifespanPolicy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + } + + ::PortableServer::LifespanPolicyValue + LifespanPolicy::value (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + return value_; + } + + CORBA::PolicyType + LifespanPolicy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) + { + return ::PortableServer::LIFESPAN_POLICY_ID; + } + + TAO_Cached_Policy_Type + LifespanPolicy::_tao_cached_type (void) const + { + return TAO_CACHED_POLICY_LIFESPAN; + } + + TAO_Policy_Scope + LifespanPolicy::_tao_scope (void) const + { + return TAO_POLICY_POA_SCOPE; + } + } +} + |