PortableGroup_Request_Dispatcher.h

Go to the documentation of this file.
00001 //-*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    PortableGroup_Request_Dispatcher.h
00006  *
00007  *  PortableGroup_Request_Dispatcher.h,v 1.10 2006/03/14 06:14:34 jtc Exp
00008  *
00009  *  A class that strategizes the request dispatching procedure.
00010  *
00011  *  @author  Frank Hunleth <fhunleth@cs.wustl.edu>
00012  */
00013 //=============================================================================
00014 
00015 
00016 #ifndef TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H
00017 #define TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H
00018 
00019 #include /**/ "ace/pre.h"
00020 
00021 #include "tao/Request_Dispatcher.h"
00022 
00023 #include "orbsvcs/PortableGroup/portablegroup_export.h"
00024 #include "orbsvcs/PortableGroup/Portable_Group_Map.h"
00025 #include "orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.h"
00026 
00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00028 
00029 // Forward declarations.
00030 class TAO_PortableGroup_Loader;
00031 
00032 /**
00033  * @class PortableGroup_Request_Dispatcher
00034  *
00035  * @brief A class that strategizes the request dispatching procedure.
00036  *
00037  */
00038 class TAO_PortableGroup_Export PortableGroup_Request_Dispatcher
00039   : public TAO_Request_Dispatcher
00040 {
00041   friend class TAO_GOA;
00042 
00043 public:
00044 
00045   /// Destructor.
00046   virtual ~PortableGroup_Request_Dispatcher (void);
00047 
00048   /**
00049    * Dispatch a request.
00050    */
00051   virtual void dispatch (TAO_ORB_Core *orb_core,
00052                          TAO_ServerRequest &request,
00053                          CORBA::Object_out forward_to
00054                          ACE_ENV_ARG_DECL);
00055 
00056 private:
00057 
00058   /// Hash map containing the GroupId->ObjectKey mappings.
00059   TAO_Portable_Group_Map group_map_;
00060 
00061   /// Registry for all of the group (multicast) acceptors.
00062   TAO_PortableGroup_Acceptor_Registry acceptor_registry_;
00063 
00064 };
00065 
00066 TAO_END_VERSIONED_NAMESPACE_DECL
00067 
00068 #include /**/ "ace/post.h"
00069 
00070 #endif /* TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H */

Generated on Thu Nov 9 14:03:34 2006 for TAO_PortableGroup by doxygen 1.3.6