TAO::PICurrent_Impl Class Reference

Implementation of the PortableInterceptor::Current interface. More...

#include <PICurrent_Impl.h>

Collaboration diagram for TAO::PICurrent_Impl:

Collaboration graph
[legend]
List of all members.

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.
Tableslot_table (void)
 Return a reference to the underlying slot table.
Tablecurrent_slot_table (void)
bool lc_slot_table (PICurrent_Impl *p)
 Logically (shallow) copy the given slot table.
Tablelc_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.".
Tablelc_slot_table_
PICurrent_Copy_Callbackcopy_callback_
PICurrent_Impldestruction_callback_

Detailed Description

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.


Member Typedef Documentation

typedef ACE_Array_Base<CORBA::Any> TAO::PICurrent_Impl::Table

Typedef for the underyling "slot table.".


Constructor & Destructor Documentation

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.


Member Function Documentation

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   ) 

Returns:
Logically copied slot table if available, otherwise underlying slot table.

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.

Returns:
Zero if no logically copied slot table. Non-zero otherwise.

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.


Member Data Documentation

PICurrent_Copy_Callback* TAO::PICurrent_Impl::copy_callback_ [private]

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* TAO::PICurrent_Impl::destruction_callback_ [private]

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.".


The documentation for this class was generated from the following files:
Generated on Wed Apr 19 03:33:46 2006 for TAO_PI by  doxygen 1.4.6-4