3 //=============================================================================
5 * @file RequestProcessingStrategyServantActivator.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
11 #ifndef TAO_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATOR_H
12 #define TAO_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATOR_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/RequestProcessingStrategyServantManager.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
23 #include "tao/PortableServer/Servant_Location.h"
24 #include "tao/PortableServer/PortableServer.h"
25 #include "tao/PortableServer/ServantActivatorC.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
31 namespace Portable_Server
33 class RequestProcessingStrategyServantActivator
34 : public RequestProcessingStrategyServantManager
37 RequestProcessingStrategyServantActivator () = default;
39 void strategy_cleanup() override
;
41 PortableServer::ServantManager_ptr
get_servant_manager () override
;
43 void set_servant_manager (PortableServer::ServantManager_ptr imgr
) override
;
45 TAO_Servant_Location
locate_servant (
46 const PortableServer::ObjectId
&system_id
,
47 PortableServer::Servant
&servant
) override
;
49 PortableServer::Servant
locate_servant (
50 const char *operation
,
51 const PortableServer::ObjectId
&system_id
,
52 TAO::Portable_Server::Servant_Upcall
&servant_upcall
,
53 TAO::Portable_Server::POA_Current_Impl
&poa_current_impl
,
54 bool &wait_occurred_restart_call
) override
;
56 void cleanup_servant (
57 PortableServer::Servant servant
,
58 const PortableServer::ObjectId
&user_id
) override
;
60 void etherealize_objects (CORBA::Boolean etherealize_objects
) override
;
62 void post_invoke_servant_cleanup(
63 const PortableServer::ObjectId
&system_id
,
64 const TAO::Portable_Server::Servant_Upcall
&servant_upcall
) override
;
67 PortableServer::Servant
incarnate_servant (
68 const PortableServer::ObjectId
& object_id
);
70 void etherealize_servant (const PortableServer::ObjectId
& object_id
,
71 PortableServer::Servant servant
,
72 CORBA::Boolean cleanup_in_progress
);
75 PortableServer::ServantActivator_var servant_activator_
;
76 CORBA::Boolean etherealize_objects_
{ true };
81 TAO_END_VERSIONED_NAMESPACE_DECL
83 #endif /* TAO_HAS_MINIMUM_POA == 0 */
85 #include /**/ "ace/post.h"
86 #endif /* TAO_REQUESTPROCESSINGSTRATEGYSERVANTACTIVATOR_H */