Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Acceptor_Filter.h

Go to the documentation of this file.
00001 /* -*- C++ -*- */
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Acceptor_Filter.h
00006  *
00007  *  $Id: Acceptor_Filter.h,v 1.1.1.1 2001/12/04 14:34:41 chad Exp $
00008  *
00009  *  @author Marina Spivak (marina@cs.wustl.edu)
00010  *  @author Carlos O'Ryan (coryan@uci.edu)
00011  */
00012 //=============================================================================
00013 
00014 
00015 #ifndef TAO_ACCEPTOR_FILTER_H
00016 #define TAO_ACCEPTOR_FILTER_H
00017 #include "ace/pre.h"
00018 
00019 #include "tao/corbafwd.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 class TAO_MProfile;
00026 
00027 #if defined(_MSC_VER)
00028 #if (_MSC_VER >= 1200)
00029 #pragma warning(push)
00030 #endif /* _MSC_VER >= 1200 */
00031 #pragma warning(disable:4250)
00032 #endif /* _MSC_VER */
00033 
00034 class TAO_Acceptor;
00035 
00036 /**
00037  * @class TAO_Acceptor_Filter
00038  *
00039  * @brief Interface for mprofile creation strategies.
00040  *
00041  * Concrete Acceptor_Filter encapsulates a strategy for populating
00042  * mprofile with profiles: it decides which endpoints are included
00043  * into mprofile and which ones are not.
00044  */
00045 class TAO_Export TAO_Acceptor_Filter
00046 {
00047 public:
00048   virtual ~TAO_Acceptor_Filter (void);
00049 
00050   /**
00051    * Populate <mprofile> with profiles. Profiles are created for
00052    * selected acceptors (endpoints) from the array delimited by
00053    * <acceptors_begin> and <acceptors_end>.
00054    */
00055   virtual int fill_profile (const TAO_ObjectKey &object_key,
00056                             TAO_MProfile &mprofile,
00057                             TAO_Acceptor **acceptors_begin,
00058                             TAO_Acceptor **acceptors_end,
00059                             CORBA::Short priority = TAO_INVALID_PRIORITY) = 0;
00060 
00061   /// Encodes the endpoints in the profiles into the TAO_TAG_ENDPOINTS
00062   /// tag component of profiles.
00063   virtual int encode_endpoints (TAO_MProfile &mprofile) = 0;
00064 };
00065 
00066 #if defined (__ACE_INLINE__)
00067 # include "Acceptor_Filter.i"
00068 #endif /* __ACE_INLINE__ */
00069 
00070 #if defined(_MSC_VER) && (_MSC_VER >= 1200)
00071 #pragma warning(pop)
00072 #endif /* _MSC_VER */
00073 
00074 #include "ace/post.h"
00075 #endif /* TAO_ACCEPTOR_FILTER_H */

Generated on Mon Jun 16 13:47:56 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002