TAO_RT_Endpoint_Utils Class Reference

#include <RT_Endpoint_Utils.h>

List of all members.

Static Public Member Functions

CORBA::Policypolicy (TAO_Cached_Policy_Type type, TAO::Profile_Transport_Resolver &r)

Private Member Functions

 TAO_RT_Endpoint_Utils ()
 ctor.


Constructor & Destructor Documentation

TAO_RT_Endpoint_Utils::TAO_RT_Endpoint_Utils  )  [private]
 

ctor.


Member Function Documentation

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 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 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:59:29 2006 for TAO_RTCORBA by doxygen 1.3.6