TAO_PI
2.0.8
|
Implementation of the PortableInterceptor::Current interface. More...
#include <PICurrent_Impl.h>
Public Member Functions | |
PICurrent_Impl (TAO_ORB_Core *orb_core=0, size_t tss_slot=0, PICurrent_Impl *pop=0) | |
Constructor. | |
~PICurrent_Impl (void) | |
Destructor. | |
CORBA::Any * | get_slot (PortableInterceptor::SlotId identifier) |
void | set_slot (PortableInterceptor::SlotId identifier, const CORBA::Any &data) |
Set information in the slot table at the given SlotId. | |
void | take_lazy_copy (PICurrent_Impl *p) |
Logically/Lazy (shallow) copy the given object's slot table. | |
void | push (void) |
Push a new PICurrent_Impl on stack. | |
void | pop (void) |
Pop old PICurrent_Impl from stack. | |
Private Types | |
typedef ACE_Array_Base < CORBA::Any > | Table |
Typedef for the underyling "slot table.". | |
Private Member Functions | |
void | convert_from_lazy_to_real_copy () |
void | set_callback_for_impending_change (PICurrent_Impl *p) |
Table & | current_slot_table () |
PICurrent_Impl (const PICurrent_Impl &) | |
void | operator= (const PICurrent_Impl &) |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Allow for stack of PICurrent_Impl as required. | |
size_t | tss_slot_ |
PICurrent_Impl * | pop_ |
PICurrent_Impl * | push_ |
Table | slot_table_ |
Array of CORBA::Anys that is the underlying "slot table.". | |
PICurrent_Impl * | lazy_copy_ |
PICurrent_Impl * | impending_change_callback_ |
Implementation of the PortableInterceptor::Current interface.
This class implements both the "request scope current" and the "thread scope current" objects as required by Portable Interceptors.
typedef ACE_Array_Base<CORBA::Any> TAO::PICurrent_Impl::Table [private] |
Typedef for the underyling "slot table.".
TAO::PICurrent_Impl::PICurrent_Impl | ( | TAO_ORB_Core * | orb_core = 0 , |
size_t | tss_slot = 0 , |
||
PICurrent_Impl * | pop = 0 |
||
) | [inline] |
Constructor.
TAO::PICurrent_Impl::~PICurrent_Impl | ( | void | ) |
Destructor.
TAO::PICurrent_Impl::PICurrent_Impl | ( | const PICurrent_Impl & | ) | [private] |
Prevent copying through the copy constructor and the assignment operator.
void TAO::PICurrent_Impl::convert_from_lazy_to_real_copy | ( | ) | [inline, private] |
Force this object to convert from a logical (referenced) copy, to a physical (or deep, actual) copy.
TAO::PICurrent_Impl::Table & TAO::PICurrent_Impl::current_slot_table | ( | ) | [inline, private] |
Return a reference to the slot table currently associated with this PICurrent_Impl object.
CORBA::Any * TAO::PICurrent_Impl::get_slot | ( | PortableInterceptor::SlotId | identifier | ) |
Retrieve information stored in the slot table at the given SlotId.
void TAO::PICurrent_Impl::operator= | ( | const PICurrent_Impl & | ) | [private] |
Prevent copying through the copy constructor and the assignment operator.
void TAO::PICurrent_Impl::pop | ( | void | ) |
Pop old PICurrent_Impl from stack.
void TAO::PICurrent_Impl::push | ( | void | ) |
Push a new PICurrent_Impl on stack.
void TAO::PICurrent_Impl::set_callback_for_impending_change | ( | TAO::PICurrent_Impl * | p | ) | [inline, private] |
Set the callback PICurrent_Impl object that will be notified of this object's impending destruction or change. Set to 0 to clear. (NOTE Only handles a SINGLE object at at time, does NOT warn previous callback that this has been changed.)
void TAO::PICurrent_Impl::set_slot | ( | PortableInterceptor::SlotId | identifier, |
const CORBA::Any & | data | ||
) |
Set information in the slot table at the given SlotId.
void TAO::PICurrent_Impl::take_lazy_copy | ( | TAO::PICurrent_Impl * | p | ) |
Logically/Lazy (shallow) copy the given object's slot table.
PICurrent_Impl* TAO::PICurrent_Impl::impending_change_callback_ [private] |
PICurrent_Impl object that will be notified of this object's impending destruction or change to its slot_table_. This is the PICurrent_Impl that has access to our slot_table_ via its lazy_copy_ pointer. As necessary this allows that object's convert_from_lazy_to_real_copy() to be called.
PICurrent_Impl* TAO::PICurrent_Impl::lazy_copy_ [private] |
Access to logical copy from a PICurrent_Impl in another scope, i.e. either the request scope or the thread scope.
TAO_ORB_Core* TAO::PICurrent_Impl::orb_core_ [private] |
Allow for stack of PICurrent_Impl as required.
PICurrent_Impl* TAO::PICurrent_Impl::pop_ [private] |
PICurrent_Impl* TAO::PICurrent_Impl::push_ [private] |
Table TAO::PICurrent_Impl::slot_table_ [private] |
Array of CORBA::Anys that is the underlying "slot table.".
size_t TAO::PICurrent_Impl::tss_slot_ [private] |