#include <POA_Current_Impl.h>
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. | |
CORBA::Octet | object_id_buf_ [TAO_POA_OBJECT_ID_BUF_SIZE] |
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>. | |
bool | 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 |
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.
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] |
PortableServer::POA_ptr TAO::Portable_Server::POA_Current_Impl::get_POA | ( | void | ) |
Return pointer to the invoking POA. Raises the <CORBA::NoContext> exception.
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::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.
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.
ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::poa | ( | ::TAO_Root_POA * | p | ) |
Set the POA implementation.
ACE_INLINE::TAO_Root_POA * TAO::Portable_Server::POA_Current_Impl::poa | ( | void | ) | const |
Get the POA implemantation.
TAO_ORB_Core & TAO::Portable_Server::POA_Current_Impl::orb_core | ( | void | ) | const |
ORB Core for this current.
ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::object_id | ( | const PortableServer::ObjectId & | id | ) |
Set the object ID.
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::replace_object_id | ( | const PortableServer::ObjectId & | system_id | ) |
Just replace the object id smartly.
ACE_INLINE void TAO::Portable_Server::POA_Current_Impl::object_key | ( | const TAO::ObjectKey & | key | ) |
Set the object key.
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::servant | ( | PortableServer::Servant | servant | ) |
Set the servant for the current upcall.
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::priority | ( | CORBA::Short | priority | ) |
Set the priority for the current upcall.
ACE_INLINE CORBA::Short TAO::Portable_Server::POA_Current_Impl::priority | ( | void | ) | const |
Get the priority for the current upcall.
POA_Current_Impl * TAO::Portable_Server::POA_Current_Impl::previous | ( | void | ) | const |
Return the previous current implementation.
void TAO::Portable_Server::POA_Current_Impl::teardown | ( | void | ) |
Teardown the current for this request.
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::operator= | ( | const POA_Current_Impl & | ) | [private] |
friend class ::TAO_Root_POA [friend] |
::TAO_Root_POA* TAO::Portable_Server::POA_Current_Impl::poa_ [protected] |
The POA implementation invoking an upcall.
CORBA::Octet TAO::Portable_Server::POA_Current_Impl::object_id_buf_[TAO_POA_OBJECT_ID_BUF_SIZE] [protected] |
In order to avoid memory allocations, we will populate the object id with this buffer.
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.
The servant for the current upcall.
The priority for the current upcall.
Current previous from <this>.
bool TAO::Portable_Server::POA_Current_Impl::setup_done_ [protected] |
Is setup complete?
Pointer to tss resources.