diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp new file mode 100644 index 00000000000..25e079b7692 --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicy_i.cpp @@ -0,0 +1,82 @@ +//$Id$ +#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.h" + +#include "tao/debug.h" +#include "tao/ORB_Constants.h" +#include "tao/AnyTypeCode/Any.h" + +#if !defined (__ACE_INLINE__) +#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.inl" +#endif /* __ACE_INLINE__ */ + +ACE_RCSID(FaultTolerance, FT_ServerPolicy_i, "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +CORBA::Boolean +TAO_FT_Heart_Beat_Enabled_Policy::heartbeat_enabled_policy_value ( + ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return this->heartbeat_enabled_value_; +} + + +CORBA::Policy_ptr +TAO_FT_Heart_Beat_Enabled_Policy::create (const CORBA::Any& val + ACE_ENV_ARG_DECL) +{ + CORBA::Boolean value; + + if ((val >>= CORBA::Any::to_boolean (value)) == 0) + ACE_THROW_RETURN (CORBA::PolicyError (CORBA::BAD_POLICY_VALUE), + CORBA::Policy::_nil ()); + + TAO_FT_Heart_Beat_Enabled_Policy *tmp; + ACE_NEW_THROW_EX (tmp, + TAO_FT_Heart_Beat_Enabled_Policy (value), + CORBA::NO_MEMORY (TAO::VMCID, + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (CORBA::Policy::_nil ()); + + return tmp; +} + +CORBA::PolicyType +TAO_FT_Heart_Beat_Enabled_Policy::policy_type (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return FT::HEARTBEAT_ENABLED_POLICY; +} + + +CORBA::Policy_ptr +TAO_FT_Heart_Beat_Enabled_Policy::copy (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + TAO_FT_Heart_Beat_Enabled_Policy * tmp; + ACE_NEW_THROW_EX (tmp, TAO_FT_Heart_Beat_Enabled_Policy (*this), + CORBA::NO_MEMORY (TAO::VMCID, + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (CORBA::Policy::_nil ()); + + return tmp; +} + +TAO_FT_Heart_Beat_Enabled_Policy * +TAO_FT_Heart_Beat_Enabled_Policy::clone (void) const +{ + TAO_FT_Heart_Beat_Enabled_Policy *copy = 0; + ACE_NEW_RETURN (copy, + TAO_FT_Heart_Beat_Enabled_Policy (*this), + 0); + return copy; +} + +void +TAO_FT_Heart_Beat_Enabled_Policy::destroy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ +} + +TAO_END_VERSIONED_NAMESPACE_DECL |