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< CORBA::AnyTable
 Typedef for the underyling "slot table.".


Public Methods

 TAO_PICurrent_Impl (void)
 Constructor.

 ~TAO_PICurrent_Impl (void)
 Destructor.

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

TAO_PICurrent_Impl * pi_peer (void)
void pi_peer (TAO_PICurrent_Impl *peer)
Tableslot_table (void)
 Return a reference to the underlying slot table.

void dirty (CORBA::Boolean dirty)
CORBA::Boolean dirty (void) const
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_
Table slot_table_
 Array of CORBA::Anys that is the underlying "slot table.".

Tablelc_slot_table_
CORBA::Boolean dirty_

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

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<void*> 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    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::Any * TAO_PICurrent_Impl::get_slot PortableInterceptor::SlotId id    ACE_ENV_ARG_DECL 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    ACE_ENV_ARG_DECL
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]
 

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 on Wed Jan 14 23:29:53 2004 for TAO by doxygen1.2.18