3 //=============================================================================
5 * @file RequestProcessingStrategyDefaultServant.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
11 #ifndef TAO_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANT_H
12 #define TAO_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANT_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/RequestProcessingStrategy.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/PortableServer/Servant_Base.h"
23 #include "tao/PortableServer/Servant_Location.h"
24 #include "tao/PortableServer/PortableServer.h"
26 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
28 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
34 namespace Portable_Server
36 class RequestProcessingStrategyDefaultServant
37 : public RequestProcessingStrategy
40 RequestProcessingStrategyDefaultServant () = default;
42 void strategy_cleanup() override
;
44 PortableServer::ServantManager_ptr
get_servant_manager () override
;
46 void set_servant_manager (PortableServer::ServantManager_ptr imgr
) override
;
48 PortableServer::Servant
get_servant () override
;
50 void set_servant (PortableServer::Servant servant
) override
;
52 TAO_Servant_Location
locate_servant (
53 const PortableServer::ObjectId
&system_id
,
54 PortableServer::Servant
&servant
) override
;
56 PortableServer::Servant
locate_servant (
57 const char *operation
,
58 const PortableServer::ObjectId
&system_id
,
59 TAO::Portable_Server::Servant_Upcall
&servant_upcall
,
60 TAO::Portable_Server::POA_Current_Impl
&poa_current_impl
,
61 bool &wait_occurred_restart_call
) override
;
63 PortableServer::Servant
system_id_to_servant (
64 const PortableServer::ObjectId
&system_id
) override
;
66 PortableServer::Servant
id_to_servant (
67 const PortableServer::ObjectId
&id
) override
;
69 void cleanup_servant (
70 PortableServer::Servant servant
,
71 const PortableServer::ObjectId
&user_id
) override
;
73 void etherealize_objects (CORBA::Boolean etherealize_objects
) override
;
75 PortableServer::ObjectId
*servant_to_id (
76 PortableServer::Servant servant
) override
;
78 void post_invoke_servant_cleanup(
79 const PortableServer::ObjectId
&system_id
,
80 const TAO::Portable_Server::Servant_Upcall
&servant_upcall
) override
;
83 PortableServer::ServantBase_var default_servant_
{};
88 TAO_END_VERSIONED_NAMESPACE_DECL
90 #endif /* TAO_HAS_MINIMUM_POA == 0 */
92 #include /**/ "ace/post.h"
93 #endif /* TAO_REQUESTPROCESSINGSTRATEGYDEFAULTSERVANT_H */