Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_SERVANT_RETENTION_STRATEGY_NON_RETAIN_H
00014 #define TAO_SERVANT_RETENTION_STRATEGY_NON_RETAIN_H
00015 #include "ace/pre.h"
00016
00017 #include "tao/PortableServer/ServantRetentionStrategy.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "tao/PortableServer/Servant_Location.h"
00024
00025 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00026
00027 class TAO_Root_POA;
00028
00029 namespace TAO
00030 {
00031 namespace Portable_Server
00032 {
00033 class ServantRetentionStrategyNonRetain
00034 : public ServantRetentionStrategy
00035 {
00036 public:
00037 ServantRetentionStrategyNonRetain (void);
00038
00039 virtual void strategy_init (TAO_Root_POA *poa);
00040
00041 virtual void strategy_cleanup(void);
00042
00043 CORBA::ULong waiting_servant_deactivation (void) const;
00044
00045 virtual
00046 PortableServer::ObjectId *
00047 activate_object (PortableServer::Servant servant,
00048 CORBA::Short priority,
00049 bool &wait_occurred_restart_call);
00050
00051 virtual
00052 void
00053 activate_object_with_id (const PortableServer::ObjectId &id,
00054 PortableServer::Servant servant,
00055 CORBA::Short priority,
00056 bool &wait_occurred_restart_call);
00057
00058 virtual void deactivate_object (const PortableServer::ObjectId &id);
00059
00060 virtual PortableServer::Servant find_servant (
00061 const PortableServer::ObjectId &system_id);
00062
00063 virtual int is_servant_in_map (PortableServer::Servant servant,
00064 bool &wait_occurred_restart_call);
00065
00066 virtual PortableServer::ObjectId *system_id_to_object_id (
00067 const PortableServer::ObjectId &system_id);
00068
00069 virtual
00070 PortableServer::Servant
00071 user_id_to_servant (const PortableServer::ObjectId &id);
00072
00073 CORBA::Object_ptr
00074 id_to_reference (const PortableServer::ObjectId &id,
00075 bool indirect);
00076
00077 virtual TAO_SERVANT_LOCATION servant_present (
00078 const PortableServer::ObjectId &system_id,
00079 PortableServer::Servant &servant);
00080
00081 virtual PortableServer::Servant find_servant (
00082 const PortableServer::ObjectId &system_id,
00083 TAO::Portable_Server::Servant_Upcall &servant_upcall,
00084 TAO::Portable_Server::POA_Current_Impl &poa_current_impl);
00085
00086 virtual int find_servant_priority (
00087 const PortableServer::ObjectId &system_id,
00088 CORBA::Short &priority);
00089
00090 virtual void deactivate_all_objects (void);
00091
00092 virtual PortableServer::ObjectId *servant_to_user_id (
00093 PortableServer::Servant servant);
00094
00095 virtual CORBA::Object_ptr servant_to_reference (
00096 PortableServer::Servant servant);
00097
00098 virtual CORBA::Object_ptr create_reference (
00099 const char *intf,
00100 CORBA::Short priority);
00101
00102 #if !defined (CORBA_E_MICRO)
00103 virtual CORBA::Object_ptr create_reference_with_id (
00104 const PortableServer::ObjectId &oid,
00105 const char *intf,
00106 CORBA::Short priority);
00107 #endif
00108
00109 virtual int rebind_using_user_id_and_system_id (
00110 PortableServer::Servant servant,
00111 const PortableServer::ObjectId &user_id,
00112 const PortableServer::ObjectId &system_id,
00113 TAO::Portable_Server::Servant_Upcall &servant_upcall);
00114
00115 virtual CORBA::Boolean servant_has_remaining_activations (
00116 PortableServer::Servant servant);
00117
00118 virtual int unbind_using_user_id (
00119 const PortableServer::ObjectId &user_id);
00120
00121 virtual ::PortableServer::ServantRetentionPolicyValue type() const;
00122
00123 protected:
00124 TAO_Root_POA *poa_;
00125 };
00126 }
00127 }
00128
00129 TAO_END_VERSIONED_NAMESPACE_DECL
00130
00131 #include "ace/post.h"
00132 #endif