TAO_TSS_Resources Class Reference

The TSS resoures shared by all the ORBs. More...

#include <TSS_Resources.h>

Collaboration diagram for TAO_TSS_Resources:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_TSS_Resources (void)
 Constructor.
 ~TAO_TSS_Resources (void)
 Destructor.

Static Public Member Functions

static TAO_TSS_Resourcesinstance (void)
 Return a singleton instance of this class.

Public Attributes

void * poa_current_impl_
void * rtscheduler_current_impl_
void * rtscheduler_previous_current_impl_
CORBA::Environmentdefault_environment_
 The default environment for the thread.
CORBA::Environment tss_environment_
TAO_Policy_Current_Impl initial_policy_current_
TAO_Policy_Current_Implpolicy_current_
 This pointer is reset by the POA on each upcall.
TAO::GUIResource_Factory * gui_resource_factory_
 A factory for creating GUIReactors.
TAO::Transport_Selection_Guard * tsg_

Private Member Functions

 TAO_TSS_Resources (const TAO_TSS_Resources &)
 Do not copy TSS resources.
void operator= (const TAO_TSS_Resources &)
 Do not copy TSS resources.

Detailed Description

The TSS resoures shared by all the ORBs.

This class is used by TAO to store the resources that are thread-specific but are *not* ORB specific. The members are public because only the ORB Core is expected to access them.

Definition at line 47 of file TSS_Resources.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_TSS_Resources::TAO_TSS_Resources ( void   ) 

Constructor.

Definition at line 14 of file TSS_Resources.cpp.

00015   : poa_current_impl_ (0)
00016   , rtscheduler_current_impl_ (0)
00017   , rtscheduler_previous_current_impl_ (0)
00018   , default_environment_ (&tss_environment_)
00019 
00020 #if (TAO_HAS_CORBA_MESSAGING == 1)
00021 
00022   , policy_current_ (&initial_policy_current_)
00023 
00024 #endif /* TAO_HAS_CORBA_MESSAGING == 1 */
00025   , gui_resource_factory_ (0)
00026 #if (TAO_HAS_TRANSPORT_CURRENT == 1)
00027   , tsg_ (0)
00028 #endif /* TAO_HAS_TRANSPORT_CURRENT */
00029 {
00030 }

TAO_TSS_Resources::~TAO_TSS_Resources ( void   ) 

Destructor.

Definition at line 32 of file TSS_Resources.cpp.

00033 {
00034   delete this->gui_resource_factory_;
00035 }

TAO_TSS_Resources::TAO_TSS_Resources ( const TAO_TSS_Resources  )  [private]

Do not copy TSS resources.


Member Function Documentation

TAO_TSS_Resources * TAO_TSS_Resources::instance ( void   )  [static]

Return a singleton instance of this class.

Definition at line 38 of file TSS_Resources.cpp.

References TAO_TSS_Singleton< TYPE, ACE_LOCK >::instance().

Referenced by ACE_STATIC_SVC_DEFINE(), TAO::Transport_Selection_Guard::current(), TAO_ORB_Core::default_environment(), TAO_ORB_Core::gui_resource_factory(), TAO_Policy_Current::implementation(), TAO_ORB_Core::set_gui_resource_factory(), TAO::Transport_Selection_Guard::Transport_Selection_Guard(), and TAO::Transport_Selection_Guard::~Transport_Selection_Guard().

00039 {
00040   // Hide the template instantiation to prevent multiple instances
00041   // from being created.
00042 
00043   return
00044     TAO_TSS_Singleton<TAO_TSS_Resources, TAO_SYNCH_MUTEX>::instance ();
00045 }

void TAO_TSS_Resources::operator= ( const TAO_TSS_Resources  )  [private]

Do not copy TSS resources.


Member Data Documentation

CORBA::Environment* TAO_TSS_Resources::default_environment_

The default environment for the thread.

Definition at line 86 of file TSS_Resources.h.

Referenced by ACE_STATIC_SVC_DEFINE(), and TAO_ORB_Core::default_environment().

TAO::GUIResource_Factory* TAO_TSS_Resources::gui_resource_factory_

A factory for creating GUIReactors.

GUIResource_Factory has to be stored in TSS, as GUIReactors are operational only in within the context of GUI event loops.

Definition at line 108 of file TSS_Resources.h.

Referenced by TAO_ORB_Core::gui_resource_factory(), and TAO_ORB_Core::set_gui_resource_factory().

TAO_Policy_Current_Impl TAO_TSS_Resources::initial_policy_current_

The initial PolicyCurrent for this thread. Should be a TSS resource.

Definition at line 96 of file TSS_Resources.h.

void* TAO_TSS_Resources::poa_current_impl_

Points to structure containing state for the current upcall context in this thread. Note that it does not come from the resource factory because it must always be held in thread-specific storage. For now, since TAO_ORB_Core instances are TSS singletons, we simply ride along and don't allocate occupy another TSS slot since there are some platforms where those are precious commodities (e.g., NT).

Definition at line 79 of file TSS_Resources.h.

TAO_Policy_Current_Impl* TAO_TSS_Resources::policy_current_

This pointer is reset by the POA on each upcall.

Definition at line 99 of file TSS_Resources.h.

Referenced by TAO_Policy_Current::implementation().

void* TAO_TSS_Resources::rtscheduler_current_impl_

Definition at line 81 of file TSS_Resources.h.

void* TAO_TSS_Resources::rtscheduler_previous_current_impl_

Definition at line 83 of file TSS_Resources.h.

TAO::Transport_Selection_Guard* TAO_TSS_Resources::tsg_

A TSS for a pointer to the current transport guard (see below). The guard keeps track of the Transport, if any that has been selected for use by the current thread, in the context of an upcall or client-side interceptor.

Definition at line 117 of file TSS_Resources.h.

Referenced by TAO::Transport_Selection_Guard::current(), TAO::Transport_Selection_Guard::Transport_Selection_Guard(), and TAO::Transport_Selection_Guard::~Transport_Selection_Guard().

CORBA::Environment TAO_TSS_Resources::tss_environment_

If the user (or library) provides no environment the ORB_Core still holds one.

Definition at line 90 of file TSS_Resources.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:49 2010 for TAO by  doxygen 1.4.7