diff options
Diffstat (limited to 'TAO/tao/Messaging/Messaging_PolicyFactory.cpp')
-rw-r--r-- | TAO/tao/Messaging/Messaging_PolicyFactory.cpp | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/TAO/tao/Messaging/Messaging_PolicyFactory.cpp b/TAO/tao/Messaging/Messaging_PolicyFactory.cpp index 0cae6016abf..4ffdfedb4ee 100644 --- a/TAO/tao/Messaging/Messaging_PolicyFactory.cpp +++ b/TAO/tao/Messaging/Messaging_PolicyFactory.cpp @@ -1,14 +1,11 @@ -// -*- C++ -*- -// -// $Id$ - #include "Messaging_PolicyFactory.h" -ACE_RCSID (tao, Messaging_PolicyFactory, "$Id$") - - +ACE_RCSID (tao, + Messaging_PolicyFactory, + "$Id$") #include "Messaging_Policy_i.h" + #include "tao/PolicyC.h" #include "tao/Buffering_Constraint_Policy.h" @@ -20,52 +17,56 @@ TAO_Messaging_PolicyFactory::create_policy ( ACE_THROW_SPEC ((CORBA::SystemException, CORBA::PolicyError)) { - switch (type) - { - #if (TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1) - - case TAO_MESSAGING_RELATIVE_RT_TIMEOUT_POLICY_TYPE: - return TAO_RelativeRoundtripTimeoutPolicy::create ( - value - ACE_ENV_ARG_PARAMETER); - + if (type == Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE) + return TAO_RelativeRoundtripTimeoutPolicy::create (value + ACE_ENV_ARG_PARAMETER); #endif /* TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1 */ - #if (TAO_HAS_SYNC_SCOPE_POLICY == 1) - - case TAO_MESSAGING_SYNC_SCOPE_POLICY_TYPE: - return TAO_Sync_Scope_Policy::create (value - ACE_ENV_ARG_PARAMETER); - + if (type == Messaging::SYNC_SCOPE_POLICY_TYPE) + return TAO_Sync_Scope_Policy::create (value + ACE_ENV_ARG_PARAMETER); #endif /* TAO_HAS_SYNC_SCOPE_POLICY == 1 */ #if (TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1) - - case TAO_BUFFERING_CONSTRAINT_POLICY_TYPE: - return TAO_Buffering_Constraint_Policy::create (value - ACE_ENV_ARG_PARAMETER); - + if (type == TAO_BUFFERING_CONSTRAINT_POLICY_TYPE) + return TAO_Buffering_Constraint_Policy::create (value + ACE_ENV_ARG_PARAMETER); #endif /* TAO_HAS_BUFFERING_CONSTRAINT_POLICY == 1 */ - case TAO_MESSAGING_REBIND_POLICY_TYPE: - case TAO_MESSAGING_REQUEST_PRIORITY_POLICY_TYPE: - case TAO_MESSAGING_REPLY_PRIORITY_POLICY_TYPE: - case TAO_MESSAGING_REQUEST_START_TIME_POLICY_TYPE: - case TAO_MESSAGING_REQUEST_END_TIME_POLICY_TYPE: - case TAO_MESSAGING_REPLY_START_TIME_POLICY_TYPE: - case TAO_MESSAGING_REPLY_END_TIME_POLICY_TYPE: - case TAO_MESSAGING_RELATIVE_REQ_TIMEOUT_POLICY_TYPE: - case TAO_MESSAGING_ROUTING_POLICY_TYPE: - case TAO_MESSAGING_MAX_HOPS_POLICY_TYPE: - case TAO_MESSAGING_QUEUE_ORDER_POLICY_TYPE: - ACE_THROW_RETURN (CORBA::PolicyError (CORBA::UNSUPPORTED_POLICY), - CORBA::Policy::_nil ()); - - default: - break; - } + if ( +#if (TAO_HAS_REBIND_POLICY == 1) + type == Messaging::REBIND_POLICY_TYPE || +#endif /* TAO_HAS_REBIND_POLICY == 1 */ +#if (TAO_HAS_PRIORITY_POLICIES == 1) + type == Messaging::REQUEST_PRIORITY_POLICY_TYPE || + type == Messaging::REPLY_PRIORITY_POLICY_TYPE || +#endif /* TAO_HAS_PRIORITY_POLICIES == 1 */ +#if (TAO_HAS_REQUEST_START_TIME_POLICY == 1) + type == Messaging::REQUEST_START_TIME_POLICY_TYPE || +#endif /* TAO_HAS_REQUEST_START_TIME_POLICY == 1 */ +#if (TAO_HAS_REQUEST_END_TIME_POLICY == 1) + type == Messaging::REQUEST_END_TIME_POLICY_TYPE || +#endif /* TAO_HAS_REQUEST_END_TIME_POLICY == 1 */ +#if (TAO_HAS_REPLY_START_TIME_POLICY == 1) + type == Messaging::REPLY_START_TIME_POLICY_TYPE || +#endif /* TAO_HAS_REPLY_START_TIME_POLICY == 1 */ +#if (TAO_HAS_REPLY_END_TIME_POLICY == 1) + type == Messaging::REPLY_END_TIME_POLICY_TYPE || +#endif /* TAO_HAS_REPLY_END_TIME_POLICY == 1 */ +#if (TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY == 1) + type == Messaging::RELATIVE_REQ_TIMEOUT_POLICY_TYPE || +#endif /* TAO_HAS_RELATIVE_REQUEST_TIMEOUT_POLICY == 1 */ +#if (TAO_HAS_ROUTING_POLICY == 1) + type == Messaging::ROUTING_POLICY_TYPE || +#endif /* TAO_HAS_ROUTING_POLICY == 1 */ +#if (TAO_HAS_MAX_HOPS_POLICY == 1) + type == Messaging::MAX_HOPS_POLICY_TYPE || +#endif /* TAO_HAS_MAX_HOPS_POLICY == 1 */ + type == Messaging::QUEUE_ORDER_POLICY_TYPE) + ACE_THROW_RETURN (CORBA::PolicyError (CORBA::UNSUPPORTED_POLICY), + CORBA::Policy::_nil ()); ACE_UNUSED_ARG (value); |