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

TAO_PICurrent_Impl Class Reference

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

#include <PICurrent.h>

Collaboration diagram for TAO_PICurrent_Impl:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Array_Base<void *> Table
 Typedef for the underyling "slot table.". More...


Public Methods

 TAO_PICurrent_Impl (void)
 Constructor.

 ~TAO_PICurrent_Impl (void)
 Destructor.

CORBA::Any* get_slot (PortableInterceptor::SlotId id, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
 Retrieve information stored in the slot table at the given SlotId.

void set_slot (PortableInterceptor::SlotId id, const CORBA::Any & data, CORBA::Environment &ACE_TRY_ENV) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
 Set information in the slot table at the given SlotId.

TAO_PICurrent_Impl* pi_peer (void)
 Get the PICurrent peer associated with this PICurrent implementation.

void pi_peer (TAO_PICurrent_Impl *peer)
 Set the PICurrent peer associated with this PICurrent implementation.

Tableslot_table (void)
 Return a reference to the underlying slot table.

void dirty (CORBA::Boolean dirty)
 Mark the slot table as being clean or dirty. The slot table is dirty if it has been modified since the last time it was copied.

CORBA::Boolean dirty (void) const
 Flag that specifies if the underlying slot table has been modified since last copy.

void copy (TAO_PICurrent_Impl &rhs, CORBA::Boolean deep_copy)
 Copy the contents of the given PICurrent.


Private Methods

 TAO_PICurrent_Impl (const TAO_PICurrent_Impl &)
void operator= (const TAO_PICurrent_Impl &)

Private Attributes

TAO_PICurrent_Impl* pi_peer_
 The PICurrent implementation with which this implementation's slot table interacts.

Table slot_table_
 Array of CORBA::Anys that is the underlying "slot table.".

Tablelc_slot_table_
 Table that was logically copied from a PICurrent in another scope, i.e. either the request scope or the thread scope.

CORBA::Boolean dirty_
 Flag that specifies if the underlying slot table has been modified since last copy. More...


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<void *> TAO_PICurrent_Impl::Table
 

Typedef for the underyling "slot table.".

Note:
The slot table is implemented as an array of pointers to void to simply avoid increasing the footprint of the ORB. A template instance of ACE_Array_Base&lt;void*&gt; is already used by TAO_ORB_Core_TSS_Resources. Thus, no increase in footprint will occur due to this template instance.


Constructor & Destructor Documentation

TAO_PICurrent_Impl::TAO_PICurrent_Impl ( void )
 

Constructor.

TAO_PICurrent_Impl::~TAO_PICurrent_Impl ( void )
 

Destructor.

TAO_PICurrent_Impl::TAO_PICurrent_Impl ( const TAO_PICurrent_Impl & ) [private]
 


Member Function Documentation

void TAO_PICurrent_Impl::copy ( TAO_PICurrent_Impl & rhs,
CORBA::Boolean deep_copy )
 

Copy the contents of the given PICurrent.

ACE_INLINE CORBA::Boolean TAO_PICurrent_Impl::dirty ( void ) const
 

Flag that specifies if the underlying slot table has been modified since last copy.

ACE_INLINE void TAO_PICurrent_Impl::dirty ( CORBA::Boolean d )
 

Mark the slot table as being clean or dirty. The slot table is dirty if it has been modified since the last time it was copied.

CORBA::Any * TAO_PICurrent_Impl::get_slot ( PortableInterceptor::SlotId id,
CORBA::Environment & ACE_TRY_ENV ) throw (CORBA::SystemException, PortableInterceptor::InvalidSlot)
 

Retrieve information stored in the slot table at the given SlotId.

void TAO_PICurrent_Impl::operator= ( const TAO_PICurrent_Impl & ) [private]
 

ACE_INLINE void TAO_PICurrent_Impl::pi_peer ( TAO_PICurrent_Impl * peer )
 

Set the PICurrent peer associated with this PICurrent implementation.

ACE_INLINE TAO_PICurrent_Impl * TAO_PICurrent_Impl::pi_peer ( void )
 

Get the PICurrent peer associated with this PICurrent implementation.

void TAO_PICurrent_Impl::set_slot ( PortableInterceptor::SlotId id,
const CORBA::Any & data,
CORBA::Environment & ACE_TRY_ENV ) 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

CORBA::Boolean TAO_PICurrent_Impl::dirty_ [private]
 

Flag that specifies if the underlying slot table has been modified since last copy.

Note:
This flag is only used when copying between a request scope current and a thread scope current.

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.

TAO_PICurrent_Impl * TAO_PICurrent_Impl::pi_peer_ [private]
 

The PICurrent implementation with which this implementation's slot table interacts.

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 at Sat Dec 1 12:08:32 2001 for TAO by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000