diff options
Diffstat (limited to 'TAO/tao/Request_Dispatcher.h')
-rw-r--r-- | TAO/tao/Request_Dispatcher.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/TAO/tao/Request_Dispatcher.h b/TAO/tao/Request_Dispatcher.h new file mode 100644 index 00000000000..ce097986e58 --- /dev/null +++ b/TAO/tao/Request_Dispatcher.h @@ -0,0 +1,68 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file Request_Dispatcher.h + * + * $Id$ + * + * A class that strategizes the request dispatching procedure. + * + * @author Frank Hunleth <fhunleth@cs.wustl.edu> + */ +//============================================================================= + + +#ifndef TAO_REQUEST_DISPATCHER_H +#define TAO_REQUEST_DISPATCHER_H + +#include /**/ "ace/pre.h" + +#include "tao/SystemException.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Objref_VarOut_T.h" +#include "tao/Pseudo_VarOut_T.h" + + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +class TAO_ORB_Core; +class TAO_ServerRequest; + +namespace CORBA +{ + class Object; + typedef TAO_Pseudo_Var_T<Object> Object_var; + typedef TAO_Pseudo_Out_T<Object> Object_out; +} + +/** + * @class TAO_Request_Dispatcher + * + * @brief A class that strategizes the request dispatching procedure. + * + */ +class TAO_Export TAO_Request_Dispatcher +{ +public: + /// Destructor. + virtual ~TAO_Request_Dispatcher (void); + + /** + * Dispatch a request. + */ + virtual void dispatch (TAO_ORB_Core *orb_core, + TAO_ServerRequest &request, + CORBA::Object_out forward_to + ACE_ENV_ARG_DECL); +}; + +TAO_END_VERSIONED_NAMESPACE_DECL + +#include /**/ "ace/post.h" + +#endif /* TAO_REQUEST_DISPATCHER_H */ |