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:

[legend]
List of all members.

## Public Types
typedef ACE_Array_Base< CORBA::Any > | Table
| Typedef for the underyling "slot table.".
## Public Methods
| TAO_PICurrent_Impl (void)
| Constructor.
| ~TAO_PICurrent_Impl (void)
| Destructor.
CORBA::Any * | get_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)
Table & | slot_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.".
Table * | lc_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:

- PICurrent.h
- PICurrent.cpp
- PICurrent.inl