TAO_EC_Object_Deactivator Class Reference

Utility for deactivating servants from POA. More...

#include <EC_Lifetime_Utils.h>

Collaboration diagram for TAO_EC_Object_Deactivator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_EC_Object_Deactivator (void)
 TAO_EC_Object_Deactivator (PortableServer::POA_ptr poa, PortableServer::ObjectId const &id)
 ~TAO_EC_Object_Deactivator (void)
void set_values (PortableServer::POA_ptr poa, PortableServer::ObjectId const &id)
void set_values (TAO_EC_Object_Deactivator &deactivator)
 Take on the state of deactivator. deactivator loses its state.
void allow_deactivation (void)
void disallow_deactivation (void)
void deactivate (void)
PortableServer::POA_var poa (void) const
 Accessor for the POA used in deactivation.

Private Member Functions

 TAO_EC_Object_Deactivator (const TAO_EC_Object_Deactivator &rhs)
 Disallow.
TAO_EC_Object_Deactivatoroperator= (const TAO_EC_Object_Deactivator &rhs)
 Disallow.

Private Attributes

PortableServer::POA_var poa_
 POA from which the object will be deactivated.
PortableServer::ObjectId id_
 ObjectId of the object to be deactivated.
int deactivate_

Detailed Description

Utility for deactivating servants from POA.

Maintains state necessary to deactivate a servant from POA. Can be told to deactivate a servant explicitly or can do so automagically, in its destructor.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_EC_Object_Deactivator::TAO_EC_Object_Deactivator ( void   ) 

Default constructor. Deactivation info can be supplied later through set_values ().

ACE_INLINE TAO_EC_Object_Deactivator::TAO_EC_Object_Deactivator ( PortableServer::POA_ptr  poa,
PortableServer::ObjectId const &  id 
)

Constructor. Set id which will be deactivated from @ poa in the deactivator's destructor, unless deactivate () or disallow_deactivation () are invoked before the destruction.

ACE_INLINE TAO_EC_Object_Deactivator::~TAO_EC_Object_Deactivator ( void   ) 

Destructor. Deactivates id_ from poa_ if those values have been set, and neither deactivate() nor disallow_deactivation() have been invoked.

TAO_EC_Object_Deactivator::TAO_EC_Object_Deactivator ( const TAO_EC_Object_Deactivator rhs  )  [private]

Disallow.


Member Function Documentation

ACE_INLINE void TAO_EC_Object_Deactivator::allow_deactivation ( void   ) 

Explicitly enable deactivation to happen in destructor or when deactivate() is called.

ACE_INLINE void TAO_EC_Object_Deactivator::deactivate ( void   ) 

Perform deactivation now if <poa_> and <id_> values have been set, and deactivation hasn't happened yet nor has it been explicitly disallowed. CORBA exceptions occurring during deactivation are not propagated. Deactivation will NOT happen in the destructor.

ACE_INLINE void TAO_EC_Object_Deactivator::disallow_deactivation ( void   ) 

Explicitly disable deactivation from happening in destructor or when deactivate() is called.

TAO_EC_Object_Deactivator& TAO_EC_Object_Deactivator::operator= ( const TAO_EC_Object_Deactivator rhs  )  [private]

Disallow.

ACE_INLINE PortableServer::POA_var TAO_EC_Object_Deactivator::poa ( void   )  const

Accessor for the POA used in deactivation.

ACE_INLINE void TAO_EC_Object_Deactivator::set_values ( TAO_EC_Object_Deactivator deactivator  ) 

Take on the state of deactivator. deactivator loses its state.

ACE_INLINE void TAO_EC_Object_Deactivator::set_values ( PortableServer::POA_ptr  poa,
PortableServer::ObjectId const &  id 
)

Set <id> which will be deactivated from <poa> in the deactivator's destructor, unless deactivate () or disallow_deactivation () are invoked before the destruction.


Member Data Documentation

int TAO_EC_Object_Deactivator::deactivate_ [private]

Flag indicating whether deactivation will be attempted. The flag is set to false if <poa_> and <id_> haven't been set yet, or if deactivation already happened, or if disallow_deactivation () method is invoked.

PortableServer::ObjectId TAO_EC_Object_Deactivator::id_ [private]

ObjectId of the object to be deactivated.

PortableServer::POA_var TAO_EC_Object_Deactivator::poa_ [private]

POA from which the object will be deactivated.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:55:11 2006 for TAO_RTEvent by  doxygen 1.4.7-1