summaryrefslogtreecommitdiff
path: root/ACE/TAO/tao/PortableServer/LifespanPolicy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/tao/PortableServer/LifespanPolicy.cpp')
-rw-r--r--ACE/TAO/tao/PortableServer/LifespanPolicy.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/ACE/TAO/tao/PortableServer/LifespanPolicy.cpp b/ACE/TAO/tao/PortableServer/LifespanPolicy.cpp
new file mode 100644
index 00000000000..d478bece27d
--- /dev/null
+++ b/ACE/TAO/tao/PortableServer/LifespanPolicy.cpp
@@ -0,0 +1,68 @@
+#include "tao/PortableServer/LifespanPolicy.h"
+#include "tao/PortableServer/PortableServer.h"
+
+ACE_RCSID (PortableServer,
+ LifespanPolicy,
+ "$Id$")
+
+#include "ace/CORBA_macros.h"
+
+#if !defined (CORBA_E_MICRO)
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+namespace TAO
+{
+ namespace Portable_Server
+ {
+ LifespanPolicy::LifespanPolicy (
+ ::PortableServer::LifespanPolicyValue value) :
+ value_ (value)
+ {
+ }
+
+ CORBA::Policy_ptr
+ LifespanPolicy::copy (void)
+ {
+ LifespanPolicy *copy = 0;
+ ACE_NEW_THROW_EX (copy,
+ LifespanPolicy (this->value_),
+ CORBA::NO_MEMORY ());
+
+ return copy;
+ }
+
+ void
+ LifespanPolicy::destroy (void)
+ {
+ }
+
+ ::PortableServer::LifespanPolicyValue
+ LifespanPolicy::value (void)
+ {
+ return value_;
+ }
+
+ CORBA::PolicyType
+ LifespanPolicy::policy_type (void)
+ {
+ 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;
+ }
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif