Acceptor_Filter.h

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

Generated on Thu Nov 9 11:54:07 2006 for TAO by doxygen 1.3.6