TAO_PI 4.0.0
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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]

Public Member Functions

 PICurrent_Impl (TAO_ORB_Core *orb_core=0, size_t tss_slot=0, PICurrent_Impl *pop=0)
 Constructor.
 
 ~PICurrent_Impl ()
 Destructor.
 
CORBA::Any * get_slot (PortableInterceptor::SlotId identifier)
 
void set_slot (PortableInterceptor::SlotId identifier, const CORBA::Any &data)
 Set information in the slot table at the given SlotId.
 
void take_lazy_copy (PICurrent_Impl *p)
 Logically/Lazy (shallow) copy the given object's slot table.
 
void push ()
 Push a new PICurrent_Impl on stack.
 
void pop ()
 Pop old PICurrent_Impl from stack.
 

Private Types

typedef ACE_Array_Base< CORBA::Any > Table
 Typedef for the underyling "slot table.".
 

Private Member Functions

void convert_from_lazy_to_real_copy ()
 
void set_callback_for_impending_change (PICurrent_Impl *p)
 
Tablecurrent_slot_table ()
 
 PICurrent_Impl (const PICurrent_Impl &)=delete
 
void operator= (const PICurrent_Impl &)=delete
 

Private Attributes

TAO_ORB_Coreorb_core_
 Allow for stack of PICurrent_Impl as required.
 
size_t tss_slot_
 
PICurrent_Implpop_
 
PICurrent_Implpush_
 
Table slot_table_
 Array of CORBA::Anys that is the underlying "slot table.".
 
PICurrent_Impllazy_copy_
 
PICurrent_Implimpending_change_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

◆ Table

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

Typedef for the underyling "slot table.".

Constructor & Destructor Documentation

◆ PICurrent_Impl() [1/2]

TAO::PICurrent_Impl::PICurrent_Impl ( TAO_ORB_Core * orb_core = 0,
size_t tss_slot = 0,
PICurrent_Impl * pop = 0 )
inline

Constructor.

◆ ~PICurrent_Impl()

TAO::PICurrent_Impl::~PICurrent_Impl ( )

Destructor.

◆ PICurrent_Impl() [2/2]

TAO::PICurrent_Impl::PICurrent_Impl ( const PICurrent_Impl & )
privatedelete

Member Function Documentation

◆ convert_from_lazy_to_real_copy()

void TAO::PICurrent_Impl::convert_from_lazy_to_real_copy ( )
inlineprivate

Force this object to convert from a logical (referenced) copy, to a physical (or deep, actual) copy.

◆ current_slot_table()

TAO::PICurrent_Impl::Table & TAO::PICurrent_Impl::current_slot_table ( )
inlineprivate

Return a reference to the slot table currently associated with this PICurrent_Impl object.

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

◆ get_slot()

CORBA::Any * TAO::PICurrent_Impl::get_slot ( PortableInterceptor::SlotId identifier)

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

◆ operator=()

void TAO::PICurrent_Impl::operator= ( const PICurrent_Impl & )
privatedelete

◆ pop()

void TAO::PICurrent_Impl::pop ( )

Pop old PICurrent_Impl from stack.

◆ push()

void TAO::PICurrent_Impl::push ( )

Push a new PICurrent_Impl on stack.

◆ set_callback_for_impending_change()

void TAO::PICurrent_Impl::set_callback_for_impending_change ( TAO::PICurrent_Impl * p)
inlineprivate

Set the callback PICurrent_Impl object that will be notified of this object's impending destruction or change. Set to 0 to clear. (NOTE Only handles a SINGLE object at at time, does NOT warn previous callback that this has been changed.)

◆ set_slot()

void TAO::PICurrent_Impl::set_slot ( PortableInterceptor::SlotId identifier,
const CORBA::Any & data )

Set information in the slot table at the given SlotId.

◆ take_lazy_copy()

void TAO::PICurrent_Impl::take_lazy_copy ( TAO::PICurrent_Impl * p)

Logically/Lazy (shallow) copy the given object's slot table.

Member Data Documentation

◆ impending_change_callback_

PICurrent_Impl* TAO::PICurrent_Impl::impending_change_callback_
private

PICurrent_Impl object that will be notified of this object's impending destruction or change to its slot_table_. This is the PICurrent_Impl that has access to our slot_table_ via its lazy_copy_ pointer. As necessary this allows that object's convert_from_lazy_to_real_copy() to be called.

◆ lazy_copy_

PICurrent_Impl* TAO::PICurrent_Impl::lazy_copy_
private

Access to logical copy from a PICurrent_Impl in another scope, i.e. either the request scope or the thread scope.

◆ orb_core_

TAO_ORB_Core* TAO::PICurrent_Impl::orb_core_
private

Allow for stack of PICurrent_Impl as required.

◆ pop_

PICurrent_Impl* TAO::PICurrent_Impl::pop_
private

◆ push_

PICurrent_Impl* TAO::PICurrent_Impl::push_
private

◆ slot_table_

Table TAO::PICurrent_Impl::slot_table_
private

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

◆ tss_slot_

size_t TAO::PICurrent_Impl::tss_slot_
private

The documentation for this class was generated from the following files: