TAO::Portable_Server::POA_Current Class Reference

#include <POA_Current.h>

Inheritance diagram for TAO::Portable_Server::POA_Current:

Inheritance graph
[legend]
Collaboration diagram for TAO::Portable_Server::POA_Current:

Collaboration graph
[legend]
List of all members.

Public Member Functions

PortableServer::POA_ptr get_POA (void)
PortableServer::ObjectIdget_object_id (void)
CORBA::Object_ptr get_reference (void)
PortableServer::Servant get_servant (void)
POA_Current_Implimplementation (void)
 Returns the class that implements this interface.
POA_Current_Implimplementation (POA_Current_Impl *new_current)

Detailed Description

Definition at line 40 of file POA_Current.h.


Member Function Documentation

PortableServer::ObjectId * TAO::Portable_Server::POA_Current::get_object_id ( void   ) 

Returns the object id of the current request being invoked. Can raise the NoContext exception if this function is not invoked in the context of an upcall.

Definition at line 31 of file POA_Current.cpp.

References TAO::Portable_Server::POA_Current_Impl::get_object_id(), and implementation().

00032     {
00033       POA_Current_Impl *impl = this->implementation ();
00034 
00035       if (impl == 0)
00036         throw PortableServer::Current::NoContext ();
00037       return impl->get_object_id ();
00038     }

PortableServer::POA_ptr TAO::Portable_Server::POA_Current::get_POA ( void   ) 

Returns the POA on which the current request is being invoked. Can raise the NoContext exception if this function is not invoked in the context of an upcall.

Definition at line 21 of file POA_Current.cpp.

References TAO::Portable_Server::POA_Current_Impl::get_POA(), and implementation().

00022     {
00023       POA_Current_Impl *impl = this->implementation ();
00024 
00025       if (impl == 0)
00026         throw PortableServer::Current::NoContext ();
00027       return impl->get_POA ();
00028     }

CORBA::Object_ptr TAO::Portable_Server::POA_Current::get_reference ( void   ) 

This operation returns a locally manufactured reference to the object in the context of which it is called. If called outside the context of a POA dispatched operation, a NoContext exception is raised.

Note:
This reference is not guaranteed to be identical to the original reference the client used to make the invocation, and calling the Object::is_equivalent operation to compare the two references may not necessarily return true.

Definition at line 51 of file POA_Current.cpp.

References TAO::Portable_Server::POA_Current_Impl::get_reference(), and implementation().

00052     {
00053       POA_Current_Impl *impl = this->implementation ();
00054 
00055       if (impl == 0)
00056         throw PortableServer::Current::NoContext ();
00057       return impl->get_reference ();
00058     }

PortableServer::Servant TAO::Portable_Server::POA_Current::get_servant ( void   ) 

Returns a reference to the servant that hosts the object in whose context it is called. If called outside the context of the POA dispatched operation, a NoContext exception is raised

Definition at line 41 of file POA_Current.cpp.

References TAO::Portable_Server::POA_Current_Impl::get_servant(), and implementation().

00042     {
00043       POA_Current_Impl *impl = this->implementation ();
00044 
00045       if (impl == 0)
00046         throw PortableServer::Current::NoContext ();
00047       return impl->get_servant ();
00048     }

POA_Current_Impl * TAO::Portable_Server::POA_Current::implementation ( POA_Current_Impl new_current  ) 

Sets the thread-specific pointer to the new POA Current state, returning a pointer to the existing POA Current state.

Definition at line 68 of file POA_Current.cpp.

References TAO_TSS_Resources::instance(), and TAO_TSS_Resources::poa_current_impl_.

00069     {
00070       TAO_TSS_Resources *tss = TAO_TSS_Resources::instance ();
00071 
00072       POA_Current_Impl *old =
00073         static_cast <POA_Current_Impl *>
00074                      (tss->poa_current_impl_);
00075       tss->poa_current_impl_ = new_current;
00076       return old;
00077     }

POA_Current_Impl * TAO::Portable_Server::POA_Current::implementation ( void   ) 

Returns the class that implements this interface.

Definition at line 61 of file POA_Current.cpp.

References TAO_TSS_Resources::instance(), and TAO_TSS_Resources::poa_current_impl_.

Referenced by get_object_id(), get_POA(), get_reference(), and get_servant().

00062     {
00063       return static_cast <POA_Current_Impl *>
00064                         (TAO_TSS_Resources::instance ()->poa_current_impl_);
00065     }


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:41:45 2010 for TAO_PortableServer by  doxygen 1.4.7