#include <RT_Endpoint_Utils.h>
Static Public Member Functions | |
CORBA::Policy * | policy (TAO_Cached_Policy_Type type, TAO::Profile_Transport_Resolver &r) |
Private Member Functions | |
TAO_RT_Endpoint_Utils () | |
ctor. |
|
ctor.
|
|
Definition at line 20 of file RT_Endpoint_Utils.cpp. References CORBA::Policy::_nil(), ACE_CATCH, ACE_CHECK_RETURN, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_RE_THROW, ACE_TRY, ACE_TRY_CHECK, TAO_RT_Stub::get_cached_policy(), and TAO::unbounded_object_reference_sequence< Policy, Policy_var >::length(). Referenced by TAO_RT_Invocation_Endpoint_Selector::endpoint_from_profile(), and TAO_RT_Invocation_Endpoint_Selector::select_endpoint().
00023 { 00024 CORBA::Policy *policy = CORBA::Policy::_nil (); 00025 00026 TAO_RT_Stub *rt_stub = dynamic_cast<TAO_RT_Stub *> (r.stub ()); 00027 00028 ACE_TRY 00029 { 00030 policy = 00031 rt_stub->get_cached_policy (type 00032 ACE_ENV_ARG_PARAMETER); 00033 ACE_TRY_CHECK; 00034 } 00035 ACE_CATCH (CORBA::INV_POLICY, ex) 00036 { 00037 if (r.inconsistent_policies ()) 00038 { 00039 CORBA::PolicyList *p = r.inconsistent_policies (); 00040 p->length (1); 00041 (*p)[0u] = rt_stub->TAO_Stub::get_cached_policy (type 00042 ACE_ENV_ARG_PARAMETER); 00043 ACE_TRY_CHECK; 00044 } 00045 00046 ACE_RE_THROW; 00047 } 00048 ACE_ENDTRY; 00049 ACE_CHECK_RETURN (CORBA::Policy::_nil ()); 00050 00051 return policy; 00052 } |