Merge pull request #2316 from jwillemsen/jwi-taskcommenttypo
[ACE_TAO.git] / TAO / tao / RTPortableServer / RT_Servant_Dispatcher.h
blob4806ddf6609301e54606d3689d8f96fd7ff36b5e
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file RT_Servant_Dispatcher.h
7 * @author Frank Hunleth (fhunleth@cs.wustl.edu)
8 */
9 //=============================================================================
12 #ifndef TAO_RT_SERVANT_DISPATCHER_H
13 #define TAO_RT_SERVANT_DISPATCHER_H
14 #include /**/ "ace/pre.h"
16 #include "tao/RTPortableServer/rtportableserver_export.h"
17 #include "tao/orbconf.h"
19 #if defined (TAO_HAS_CORBA_MESSAGING) && TAO_HAS_CORBA_MESSAGING != 0
21 #define TAO_RTCORBA_SAFE_INCLUDE
22 #include "tao/RTCORBA/RTCORBAC.h"
23 #undef TAO_RTCORBA_SAFE_INCLUDE
25 #if !defined (ACE_LACKS_PRAGMA_ONCE)
26 # pragma once
27 #endif /* ACE_LACKS_PRAGMA_ONCE */
29 #include "tao/PortableServer/Servant_Dispatcher.h"
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
33 /**
34 * @class TAO_RT_Servant_Dispatcher
36 * @brief Concrete instantiation of the Servant_Dispatcher strategy.
38 class TAO_RTPortableServer_Export TAO_RT_Servant_Dispatcher
39 : public TAO_Servant_Dispatcher
41 public:
42 ~TAO_RT_Servant_Dispatcher () override = default;
44 /// Pre_invoke remote request.
45 void pre_invoke_remote_request (TAO_Root_POA &poa,
46 CORBA::Short servant_priority,
47 TAO_ServerRequest &req,
48 TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override;
50 /// Pre_invoke collocated request.
51 void pre_invoke_collocated_request (TAO_Root_POA &poa,
52 CORBA::Short servant_priority,
53 TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override;
55 /// Post_invoke request.
56 void post_invoke (TAO_Root_POA &poa,
57 TAO::Portable_Server::Servant_Upcall::Pre_Invoke_State &pre_invoke_state) override;
59 /// Factory method for creating new POA's.
60 TAO_Root_POA *create_Root_POA (const ACE_CString &name,
61 PortableServer::POAManager_ptr poa_manager,
62 const TAO_POA_Policy_Set &policies,
63 ACE_Lock &lock,
64 TAO_SYNCH_MUTEX &thread_lock,
65 TAO_ORB_Core &orb_core,
66 TAO_Object_Adapter *object_adapter) override;
69 TAO_END_VERSIONED_NAMESPACE_DECL
71 #endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */
73 #include /**/ "ace/post.h"
75 #endif /* TAO_RT_SERVANT_DISPATCHER_H */