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

# TAO_PICurrent_Guard Class Reference

Class used to make copying between request scope current and thread scope current exception-safe. More...

`#include <PICurrent.h>`

Collaboration diagram for TAO_PICurrent_Guard:

[legend]
List of all members.

## Public Methods
| TAO_PICurrent_Guard (TAO_Stub *stub, TAO_PICurrent_Impl &rsc)
| Constructor. More...
| TAO_PICurrent_Guard (TAO_ServerRequest &server_request, CORBA::Boolean tsc_to_rsc)
| Constructor. More...
| ~TAO_PICurrent_Guard (void)
| Destructor. More...
## Private Attributes
TAO_PICurrent_Impl* | src_
| The PICurrent implementation whose slot table will copied.
TAO_PICurrent_Impl* | dest_
| The PICurrent implementation whose slot table will filled with the contents of another PICurrent's slot table.

## Detailed Description

Class used to make copying between request scope current and thread scope current exception-safe.

Since copies between the request scope current and thread scope current must also occur if an exception is thrown, e.g. made available to the receive_exception() and send_exception() interception points, the "guard" idiom is used to make this action exception-safe.

## Constructor & Destructor Documentation

TAO_PICurrent_Guard::TAO_PICurrent_Guard ( | TAO_Stub * stub,
| TAO_PICurrent_Impl & rsc )

| Constructor. This constructor copies data held in a given PICurrent when transitioning from one PICurrent scope to another immediately before any starting interception points are invoked (e.g. on the client side just before send_request() is invoked).

TAO_PICurrent_Guard::TAO_PICurrent_Guard ( | TAO_ServerRequest & server_request,
| CORBA::Boolean tsc_to_rsc )

| Constructor. This constructor sets up this guard to copy the data held in a given PICurrent when transitioning from that PICurrent's scope to another scope (e.g. request scope to thread scope transition immediately following receive_request_service_contexts() on server side).

TAO_PICurrent_Guard::~TAO_PICurrent_Guard ( | void )

| Destructor. The destructor copies (a logical copy whenever possible) data held in a given PICurrent when transitioning from one PICurrent scope to another immediately before any ending interception points are invoked, and after the sending and intermediate (if any) interception points are invoked.

## Member Data Documentation

TAO_PICurrent_Impl * TAO_PICurrent_Guard::dest_`[private]`

| The PICurrent implementation whose slot table will filled with the contents of another PICurrent's slot table.

TAO_PICurrent_Impl * TAO_PICurrent_Guard::src_`[private]`

| The PICurrent implementation whose slot table will copied.

The documentation for this class was generated from the following file:

- PICurrent.h