Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# TAO::Portable_Server::POA_Current_Impl Class Reference

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

`#include <POA_Current_Impl.h>`

Collaboration diagram for TAO::Portable_Server::POA_Current_Impl:

[legend]
List of all members.

## Public Member Functions
PortableServer::POA_ptr | get_POA (void)
PortableServer::ObjectId * | get_object_id (void)
PortableServer::Servant | get_servant (void)
CORBA::Object_ptr | get_reference (void)
void | poa (::TAO_Root_POA *)
| Set the POA implementation.
::TAO_Root_POA * | poa (void) const
| Get the POA implemantation.
TAO_ORB_Core & | orb_core (void) const
| ORB Core for this current.
void | object_id (const PortableServer::ObjectId &id)
| Set the object ID.
const PortableServer::ObjectId & | object_id (void) const
| Get the object ID.
void | replace_object_id (const PortableServer::ObjectId &system_id)
| Just replace the object id smartly.
void | object_key (const TAO::ObjectKey &key)
| Set the object key.
const TAO::ObjectKey & | object_key (void) const
| Get the object key.
void | servant (PortableServer::Servant servant)
| Set the servant for the current upcall.
PortableServer::Servant | servant (void) const
| Get the servant for the current upcall.
void | priority (CORBA::Short priority)
| Set the priority for the current upcall.
CORBA::Short | priority (void) const
| Get the priority for the current upcall.
| POA_Current_Impl (void)
| Convenience constructor combining construction & initialization.
POA_Current_Impl * | previous (void) const
| Return the previous current implementation.
void | teardown (void)
| Teardown the current for this request.
void | setup (::TAO_Root_POA *impl, const TAO::ObjectKey &key)
| Setup the current.
## Protected Attributes
::TAO_Root_POA * | poa_
| The POA implementation invoking an upcall.
PortableServer::ObjectId | object_id_
const TAO::ObjectKey * | object_key_
| The object key of the current context.
PortableServer::Servant | servant_
| The servant for the current upcall.
CORBA::Short | priority_
| The priority for the current upcall.
POA_Current_Impl * | previous_current_impl_
| Current previous from <this>.
int | setup_done_
| Is setup complete?
TAO_TSS_Resources * | tss_resources_
| Pointer to tss resources.
## Private Member Functions
| POA_Current_Impl (const POA_Current_Impl &)
void | operator= (const POA_Current_Impl &)
## Friends
class | ::TAO_Root_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::Portable_Server::POA_Current_Impl::POA_Current_Impl | ( | void |  | ) |

| Convenience constructor combining construction & initialization.

TAO::Portable_Server::POA_Current_Impl::POA_Current_Impl | ( | const POA_Current_Impl & |  | ) | `[private]`

## Member Function Documentation

PortableServer::ObjectId * TAO::Portable_Server::POA_Current_Impl::get_object_id | ( | void |  | ) |

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

PortableServer::POA_ptr TAO::Portable_Server::POA_Current_Impl::get_POA | ( | void |  | ) |

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

CORBA::Object_ptr TAO::Portable_Server::POA_Current_Impl::get_reference | ( | void |  | ) |

| This operation returns a locally manufactured reference to the object in the context of which it is called.

PortableServer::Servant TAO::Portable_Server::POA_Current_Impl::get_servant | ( | void |  | ) |

| Returns a reference to the servant that hosts the object in whose context it is called.

ACE_INLINE const PortableServer::ObjectId & TAO::Portable_Server::POA_Current_Impl::object_id | ( | void |  | ) | const

| Get the object ID.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::object_id | ( | const PortableServer::ObjectId & | id | ) |

| Set the object ID.

ACE_INLINE const TAO::ObjectKey & TAO::Portable_Server::POA_Current_Impl::object_key | ( | void |  | ) | const

| Get the object key.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::object_key | ( | const TAO::ObjectKey & | key | ) |

| Set the object key.

void TAO::Portable_Server::POA_Current_Impl::operator= | ( | const POA_Current_Impl & |  | ) | `[private]`

TAO_ORB_Core & TAO::Portable_Server::POA_Current_Impl::orb_core | ( | void |  | ) | const

| ORB Core for this current.

ACE_INLINE::TAO_Root_POA * TAO::Portable_Server::POA_Current_Impl::poa | ( | void |  | ) | const

| Get the POA implemantation.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::poa | ( | ::TAO_Root_POA * |  | ) |

| Set the POA implementation.

POA_Current_Impl * TAO::Portable_Server::POA_Current_Impl::previous | ( | void |  | ) | const

| Return the previous current implementation.

ACE_INLINE CORBA::Short TAO::Portable_Server::POA_Current_Impl::priority | ( | void |  | ) | const

| Get the priority for the current upcall.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::priority | ( | CORBA::Short | priority | ) |

| Set the priority for the current upcall.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::replace_object_id | ( | const PortableServer::ObjectId & | system_id | ) |

| Just replace the object id smartly.

ACE_INLINE PortableServer::Servant TAO::Portable_Server::POA_Current_Impl::servant | ( | void |  | ) | const

| Get the servant for the current upcall.

ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::servant | ( | PortableServer::Servant | servant | ) |

| Set the servant for the current upcall.

void TAO::Portable_Server::POA_Current_Impl::setup | ( | ::TAO_Root_POA * | impl,
|  | const TAO::ObjectKey & | key
| ) |

| Setup the current.

void TAO::Portable_Server::POA_Current_Impl::teardown | ( | void |  | ) |

| Teardown the current for this request.

## Friends And Related Function Documentation

friend class ::TAO_Root_POA`[friend]`

## Member Data Documentation

PortableServer::ObjectId TAO::Portable_Server::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::Portable_Server::POA_Current_Impl::object_key_`[protected]`

| The object key of the current context.

::TAO_Root_POA* TAO::Portable_Server::POA_Current_Impl::poa_`[protected]`

| The POA implementation invoking an upcall.

POA_Current_Impl* TAO::Portable_Server::POA_Current_Impl::previous_current_impl_`[protected]`

| Current previous from <this>.

CORBA::Short TAO::Portable_Server::POA_Current_Impl::priority_`[protected]`

| The priority for the current upcall.

PortableServer::Servant TAO::Portable_Server::POA_Current_Impl::servant_`[protected]`

| The servant for the current upcall.

int TAO::Portable_Server::POA_Current_Impl::setup_done_`[protected]`

| Is setup complete?

TAO_TSS_Resources* TAO::Portable_Server::POA_Current_Impl::tss_resources_`[protected]`

| Pointer to tss resources.

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

- POA_Current_Impl.h
- POA_Current_Impl.cpp
- POA_Current_Impl.inl