00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file RT_Invocation_Endpoint_Selectors.h 00006 * 00007 * $Id: RT_Invocation_Endpoint_Selectors.h 79829 2007-10-23 12:39:52Z johnnyw $ 00008 * 00009 * Strategies for selecting profile/endpoint from an IOR for making an 00010 * invocation. 00011 * 00012 * 00013 * @author Priyanka Gontla <pgontla@ece.uci.edu> 00014 */ 00015 //============================================================================= 00016 00017 00018 #ifndef TAO_RT_INVOCATION_ENDPOINT_SELECTOR_H 00019 #define TAO_RT_INVOCATION_ENDPOINT_SELECTOR_H 00020 00021 #include /**/ "ace/pre.h" 00022 00023 #include "tao/orbconf.h" 00024 00025 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00026 # pragma once 00027 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00028 00029 00030 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0 00031 00032 #include "tao/RTCORBA/RTCORBA.h" 00033 #include "tao/RTCORBA/rtcorba_export.h" 00034 #include "tao/Invocation_Endpoint_Selectors.h" 00035 00036 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00037 00038 /** 00039 * @class TAO_RT_Invocation_Endpoint_Selector 00040 * 00041 * @brief TAO_RT_Invocation_Endpoint_Selector 00042 * 00043 * This strategy is used when the only policy that might be set is the 00044 * private connection policy. 00045 * 00046 **/ 00047 class TAO_RTCORBA_Export TAO_RT_Invocation_Endpoint_Selector 00048 : public TAO_Invocation_Endpoint_Selector 00049 { 00050 public: 00051 00052 virtual void select_endpoint (TAO::Profile_Transport_Resolver *r, 00053 ACE_Time_Value *val); 00054 00055 protected: 00056 void select_endpoint_based_on_client_protocol_policy ( 00057 TAO::Profile_Transport_Resolver &r, 00058 RTCORBA::ClientProtocolPolicy_ptr client_protocol_policy, 00059 RTCORBA::ProtocolList &protocols, 00060 ACE_Time_Value *val); 00061 00062 int endpoint_from_profile (TAO::Profile_Transport_Resolver &r, 00063 ACE_Time_Value *v); 00064 }; 00065 00066 TAO_END_VERSIONED_NAMESPACE_DECL 00067 00068 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */ 00069 00070 #include /**/ "ace/post.h" 00071 00072 #endif /* TAO_RT_INVOCATION_ENDPOINT_SELECTOR_H */