#include <PICurrent_Impl.h>
Collaboration diagram for TAO::PICurrent_Impl:
Public Types | |
typedef ACE_Array_Base< CORBA::Any > | Table |
Typedef for the underyling "slot table.". | |
Public Member Functions | |
PICurrent_Impl (void) | |
Constructor. | |
~PICurrent_Impl (void) | |
Destructor. | |
CORBA::Any * | get_slot (PortableInterceptor::SlotId identifier) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
void | set_slot (PortableInterceptor::SlotId identifier, const CORBA::Any &data) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
Set information in the slot table at the given SlotId. | |
void | copy_callback (PICurrent_Copy_Callback *cb) |
void | destruction_callback (PICurrent_Impl *p) |
void | execute_destruction_callback (Table *old_lc_slot_table) |
Execute the destruction callback object. | |
Table & | slot_table (void) |
Return a reference to the underlying slot table. | |
Table & | current_slot_table (void) |
bool | lc_slot_table (PICurrent_Impl *p) |
Logically (shallow) copy the given slot table. | |
Table * | lc_slot_table (void) const |
Return pointer to the logically copied slot table. | |
Private Member Functions | |
PICurrent_Impl (const PICurrent_Impl &) | |
void | operator= (const PICurrent_Impl &) |
Private Attributes | |
Table | slot_table_ |
Array of CORBA::Anys that is the underlying "slot table.". | |
Table * | lc_slot_table_ |
PICurrent_Copy_Callback * | copy_callback_ |
PICurrent_Impl * | destruction_callback_ |
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 |
Typedef for the underyling "slot table.".
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO::PICurrent_Impl::PICurrent_Impl | ( | void | ) |
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.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO::PICurrent_Impl::copy_callback | ( | PICurrent_Copy_Callback * | cb | ) |
Set the PICurrent copy callback object responsible for deep copying the source PICurrent's slot table.
ACE_INLINE TAO::PICurrent_Impl::Table & TAO::PICurrent_Impl::current_slot_table | ( | void | ) |
ACE_INLINE void TAO::PICurrent_Impl::destruction_callback | ( | PICurrent_Impl * | p | ) |
Set the PICurrent destruction callback object that will be notified of this object's destruction.
void TAO::PICurrent_Impl::execute_destruction_callback | ( | Table * | old_lc_slot_table | ) |
Execute the destruction callback object.
CORBA::Any * TAO::PICurrent_Impl::get_slot | ( | PortableInterceptor::SlotId | identifier | ) | throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
Retrieve information stored in the slot table at the given SlotId.
ACE_INLINE TAO::PICurrent_Impl::Table * TAO::PICurrent_Impl::lc_slot_table | ( | void | ) | const |
Return pointer to the logically copied slot table.
ACE_INLINE bool TAO::PICurrent_Impl::lc_slot_table | ( | PICurrent_Impl * | p | ) |
Logically (shallow) copy the given slot table.
void TAO::PICurrent_Impl::operator= | ( | const PICurrent_Impl & | ) | [private] |
Prevent copying through the copy constructor and the assignment operator.
void TAO::PICurrent_Impl::set_slot | ( | PortableInterceptor::SlotId | identifier, | |
const CORBA::Any & | data | |||
) | throw (CORBA::SystemException, PortableInterceptor::InvalidSlot) |
Set information in the slot table at the given SlotId.
ACE_INLINE TAO::PICurrent_Impl::Table & TAO::PICurrent_Impl::slot_table | ( | void | ) |
Return a reference to the underlying slot table.
Callback object responsible for performing deep copies of a PICurrent's slot table. This is the PICurrent that has our slot_table_ referred as lc_slot_table_. This copy is there to make sure that when we want to modify our table, that we can first copy our table to the PICurrent that refers to our table so that it has an unique copy of the data.
PICurrent_Impl object that will be notified of this object's destruction. This is the PICurrent that has our slot_table_ as lc_slot_table_.
Table* TAO::PICurrent_Impl::lc_slot_table_ [private] |
Table that was logically copied from a PICurrent in another scope, i.e. either the request scope or the thread scope.
Table TAO::PICurrent_Impl::slot_table_ [private] |
Array of CORBA::Anys that is the underlying "slot table.".