#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 22 of file RT_Endpoint_Utils.cpp. References CORBA::Policy::_nil(), TAO_RT_Stub::get_cached_policy(), TAO::Profile_Transport_Resolver::inconsistent_policies(), and TAO::Profile_Transport_Resolver::stub(). 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 } |