TAO::Portable_Server::Active_Policy_Strategies Class Reference

#include <Active_Policy_Strategies.h>

Collaboration diagram for TAO::Portable_Server::Active_Policy_Strategies:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Active_Policy_Strategies (void)
void update (Cached_Policies &policies, TAO_Root_POA *poa)
void cleanup (void)
ThreadStrategythread_strategy (void) const
RequestProcessingStrategyrequest_processing_strategy (void) const
IdAssignmentStrategyid_assignment_strategy (void) const
IdUniquenessStrategyid_uniqueness_strategy (void) const
LifespanStrategylifespan_strategy (void) const
ImplicitActivationStrategyimplicit_activation_strategy (void) const
ServantRetentionStrategyservant_retention_strategy (void) const

Private Attributes

ThreadStrategythread_strategy_
RequestProcessingStrategyrequest_processing_strategy_
IdAssignmentStrategyid_assignment_strategy_
LifespanStrategylifespan_strategy_
IdUniquenessStrategyid_uniqueness_strategy_
ImplicitActivationStrategyimplicit_activation_strategy_
ServantRetentionStrategyservant_retention_strategy_
ThreadStrategyFactorythread_strategy_factory_
ServantRetentionStrategyFactoryservant_retention_strategy_factory_
RequestProcessingStrategyFactoryrequest_processing_strategy_factory_
LifespanStrategyFactorylifespan_strategy_factory_
ImplicitActivationStrategyFactoryimplicit_activation_strategy_factory_
IdUniquenessStrategyFactoryid_uniqueness_strategy_factory_
IdAssignmentStrategyFactoryid_assignment_strategy_factory_

Detailed Description

This class stores the active policy strategies used for a certain POA.

Definition at line 52 of file Active_Policy_Strategies.h.


Constructor & Destructor Documentation

TAO::Portable_Server::Active_Policy_Strategies::Active_Policy_Strategies void   ) 
 

Definition at line 47 of file Active_Policy_Strategies.cpp.


Member Function Documentation

void TAO::Portable_Server::Active_Policy_Strategies::cleanup void   ) 
 

Definition at line 172 of file Active_Policy_Strategies.cpp.

References TAO::Portable_Server::IdAssignmentStrategyFactory::destroy(), TAO::Portable_Server::ServantRetentionStrategyFactory::destroy(), TAO::Portable_Server::ThreadStrategyFactory::destroy(), TAO::Portable_Server::ImplicitActivationStrategyFactory::destroy(), TAO::Portable_Server::IdUniquenessStrategyFactory::destroy(), TAO::Portable_Server::RequestProcessingStrategyFactory::destroy(), TAO::Portable_Server::LifespanStrategyFactory::destroy(), id_assignment_strategy_factory_, id_uniqueness_strategy_factory_, implicit_activation_strategy_, implicit_activation_strategy_factory_, lifespan_strategy_factory_, request_processing_strategy_, request_processing_strategy_factory_, servant_retention_strategy_, servant_retention_strategy_factory_, thread_strategy_, and thread_strategy_factory_.

Referenced by TAO_Root_POA::complete_destruction_i().

00173     {
00174 
00175       if (this->lifespan_strategy_ != 0)
00176         {
00177           this->lifespan_strategy_factory_->destroy (lifespan_strategy_);
00178 
00179           this->lifespan_strategy_ = 0;
00180         }
00181 
00182       if (this->request_processing_strategy_ != 0)
00183         {
00184           this->request_processing_strategy_factory_->destroy (request_processing_strategy_);
00185 
00186           this->request_processing_strategy_ = 0;
00187         }
00188 
00189       if (this->id_uniqueness_strategy_ != 0)
00190         {
00191           this->id_uniqueness_strategy_factory_->destroy (id_uniqueness_strategy_);
00192 
00193           this->id_uniqueness_strategy_ = 0;
00194         }
00195 
00196       if (this->implicit_activation_strategy_ != 0)
00197         {
00198           this->implicit_activation_strategy_factory_->destroy (implicit_activation_strategy_);
00199 
00200           this->implicit_activation_strategy_ = 0;
00201         }
00202 
00203       if (this->thread_strategy_ != 0)
00204         {
00205           this->thread_strategy_factory_->destroy (thread_strategy_);
00206 
00207           this->thread_strategy_ = 0;
00208         }
00209 
00210       if (this->servant_retention_strategy_ != 0)
00211         {
00212           this->servant_retention_strategy_factory_->destroy (servant_retention_strategy_);
00213 
00214           this->servant_retention_strategy_ = 0;
00215         }
00216 
00217       if (this->id_assignment_strategy_ != 0)
00218         {
00219           this->id_assignment_strategy_factory_->destroy (id_assignment_strategy_);
00220 
00221           this->id_assignment_strategy_ = 0;
00222         }
00223     }

ACE_INLINE IdAssignmentStrategy * TAO::Portable_Server::Active_Policy_Strategies::id_assignment_strategy void   )  const
 

Definition at line 27 of file Active_Policy_Strategies.inl.

Referenced by TAO_Root_POA::has_system_id(), and TAO_Root_POA::set_id().

00028     {
00029       return this->id_assignment_strategy_;
00030     }

ACE_INLINE IdUniquenessStrategy * TAO::Portable_Server::Active_Policy_Strategies::id_uniqueness_strategy void   )  const
 

Definition at line 34 of file Active_Policy_Strategies.inl.

Referenced by TAO_Root_POA::allow_multiple_activations(), and TAO_Root_POA::is_servant_activation_allowed().

00035     {
00036       return this->id_uniqueness_strategy_;
00037     }

ACE_INLINE ImplicitActivationStrategy * TAO::Portable_Server::Active_Policy_Strategies::implicit_activation_strategy void   )  const
 

Definition at line 48 of file Active_Policy_Strategies.inl.

References implicit_activation_strategy_.

Referenced by TAO_Root_POA::allow_implicit_activation().

00049     {
00050       return this->implicit_activation_strategy_;
00051     }

ACE_INLINE LifespanStrategy * TAO::Portable_Server::Active_Policy_Strategies::lifespan_strategy void   )  const
 

Definition at line 41 of file Active_Policy_Strategies.inl.

Referenced by TAO_Root_POA::check_state(), TAO_Root_POA::destroy_i(), TAO_Root_POA::is_persistent(), TAO_Root_POA::key_to_object(), TAO_Root_POA::set_id(), TAO_Root_POA::TAO_Root_POA(), and TAO_Root_POA::validate_lifespan().

00042     {
00043       return this->lifespan_strategy_;
00044     }

ACE_INLINE RequestProcessingStrategy * TAO::Portable_Server::Active_Policy_Strategies::request_processing_strategy void   )  const
 

Definition at line 20 of file Active_Policy_Strategies.inl.

References request_processing_strategy_.

Referenced by TAO_Root_POA::cleanup_servant(), TAO_Root_POA::deactivate_all_objects_i(), TAO_Root_POA::get_servant_i(), TAO_Root_POA::get_servant_manager(), TAO_Root_POA::id_to_servant_i(), TAO_Root_POA::locate_servant_i(), TAO_Root_POA::post_invoke_servant_cleanup(), TAO_Root_POA::reference_to_servant_i(), TAO_Root_POA::servant_to_id_i(), TAO_Root_POA::set_servant(), and TAO_Root_POA::set_servant_manager().

00021     {
00022       return this->request_processing_strategy_;
00023     }

ACE_INLINE ServantRetentionStrategy * TAO::Portable_Server::Active_Policy_Strategies::servant_retention_strategy void   )  const
 

Definition at line 55 of file Active_Policy_Strategies.inl.

References servant_retention_strategy_.

Referenced by TAO_Root_POA::activate_object_i(), TAO_Root_POA::activate_object_with_id_i(), TAO_Root_POA::create_reference_i(), TAO_Root_POA::create_reference_with_id_i(), TAO_Root_POA::deactivate_all_objects_i(), TAO_Root_POA::deactivate_object_i(), TAO_Root_POA::find_servant(), TAO_Root_POA::find_servant_priority(), TAO_Root_POA::id_to_reference_i(), TAO_Root_POA::is_servant_active(), TAO_Root_POA::rebind_using_user_id_and_system_id(), TAO_Root_POA::reference_to_id(), TAO_Root_POA::servant_has_remaining_activations(), TAO_Root_POA::servant_present(), TAO_Root_POA::servant_to_reference_i(), TAO_Root_POA::servant_to_user_id(), TAO_Root_POA::unbind_using_user_id(), TAO_Root_POA::user_id_to_servant_i(), and TAO_Root_POA::waiting_servant_deactivation().

00056     {
00057       return this->servant_retention_strategy_;
00058     }

ACE_INLINE ThreadStrategy * TAO::Portable_Server::Active_Policy_Strategies::thread_strategy void   )  const
 

Definition at line 13 of file Active_Policy_Strategies.inl.

References thread_strategy_.

Referenced by TAO_Root_POA::enter(), and TAO_Root_POA::exit().

00014     {
00015       return this->thread_strategy_;
00016     }

void TAO::Portable_Server::Active_Policy_Strategies::update Cached_Policies policies,
TAO_Root_POA poa
 

Definition at line 66 of file Active_Policy_Strategies.cpp.

References TAO::Portable_Server::ImplicitActivationStrategyFactory::create(), TAO::Portable_Server::LifespanStrategyFactory::create(), TAO::Portable_Server::RequestProcessingStrategyFactory::create(), TAO::Portable_Server::ServantRetentionStrategyFactory::create(), TAO::Portable_Server::IdUniquenessStrategyFactory::create(), TAO::Portable_Server::IdAssignmentStrategyFactory::create(), TAO::Portable_Server::ThreadStrategyFactory::create(), TAO::Portable_Server::Cached_Policies::id_assignment(), id_assignment_strategy_factory_, TAO::Portable_Server::Cached_Policies::id_uniqueness(), id_uniqueness_strategy_factory_, TAO::Portable_Server::Cached_Policies::implicit_activation(), implicit_activation_strategy_, implicit_activation_strategy_factory_, ACE_Dynamic_Service< TYPE >::instance(), TAO::Portable_Server::Cached_Policies::lifespan(), lifespan_strategy_factory_, TAO::Portable_Server::Cached_Policies::request_processing(), request_processing_strategy_, request_processing_strategy_factory_, TAO::Portable_Server::Cached_Policies::servant_retention(), servant_retention_strategy_, servant_retention_strategy_factory_, TAO::Portable_Server::IdAssignmentStrategy::strategy_init(), TAO::Portable_Server::ThreadStrategy::strategy_init(), TAO::Portable_Server::ImplicitActivationStrategy::strategy_init(), TAO::Portable_Server::Policy_Strategy::strategy_init(), TAO::Portable_Server::RequestProcessingStrategy::strategy_init(), TAO::Portable_Server::LifespanStrategy::strategy_init(), TAO::Portable_Server::Cached_Policies::thread(), thread_strategy_, and thread_strategy_factory_.

Referenced by TAO_Root_POA::TAO_Root_POA().

00069     {
00070       this->thread_strategy_factory_ =
00071         ACE_Dynamic_Service<ThreadStrategyFactory>::instance ("ThreadStrategyFactory");
00072 
00073       if (this->thread_strategy_factory_ != 0)
00074         this->thread_strategy_ =
00075           this->thread_strategy_factory_->create (policies.thread());
00076 
00077       /**/
00078 
00079       this->id_assignment_strategy_factory_ =
00080         ACE_Dynamic_Service<IdAssignmentStrategyFactory>::instance ("IdAssignmentStrategyFactory");
00081 
00082       if (this->id_assignment_strategy_factory_ != 0)
00083         this->id_assignment_strategy_ =
00084           this->id_assignment_strategy_factory_->create (policies.id_assignment());
00085 
00086       /**/
00087 
00088       this->id_uniqueness_strategy_factory_ =
00089         ACE_Dynamic_Service<IdUniquenessStrategyFactory>::instance ("IdUniquenessStrategyFactory");
00090 
00091       if (this->id_uniqueness_strategy_factory_ != 0)
00092         this->id_uniqueness_strategy_ =
00093           this->id_uniqueness_strategy_factory_->create (policies.id_uniqueness());
00094 
00095       /**/
00096 
00097       this->servant_retention_strategy_factory_ =
00098         ACE_Dynamic_Service<ServantRetentionStrategyFactory>::instance ("ServantRetentionStrategyFactory");
00099 
00100       if (this->servant_retention_strategy_factory_ != 0)
00101         this->servant_retention_strategy_ =
00102           this->servant_retention_strategy_factory_->create (policies.servant_retention());
00103 
00104       /**/
00105 
00106       this->request_processing_strategy_factory_ =
00107         ACE_Dynamic_Service<RequestProcessingStrategyFactory>::instance ("RequestProcessingStrategyFactory");
00108 
00109       if (this->request_processing_strategy_factory_ != 0)
00110         this->request_processing_strategy_ =
00111           this->request_processing_strategy_factory_->create (policies.request_processing(), policies.servant_retention());
00112 
00113       /**/
00114 
00115       this->lifespan_strategy_factory_ =
00116         ACE_Dynamic_Service<LifespanStrategyFactory>::instance ("LifespanStrategyFactory");
00117 
00118       if (this->lifespan_strategy_factory_ != 0)
00119         this->lifespan_strategy_ =
00120           this->lifespan_strategy_factory_->create (policies.lifespan());
00121 
00122       /**/
00123 
00124       this->implicit_activation_strategy_factory_ =
00125         ACE_Dynamic_Service<ImplicitActivationStrategyFactory>::instance ("ImplicitActivationStrategyFactory");
00126 
00127       if (this->implicit_activation_strategy_factory_ != 0)
00128         this->implicit_activation_strategy_ =
00129           this->implicit_activation_strategy_factory_->create (policies.implicit_activation());
00130 
00131       /**/
00132 
00133 // @todo, check if all pointers are != 0
00134 
00135       if (this->lifespan_strategy_ != 0)
00136         {
00137           this->lifespan_strategy_->strategy_init (poa);
00138         }
00139 
00140       if (this->request_processing_strategy_ != 0)
00141         {
00142           this->request_processing_strategy_->strategy_init (poa, policies.servant_retention());
00143         }
00144 
00145       if (this->id_uniqueness_strategy_ != 0)
00146         {
00147           this->id_uniqueness_strategy_->strategy_init (poa);
00148         }
00149 
00150       if (this->implicit_activation_strategy_ != 0)
00151         {
00152           this->implicit_activation_strategy_->strategy_init (poa);
00153         }
00154 
00155       if (this->thread_strategy_ != 0)
00156         {
00157           this->thread_strategy_->strategy_init (poa);
00158         }
00159 
00160       if (this->servant_retention_strategy_ != 0)
00161         {
00162           this->servant_retention_strategy_->strategy_init (poa);
00163         }
00164 
00165       if (this->id_assignment_strategy_ != 0)
00166         {
00167           this->id_assignment_strategy_->strategy_init (poa);
00168         }
00169     }


Member Data Documentation

IdAssignmentStrategy* TAO::Portable_Server::Active_Policy_Strategies::id_assignment_strategy_ [private]
 

Definition at line 80 of file Active_Policy_Strategies.h.

IdAssignmentStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::id_assignment_strategy_factory_ [private]
 

Definition at line 92 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

IdUniquenessStrategy* TAO::Portable_Server::Active_Policy_Strategies::id_uniqueness_strategy_ [private]
 

Definition at line 82 of file Active_Policy_Strategies.h.

IdUniquenessStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::id_uniqueness_strategy_factory_ [private]
 

Definition at line 91 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

ImplicitActivationStrategy* TAO::Portable_Server::Active_Policy_Strategies::implicit_activation_strategy_ [private]
 

Definition at line 83 of file Active_Policy_Strategies.h.

Referenced by cleanup(), implicit_activation_strategy(), and update().

ImplicitActivationStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::implicit_activation_strategy_factory_ [private]
 

Definition at line 90 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

LifespanStrategy* TAO::Portable_Server::Active_Policy_Strategies::lifespan_strategy_ [private]
 

Definition at line 81 of file Active_Policy_Strategies.h.

LifespanStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::lifespan_strategy_factory_ [private]
 

Definition at line 89 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

RequestProcessingStrategy* TAO::Portable_Server::Active_Policy_Strategies::request_processing_strategy_ [private]
 

Definition at line 79 of file Active_Policy_Strategies.h.

Referenced by cleanup(), request_processing_strategy(), and update().

RequestProcessingStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::request_processing_strategy_factory_ [private]
 

Definition at line 88 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

ServantRetentionStrategy* TAO::Portable_Server::Active_Policy_Strategies::servant_retention_strategy_ [private]
 

Definition at line 84 of file Active_Policy_Strategies.h.

Referenced by cleanup(), servant_retention_strategy(), and update().

ServantRetentionStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::servant_retention_strategy_factory_ [private]
 

Definition at line 87 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().

ThreadStrategy* TAO::Portable_Server::Active_Policy_Strategies::thread_strategy_ [private]
 

Definition at line 78 of file Active_Policy_Strategies.h.

Referenced by cleanup(), thread_strategy(), and update().

ThreadStrategyFactory* TAO::Portable_Server::Active_Policy_Strategies::thread_strategy_factory_ [private]
 

Definition at line 86 of file Active_Policy_Strategies.h.

Referenced by cleanup(), and update().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:28:45 2008 for TAO_PortableServer by doxygen 1.3.6