Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / TAO / tao / PortableServer / RequestProcessingStrategyServantLocator.h
blobc6f8c3a4ff6afaae8db3851d695bc846ed1f3458
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file RequestProcessingStrategyServantLocator.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
8 */
9 //=============================================================================
11 #ifndef TAO_REQUESTPROCESSINGSTRATEGYSERVANTLOCATOR_H
12 #define TAO_REQUESTPROCESSINGSTRATEGYSERVANTLOCATOR_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/RequestProcessingStrategyServantManager.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # 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/ServantLocatorC.h"
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 namespace TAO
31 namespace Portable_Server
33 class RequestProcessingStrategyServantLocator
34 : public RequestProcessingStrategyServantManager
36 public:
37 RequestProcessingStrategyServantLocator () = 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 void post_invoke_servant_cleanup(
50 const PortableServer::ObjectId &system_id,
51 const TAO::Portable_Server::Servant_Upcall &servant_upcall) override;
53 PortableServer::Servant locate_servant (
54 const char *operation,
55 const PortableServer::ObjectId &system_id,
56 TAO::Portable_Server::Servant_Upcall &servant_upcall,
57 TAO::Portable_Server::POA_Current_Impl &poa_current_impl,
58 bool &wait_occurred_restart_call) override;
60 void cleanup_servant (
61 PortableServer::Servant servant,
62 const PortableServer::ObjectId &user_id) override;
64 void etherealize_objects (CORBA::Boolean etherealize_objects) override;
66 private:
67 PortableServer::ServantLocator_var servant_locator_;
72 TAO_END_VERSIONED_NAMESPACE_DECL
74 #endif /* TAO_HAS_MINIMUM_POA == 0 */
76 #include /**/ "ace/post.h"
77 #endif /* TAO_REQUESTPROCESSINGSTRATEGYSERVANTLOCATOR_H */