Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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:

Collaboration graph
[legend]
List of all members.

Public Member Functions

PortableServer::POA_ptr get_POA (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException, PortableServer::Current::NoContext)
PortableServer::ObjectIdget_object_id (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException, PortableServer::Current::NoContext)
void poa (TAO_POA *)
 Set the POA implementation.
TAO_POApoa (void) const
 Get the POA implemantation.
TAO_ORB_Coreorb_core (void) const
 ORB Core for this current.
void object_id (const PortableServer::ObjectId &id)
 Set the object ID.
const PortableServer::ObjectIdobject_id (void) const
 Get the object ID.
void object_key (const TAO::ObjectKey &key)
 Set the object key.
const TAO::ObjectKeyobject_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.
 TAO_POA_Current_Impl (void)
 Convenience constructor combining construction & initialization.
TAO_POA_Current_Implprevious (void) const
 Return the previous current implementation.
void teardown (void)
 Teardown the current for this request.
void setup (TAO_POA *impl, const TAO::ObjectKey &key)
 Setup the current.

Protected Member Functions

 TAO_POA_Current_Impl (const TAO_POA_Current_Impl &)
void operator= (const TAO_POA_Current_Impl &)

Protected Attributes

TAO_POApoa_
 The POA implementation invoking an upcall.
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.
TAO_POA_Current_Implprevious_current_impl_
int setup_done_
 Is setup complete?
TAO_TSS_Resourcestss_resources_
 Pointer to tss resources.

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  ) 
 

Set the POA implementation.

TAO_POA_Current_Impl * TAO_POA_Current_Impl::previous void   )  const
 

Return the previous current 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 impl,
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:
Generated on Thu Feb 10 20:45:26 2005 for TAO_PortableServer by  doxygen 1.3.9.1