Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_ClientRequestInfo_Guard Class Reference

Guard for exception safe TAO_ClientRequestInfo_i pointer swapping. More...

#include <ClientRequestInfo.h>

Collaboration diagram for TAO_ClientRequestInfo_Guard:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_ClientRequestInfo_Guard (TAO_ClientRequestInfo *info, TAO_ClientRequestInfo_i *ri)
 Constructor. More...

 ~TAO_ClientRequestInfo_Guard (void)
 Destructor. More...


Private Attributes

TAO_ClientRequestInfoinfo_
 Pointer to the TAO_ClientRequestInfo object upon which pointer swaps will occur. More...

TAO_ClientRequestInfo_iprevious_info_
 Pointer to the TAO_ClientRequestInfo_i object that was previously stored in the TAO_ClientRequestInfo object. More...


Detailed Description

Guard for exception safe TAO_ClientRequestInfo_i pointer swapping.

This class is used to ensure the swapping of TAO_ClientRequestInfo_i pointers in a TAO_ClientRequestInfo object is performed in an exception-safe manner when interception points are being invoked.

Definition at line 259 of file ClientRequestInfo.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_ClientRequestInfo_Guard::TAO_ClientRequestInfo_Guard TAO_ClientRequestInfo   info,
TAO_ClientRequestInfo_i   ri
 

Constructor.

Definition at line 30 of file ClientRequestInfo.inl.

References TAO_ClientRequestInfo::info, and previous_info_.

00033   : info_ (info),
00034     previous_info_ (0)
00035 {
00036   if (info != 0)
00037     {
00038       this->previous_info_ = info->info ();
00039       info->info (ri);
00040     }
00041 }

TAO_ClientRequestInfo_Guard::~TAO_ClientRequestInfo_Guard void   
 

Destructor.

Definition at line 288 of file ClientRequestInfo.cpp.

References TAO_ClientRequestInfo::info, and info_.

00289 {
00290   // Restore the previous request information into the TSS object.
00291   // Note that no TSS access occurs here.
00292   if (this->info_ != 0)
00293     this->info_->info (this->previous_info_);
00294 }


Member Data Documentation

TAO_ClientRequestInfo* TAO_ClientRequestInfo_Guard::info_ [private]
 

Pointer to the TAO_ClientRequestInfo object upon which pointer swaps will occur.

Definition at line 274 of file ClientRequestInfo.h.

Referenced by ~TAO_ClientRequestInfo_Guard.

TAO_ClientRequestInfo_i* TAO_ClientRequestInfo_Guard::previous_info_ [private]
 

Pointer to the TAO_ClientRequestInfo_i object that was previously stored in the TAO_ClientRequestInfo object.

Definition at line 278 of file ClientRequestInfo.h.

Referenced by TAO_ClientRequestInfo_Guard.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:07:35 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002