TAO_PortableServer 3.1.4
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
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:
Collaboration graph
[legend]

Public Member Functions

PortableServer::POA_ptr get_POA ()
 
PortableServer::ObjectIdget_object_id ()
 
PortableServer::Servant get_servant ()
 
CORBA::Object_ptr get_reference ()
 
void poa (::TAO_Root_POA *)
 Set the POA implementation.
 
::TAO_Root_POApoa () const
 Get the POA implemantation.
 
TAO_ORB_Coreorb_core () const
 ORB Core for this current.
 
void object_id (const PortableServer::ObjectId &id)
 Set the object ID.
 
const PortableServer::ObjectIdobject_id () 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::ObjectKeyobject_key () const
 Get the object key.
 
void servant (PortableServer::Servant servant)
 Set the servant for the current upcall.
 
PortableServer::Servant servant () const
 Get the servant for the current upcall.
 
void priority (CORBA::Short priority)
 Set the priority for the current upcall.
 
CORBA::Short priority () const
 Get the priority for the current upcall.
 
 POA_Current_Impl ()
 Convenience constructor combining construction & initialization.
 
POA_Current_Implprevious () const
 Return the previous current implementation.
 
void teardown ()
 Teardown the current for this request.
 
void setup (::TAO_Root_POA *impl, const TAO::ObjectKey &key)
 Setup the current.
 

Protected Attributes

::TAO_Root_POApoa_ {}
 The POA implementation invoking an upcall.
 
CORBA::Octet object_id_buf_ [TAO_POA_OBJECT_ID_BUF_SIZE]
 
PortableServer::ObjectId object_id_
 
const TAO::ObjectKeyobject_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_Implprevious_current_impl_
 Current previous from <this>.
 
bool setup_done_
 Is setup complete?
 
TAO_TSS_Resourcestss_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

◆ POA_Current_Impl() [1/2]

TAO::Portable_Server::POA_Current_Impl::POA_Current_Impl ( )

Convenience constructor combining construction & initialization.

◆ POA_Current_Impl() [2/2]

TAO::Portable_Server::POA_Current_Impl::POA_Current_Impl ( const POA_Current_Impl & )
private

Member Function Documentation

◆ get_object_id()

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

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.

◆ get_POA()

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

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

◆ get_reference()

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

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

◆ get_servant()

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

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

◆ object_id() [1/2]

const PortableServer::ObjectId & TAO::Portable_Server::POA_Current_Impl::object_id ( ) const

Get the object ID.

◆ object_id() [2/2]

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

Set the object ID.

◆ object_key() [1/2]

const TAO::ObjectKey & TAO::Portable_Server::POA_Current_Impl::object_key ( ) const

Get the object key.

◆ object_key() [2/2]

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

Set the object key.

◆ operator=()

void TAO::Portable_Server::POA_Current_Impl::operator= ( const POA_Current_Impl & )
private

◆ orb_core()

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

ORB Core for this current.

◆ poa() [1/2]

TAO_Root_POA * TAO::Portable_Server::POA_Current_Impl::poa ( ) const

Get the POA implemantation.

◆ poa() [2/2]

void TAO::Portable_Server::POA_Current_Impl::poa ( ::TAO_Root_POA * p)

Set the POA implementation.

◆ previous()

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

Return the previous current implementation.

◆ priority() [1/2]

CORBA::Short TAO::Portable_Server::POA_Current_Impl::priority ( ) const

Get the priority for the current upcall.

◆ priority() [2/2]

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

Set the priority for the current upcall.

◆ replace_object_id()

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

Just replace the object id smartly.

◆ servant() [1/2]

PortableServer::Servant TAO::Portable_Server::POA_Current_Impl::servant ( ) const

Get the servant for the current upcall.

◆ servant() [2/2]

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

Set the servant for the current upcall.

◆ setup()

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

Setup the current.

◆ teardown()

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

Teardown the current for this request.

Friends And Related Symbol Documentation

◆ ::TAO_Root_POA

friend class ::TAO_Root_POA
friend

Member Data Documentation

◆ object_id_

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.

◆ object_id_buf_

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.

◆ object_key_

const TAO::ObjectKey* TAO::Portable_Server::POA_Current_Impl::object_key_
protected

The object key of the current context.

◆ poa_

::TAO_Root_POA* TAO::Portable_Server::POA_Current_Impl::poa_ {}
protected

The POA implementation invoking an upcall.

◆ previous_current_impl_

POA_Current_Impl* TAO::Portable_Server::POA_Current_Impl::previous_current_impl_
protected

Current previous from <this>.

◆ priority_

CORBA::Short TAO::Portable_Server::POA_Current_Impl::priority_
protected

The priority for the current upcall.

◆ servant_

PortableServer::Servant TAO::Portable_Server::POA_Current_Impl::servant_
protected

The servant for the current upcall.

◆ setup_done_

bool TAO::Portable_Server::POA_Current_Impl::setup_done_
protected

Is setup complete?

◆ tss_resources_

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: