RT_Servant_Dispatcher.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    RT_Servant_Dispatcher.h
00006  *
00007  *  RT_Servant_Dispatcher.h,v 1.14 2006/04/26 13:42:42 mesnier_p Exp
00008  *
00009  *  @author Frank Hunleth (fhunleth@cs.wustl.edu)
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_RT_SERVANT_DISPATCHER_H
00015 #define TAO_RT_SERVANT_DISPATCHER_H
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "tao/RTPortableServer/rtportableserver_export.h"
00019 #include "tao/orbconf.h"
00020 
00021 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
00022 
00023 #define TAO_RTCORBA_SAFE_INCLUDE
00024 #include "tao/RTCORBA/RTCORBAC.h"
00025 #undef TAO_RTCORBA_SAFE_INCLUDE
00026 
00027 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00028 # pragma once
00029 #endif /* ACE_LACKS_PRAGMA_ONCE */
00030 
00031 #include "tao/PortableServer/Servant_Dispatcher.h"
00032 
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034 
00035 /**
00036  * @class TAO_RT_Servant_Dispatcher
00037  *
00038  * @brief Concrete instantiation of the Servant_Dispatcher strategy.
00039  *
00040  */
00041 class TAO_RTPortableServer_Export TAO_RT_Servant_Dispatcher
00042   : public TAO_Servant_Dispatcher
00043 {
00044 public:
00045   virtual ~TAO_RT_Servant_Dispatcher (void);
00046 
00047   /// Pre_invoke remote request.
00048   void pre_invoke_remote_request (TAO_Root_POA &poa,
00049                                   CORBA::Short servant_priority,
00050                                   TAO_ServerRequest &req,
00051                                   TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state
00052                                   ACE_ENV_ARG_DECL);
00053 
00054   /// Pre_invoke collocated request.
00055   void pre_invoke_collocated_request (TAO_Root_POA &poa,
00056                                       CORBA::Short servant_priority,
00057                                       TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state
00058                                       ACE_ENV_ARG_DECL);
00059 
00060   /// Post_invoke request.
00061   void post_invoke (TAO_Root_POA &poa,
00062                     TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state);
00063 
00064   /// Factory method for creating new POA's.
00065   TAO_Root_POA *create_Root_POA (const ACE_CString &name,
00066                                  PortableServer::POAManager_ptr poa_manager,
00067                                  const TAO_POA_Policy_Set &policies,
00068                                  ACE_Lock &lock,
00069                                  TAO_SYNCH_MUTEX &thread_lock,
00070                                  TAO_ORB_Core &orb_core,
00071                                  TAO_Object_Adapter *object_adapter
00072                                  ACE_ENV_ARG_DECL);
00073 };
00074 
00075 TAO_END_VERSIONED_NAMESPACE_DECL
00076 
00077 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
00078 
00079 #include /**/ "ace/post.h"
00080 
00081 #endif /* TAO_RT_SERVANT_DISPATCHER_H */

Generated on Thu Nov 9 12:55:46 2006 for TAO_RTPortableServer by doxygen 1.3.6