#include <RT_Endpoint_Utils.h>
Static Public Member Functions | |
static CORBA::Policy * | policy (TAO_Cached_Policy_Type type, TAO::Profile_Transport_Resolver &r) |
Private Member Functions | |
TAO_RT_Endpoint_Utils () | |
ctor. |
Definition at line 43 of file RT_Endpoint_Utils.h.
TAO_RT_Endpoint_Utils::TAO_RT_Endpoint_Utils | ( | ) | [private] |
ctor.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::Policy * TAO_RT_Endpoint_Utils::policy | ( | TAO_Cached_Policy_Type | type, | |
TAO::Profile_Transport_Resolver & | r | |||
) | [static] |
Definition at line 22 of file RT_Endpoint_Utils.cpp.
References CORBA::Policy::_nil(), and TAO_RT_Stub::get_cached_policy().
Referenced by TAO_RT_Invocation_Endpoint_Selector::endpoint_from_profile(), and TAO_RT_Invocation_Endpoint_Selector::select_endpoint().
00024 { 00025 CORBA::Policy *policy = CORBA::Policy::_nil (); 00026 00027 TAO_RT_Stub * const rt_stub = 00028 dynamic_cast<TAO_RT_Stub *> (r.stub ()); 00029 00030 if (!rt_stub) 00031 throw CORBA::INTERNAL (); 00032 00033 try 00034 { 00035 policy = 00036 rt_stub->get_cached_policy (type); 00037 } 00038 catch (const ::CORBA::INV_POLICY&) 00039 { 00040 if (r.inconsistent_policies ()) 00041 { 00042 CORBA::PolicyList *p = r.inconsistent_policies (); 00043 p->length (1); 00044 (*p)[0u] = rt_stub->TAO_Stub::get_cached_policy (type); 00045 } 00046 00047 throw; 00048 } 00049 00050 return policy; 00051 }