Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / PortableServer / RequestProcessingStrategy.h
blob3a25f9182bef0780294519f22e5773b0f49e9bc1
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file RequestProcessingStrategy.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
8 */
9 //=============================================================================
11 #ifndef TAO_REQUEST_PROCESSING_STRATEGY_H
12 #define TAO_REQUEST_PROCESSING_STRATEGY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/PortableServer/PortableServer.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/PortableServer/Servant_Location.h"
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
25 namespace PortableServer
27 class ServantManager;
28 typedef ServantManager *ServantManager_ptr;
31 namespace TAO
33 namespace Portable_Server
35 class Servant_Upcall;
36 class POA_Current_Impl;
40 class TAO_Root_POA;
42 namespace TAO
44 namespace Portable_Server
46 class RequestProcessingStrategy
48 public:
49 RequestProcessingStrategy () = default;
50 virtual ~RequestProcessingStrategy () = default;
52 virtual void strategy_init(TAO_Root_POA *poa);
54 virtual void strategy_cleanup();
56 #if (TAO_HAS_MINIMUM_POA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO)
57 virtual PortableServer::ServantManager_ptr get_servant_manager () = 0;
59 virtual void set_servant_manager (
60 PortableServer::ServantManager_ptr imgr) = 0;
62 virtual void set_servant (PortableServer::Servant servant) = 0;
64 virtual PortableServer::Servant get_servant () = 0;
65 #endif /* TAO_HAS_MINIMUM_POA == 0 !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) */
67 virtual TAO_Servant_Location locate_servant (
68 const PortableServer::ObjectId &system_id,
69 PortableServer::Servant &servant) = 0;
71 virtual PortableServer::Servant locate_servant (
72 const char *operation,
73 const PortableServer::ObjectId &system_id,
74 TAO::Portable_Server::Servant_Upcall &servant_upcall,
75 TAO::Portable_Server::POA_Current_Impl &poa_current_impl,
76 bool &wait_occurred_restart_call) = 0;
78 virtual void cleanup_servant (
79 PortableServer::Servant servant,
80 const PortableServer::ObjectId &user_id) = 0;
82 virtual PortableServer::Servant system_id_to_servant (
83 const PortableServer::ObjectId &system_id) = 0;
85 virtual PortableServer::Servant id_to_servant (
86 const PortableServer::ObjectId &id) = 0;
88 virtual void etherealize_objects (CORBA::Boolean etherealize_objects) = 0;
90 virtual PortableServer::ObjectId *servant_to_id (
91 PortableServer::Servant servant) = 0;
93 virtual void post_invoke_servant_cleanup(
94 const PortableServer::ObjectId &system_id,
95 const TAO::Portable_Server::Servant_Upcall &servant_upcall) = 0;
97 protected:
98 TAO_Root_POA* poa_ {};
103 TAO_END_VERSIONED_NAMESPACE_DECL
105 #include /**/ "ace/post.h"
106 #endif /* TAO_REQUEST_PROCESSING_STRATEGY_H */