#include <PICurrent.h>
Collaboration diagram for TAO_PICurrent_Guard:
Public Methods | |
TAO_PICurrent_Guard (TAO_ServerRequest &server_request, CORBA::Boolean tsc_to_rsc) | |
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. More... | |
~TAO_PICurrent_Guard (void) | |
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. More... | |
Private Attributes | |
TAO_PICurrent_Impl * | src_ |
The PICurrent implementation whose slot table will copied. More... | |
TAO_PICurrent_Impl * | dest_ |
The PICurrent implementation whose slot table will filled with the contents of another PICurrent's slot table. More... | |
CORBA::Boolean | tsc_to_rsc_ |
If false, then the RSC must be deep copied upon leaving the request scope and entering the thread scope. More... |
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 send_exception() interception points, the "guard" idiom is used to make this action exception-safe.
|
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). |
|
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.
|
|
The PICurrent implementation whose slot table will filled with the contents of another PICurrent's slot table.
|
|
The PICurrent implementation whose slot table will copied.
|
|
If false, then the RSC must be deep copied upon leaving the request scope and entering the thread scope. This is necessary since the RSC slot table is no longer available upon leaving the thread scope, meaning that a logical copy is not enough. |