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

# TAO_POA_Current_Impl Class Reference

Implementation of the PortableServer::Current object. More...

`#include <Object_Adapter.h>`

Collaboration diagram for TAO_POA_Current_Impl:

[legend]
List of all members.

## Public Methods
PortableServer::POA_ptr | get_POA (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException, PortableServer::Current::NoContext)
| Return pointer to the invoking POA. Raises the <CORBA::NoContext> exception. More...
PortableServer::ObjectId * | get_object_id (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException, PortableServer::Current::NoContext)
void | poa (TAO_POA *)
| Set the POA implementation. More...
TAO_POA * | poa (void) const
| Get the POA implemantation. More...
TAO_ORB_Core & | orb_core (void) const
| ORB Core for this current. More...
void | object_id (const PortableServer::ObjectId &id)
| Set the object ID. More...
const PortableServer::ObjectId & | object_id (void) const
| Get the object ID. More...
void | object_key (const TAO_ObjectKey &key)
| Set the object key. More...
const TAO_ObjectKey & | object_key (void) const
| Get the object key. More...
void | servant (PortableServer::Servant servant)
| Set the servant for the current upcall. More...
PortableServer::Servant | servant (void) const
| Get the servant for the current upcall. More...
void | priority (CORBA::Short priority)
| Set the priority for the current upcall. More...
CORBA::Short | priority (void) const
| Get the priority for the current upcall. More...
| TAO_POA_Current_Impl (void)
| Convenience constructor combining construction & initialization. More...
void | teardown (void)
| Teardown the current for this request. More...
void | setup (TAO_POA *impl, const TAO_ObjectKey &key)
| Setup the current. More...
## Protected Methods
| TAO_POA_Current_Impl (const TAO_POA_Current_Impl &)
void | operator= (const TAO_POA_Current_Impl &)
## Protected Attributes
TAO_POA * | poa_
| The POA implementation invoking an upcall. More...
PortableServer::ObjectId | object_id_
const TAO_ObjectKey * | object_key_
| The object key of the current context. More...
PortableServer::Servant | servant_
| The servant for the current upcall. More...
CORBA::Short | priority_
| The priority for the current upcall. More...
TAO_POA_Current_Impl * | previous_current_impl_
| void *previous_current_impl_; Current previous from <this>. More...
int | setup_done_
| Is setup complete? More...
TAO_TSS_Resources * | tss_resources_
| Pointer to tss resources. More...
## Friends
class | TAO_POA

## Detailed Description

Implementation of the PortableServer::Current object.

Objects of this class hold state information regarding the current POA invocation. Savvy readers will notice that this contains substantially more methods than the POA spec shows; they exist because the ORB either (a) needs them or (b) finds them useful for implementing a more efficient ORB. The intent is that instances of this class are held in Thread-Specific Storage so that upcalls can get context information regarding their invocation. The POA itself must insure that all <set_*> operations are performed in the execution thread so that the proper <TAO_POA_Current> pointer is obtained from TSS.

## Constructor & Destructor Documentation

TAO_POA_Current_Impl::TAO_POA_Current_Impl | ( | void |  | ) |

| Convenience constructor combining construction & initialization.

TAO_POA_Current_Impl::TAO_POA_Current_Impl | ( | const TAO_POA_Current_Impl & |  | ) | `[protected]`

## Member Function Documentation

PortableServer::ObjectId * TAO_POA_Current_Impl::get_object_id | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | throw (CORBA::SystemException, PortableServer::Current::NoContext)

| Return pointer to the object id through which this was invoked. This may be necessary in cases where a <Servant> is serving under the guise of multiple object ids. This has _out semantics Raises the <CORBA::NoContext> exception.

PortableServer::POA_ptr TAO_POA_Current_Impl::get_POA | ( | ACE_ENV_SINGLE_ARG_DECL |  | ) | throw (CORBA::SystemException, PortableServer::Current::NoContext)

| Return pointer to the invoking POA. Raises the <CORBA::NoContext> exception.

ACE_INLINE const PortableServer::ObjectId & TAO_POA_Current_Impl::object_id | ( | void |  | ) | const

| Get the object ID.

ACE_INLINE void TAO_POA_Current_Impl::object_id | ( | const PortableServer::ObjectId & | id | ) |

| Set the object ID.

ACE_INLINE const TAO_ObjectKey & TAO_POA_Current_Impl::object_key | ( | void |  | ) | const

| Get the object key.

ACE_INLINE void TAO_POA_Current_Impl::object_key | ( | const TAO_ObjectKey & | key | ) |

| Set the object key.

void TAO_POA_Current_Impl::operator= | ( | const TAO_POA_Current_Impl & |  | ) | `[protected]`

TAO_ORB_Core & TAO_POA_Current_Impl::orb_core | ( | void |  | ) | const

| ORB Core for this current.

ACE_INLINE TAO_POA * TAO_POA_Current_Impl::poa | ( | void |  | ) | const

| Get the POA implemantation.

ACE_INLINE void TAO_POA_Current_Impl::poa | ( | TAO_POA * | p | ) |

| Set the POA implementation.

ACE_INLINE CORBA::Short TAO_POA_Current_Impl::priority | ( | void |  | ) | const

| Get the priority for the current upcall.

ACE_INLINE void TAO_POA_Current_Impl::priority | ( | CORBA::Short | priority | ) |

| Set the priority for the current upcall.

ACE_INLINE PortableServer::Servant TAO_POA_Current_Impl::servant | ( | void |  | ) | const

| Get the servant for the current upcall.

ACE_INLINE void TAO_POA_Current_Impl::servant | ( | PortableServer::Servant | servant | ) |

| Set the servant for the current upcall.

void TAO_POA_Current_Impl::setup | ( | TAO_POA * | p,
|  | const TAO_ObjectKey & | key
| ) |

| Setup the current.

void TAO_POA_Current_Impl::teardown | ( | void |  | ) |

| Teardown the current for this request.

## Friends And Related Function Documentation

friend class TAO_POA`[friend]`

## Member Data Documentation

PortableServer::ObjectId TAO_POA_Current_Impl::object_id_`[protected]`

| The object ID of the current context. This is the user id and not the id the goes into the IOR. Note also that unlike the <object_key>, this field is stored by value.

const TAO_ObjectKey* TAO_POA_Current_Impl::object_key_`[protected]`

| The object key of the current context.

TAO_POA* TAO_POA_Current_Impl::poa_`[protected]`

| The POA implementation invoking an upcall.

TAO_POA_Current_Impl* TAO_POA_Current_Impl::previous_current_impl_`[protected]`

| void *previous_current_impl_; Current previous from <this>.

CORBA::Short TAO_POA_Current_Impl::priority_`[protected]`

| The priority for the current upcall.

PortableServer::Servant TAO_POA_Current_Impl::servant_`[protected]`

| The servant for the current upcall.

int TAO_POA_Current_Impl::setup_done_`[protected]`

| Is setup complete?

TAO_TSS_Resources* TAO_POA_Current_Impl::tss_resources_`[protected]`

| Pointer to tss resources.

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

- Object_Adapter.h
- Object_Adapter.cpp
- Object_Adapter.i