PortableGroup_Request_Dispatcher.h

Go to the documentation of this file.
00001 //-*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    PortableGroup_Request_Dispatcher.h
00006  *
00007  *  $Id: PortableGroup_Request_Dispatcher.h 76589 2007-01-25 18:04:11Z elliott_c $
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 
00055 private:
00056 
00057   /// Hash map containing the GroupId->ObjectKey mappings.
00058   TAO_Portable_Group_Map group_map_;
00059 
00060   /// Registry for all of the group (multicast) acceptors.
00061   TAO_PortableGroup_Acceptor_Registry acceptor_registry_;
00062 
00063 };
00064 
00065 TAO_END_VERSIONED_NAMESPACE_DECL
00066 
00067 #include /**/ "ace/post.h"
00068 
00069 #endif /* TAO_PORTABLEGROUP_REQUEST_DISPATCHER_H */

Generated on Sun Jan 27 16:22:31 2008 for TAO_PortableGroup by doxygen 1.3.6