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)

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.

Implements PortableServer::Current.

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.

Implements PortableServer::Current.

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.

Implements PortableServer::Current.

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

Implements PortableServer::Current.

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 Sun Jan 27 13:29:06 2008 for TAO_PortableServer by doxygen 1.3.6