00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_REQUESTPROCESSINGSTRATEGYAOMONLY_H
00014 #define TAO_REQUESTPROCESSINGSTRATEGYAOMONLY_H
00015 #include "ace/pre.h"
00016
00017 #include "tao/PortableServer/RequestProcessingStrategy.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "tao/PortableServer/Servant_Location.h"
00024 #include "tao/PortableServer/PortableServer.h"
00025
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027
00028 namespace TAO
00029 {
00030 namespace Portable_Server
00031 {
00032
00033
00034
00035
00036
00037 class RequestProcessingStrategyAOMOnly
00038 : public RequestProcessingStrategy
00039 {
00040 public:
00041 RequestProcessingStrategyAOMOnly (void);
00042
00043 #if (TAO_HAS_MINIMUM_POA == 0)
00044
00045 PortableServer::ServantManager_ptr
00046 get_servant_manager (ACE_ENV_SINGLE_ARG_DECL)
00047 ACE_THROW_SPEC ((CORBA::SystemException,
00048 PortableServer::POA::WrongPolicy));
00049
00050 void
00051 set_servant_manager (PortableServer::ServantManager_ptr imgr
00052 ACE_ENV_ARG_DECL)
00053 ACE_THROW_SPEC ((CORBA::SystemException,
00054 PortableServer::POA::WrongPolicy));
00055
00056 void
00057 set_servant (PortableServer::Servant servant
00058 ACE_ENV_ARG_DECL)
00059 ACE_THROW_SPEC ((CORBA::SystemException,
00060 PortableServer::POA::WrongPolicy));
00061
00062 #endif
00063
00064 PortableServer::Servant
00065 get_servant (ACE_ENV_SINGLE_ARG_DECL)
00066 ACE_THROW_SPEC ((CORBA::SystemException,
00067 PortableServer::POA::WrongPolicy));
00068
00069 virtual
00070 TAO_SERVANT_LOCATION
00071 locate_servant (const PortableServer::ObjectId &system_id,
00072 PortableServer::Servant &servant
00073 ACE_ENV_ARG_DECL);
00074
00075 virtual
00076 PortableServer::Servant
00077 locate_servant (const char *operation,
00078 const PortableServer::ObjectId &system_id,
00079 TAO::Portable_Server::Servant_Upcall &servant_upcall,
00080 TAO::Portable_Server::POA_Current_Impl &poa_current_impl,
00081 int &wait_occurred_restart_call
00082 ACE_ENV_ARG_DECL);
00083
00084 virtual PortableServer::Servant system_id_to_servant (
00085 const PortableServer::ObjectId &system_id
00086 ACE_ENV_ARG_DECL);
00087
00088 virtual PortableServer::Servant id_to_servant (
00089 const PortableServer::ObjectId &id
00090 ACE_ENV_ARG_DECL)
00091 ACE_THROW_SPEC ((CORBA::SystemException,
00092 PortableServer::POA::ObjectNotActive,
00093 PortableServer::POA::WrongPolicy));
00094
00095 virtual void cleanup_servant (
00096 PortableServer::Servant servant,
00097 const PortableServer::ObjectId &user_id
00098 ACE_ENV_ARG_DECL);
00099
00100 virtual void etherealize_objects (CORBA::Boolean etherealize_objects);
00101
00102 virtual PortableServer::ObjectId *servant_to_id (
00103 PortableServer::Servant servant
00104 ACE_ENV_ARG_DECL)
00105 ACE_THROW_SPEC ((CORBA::SystemException,
00106 PortableServer::POA::ServantNotActive,
00107 PortableServer::POA::WrongPolicy));
00108
00109 virtual void post_invoke_servant_cleanup(
00110 const PortableServer::ObjectId &system_id,
00111 const TAO::Portable_Server::Servant_Upcall &servant_upcall);
00112
00113 virtual ::PortableServer::RequestProcessingPolicyValue type() const;
00114 };
00115 }
00116 }
00117
00118 TAO_END_VERSIONED_NAMESPACE_DECL
00119
00120 #include "ace/post.h"
00121 #endif