TAO_PortableServer
2.3.3
|
Implementation of the PortableServer::Current object. More...
#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. More... | |
::TAO_Root_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 | replace_object_id (const PortableServer::ObjectId &system_id) |
Just replace the object id smartly. 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... | |
POA_Current_Impl (void) | |
Convenience constructor combining construction & initialization. More... | |
POA_Current_Impl * | previous (void) const |
Return the previous current implementation. More... | |
void | teardown (void) |
Teardown the current for this request. More... | |
void | setup (::TAO_Root_POA *impl, const TAO::ObjectKey &key) |
Setup the current. More... | |
Protected Attributes | |
::TAO_Root_POA * | poa_ |
The POA implementation invoking an upcall. More... | |
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. More... | |
PortableServer::Servant | servant_ |
The servant for the current upcall. More... | |
CORBA::Short | priority_ |
The priority for the current upcall. More... | |
POA_Current_Impl * | previous_current_impl_ |
Current previous from <this>. More... | |
bool | setup_done_ |
Is setup complete? More... | |
TAO_TSS_Resources * | tss_resources_ |
Pointer to tss resources. More... | |
Private Member Functions | |
POA_Current_Impl (const POA_Current_Impl &) | |
void | operator= (const POA_Current_Impl &) |
Friends | |
class | ::TAO_Root_POA |
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.
TAO::Portable_Server::POA_Current_Impl::POA_Current_Impl | ( | void | ) |
Convenience constructor combining construction & initialization.
|
private |
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 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::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.
|
private |
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::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.
POA_Current_Impl * TAO::Portable_Server::POA_Current_Impl::previous | ( | void | ) | const |
Return the previous current implementation.
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.
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::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.
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.
|
friend |
|
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.
|
protected |
In order to avoid memory allocations, we will populate the object id with this buffer.
|
protected |
The object key of the current context.
|
protected |
The POA implementation invoking an upcall.
|
protected |
Current previous from <this>.
|
protected |
The priority for the current upcall.
|
protected |
The servant for the current upcall.
|
protected |
Is setup complete?
|
protected |
Pointer to tss resources.