RT_Invocation_Endpoint_Selectors.h

Go to the documentation of this file.
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 */

Generated on Tue Feb 2 17:42:49 2010 for TAO_RTCORBA by  doxygen 1.4.7