diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp new file mode 100644 index 00000000000..26803b15aaf --- /dev/null +++ b/TAO/orbsvcs/orbsvcs/FaultTolerance/FT_ServerPolicyFactory.cpp @@ -0,0 +1,29 @@ +// -*- C++ -*- +// +// $Id$ + +#include "orbsvcs/FaultTolerance/FT_ServerPolicyFactory.h" +#include "orbsvcs/FaultTolerance/FT_ServerPolicy_i.h" +#include "orbsvcs/FT_CORBA_ORBC.h" +#include "tao/PolicyC.h" + + +ACE_RCSID (FaultTolerance, + FT_ServerPolicyFactory, + "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +CORBA::Policy_ptr +TAO_FT_ServerPolicyFactory::create_policy ( + CORBA::PolicyType type, + const CORBA::Any &val) +{ + + if (type == FT::HEARTBEAT_ENABLED_POLICY) + return TAO_FT_Heart_Beat_Enabled_Policy::create (val); + + throw CORBA::PolicyError (CORBA::BAD_POLICY_TYPE); +} + +TAO_END_VERSIONED_NAMESPACE_DECL |