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

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_Factorygui_resource_factory_
 A factory for creating GUIReactors.


Private Member Functions

Template methods
 TAO_TSS_Resources (const TAO_TSS_Resources &)
void operator= (const TAO_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 46 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.

References TAO_HAS_CORBA_MESSAGING.

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 
00027 {
00028 }

TAO_TSS_Resources::~TAO_TSS_Resources void   ) 
 

Destructor.

Definition at line 30 of file TSS_Resources.cpp.

References gui_resource_factory_.

00031 {
00032   delete this->gui_resource_factory_;
00033 }

TAO_TSS_Resources::TAO_TSS_Resources const TAO_TSS_Resources  )  [private]
 


Member Function Documentation

TAO_TSS_Resources * TAO_TSS_Resources::instance void   )  [static]
 

Return a singleton instance of this class.

Definition at line 36 of file TSS_Resources.cpp.

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

Referenced by ACE_STATIC_SVC_DEFINE(), TAO_ORB_Core::default_environment(), TAO_ORB_Core::gui_resource_factory(), TAO_Policy_Current::implementation(), and TAO_ORB_Core::set_gui_resource_factory().

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

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


Member Data Documentation

CORBA::Environment* TAO_TSS_Resources::default_environment_
 

The default environment for the thread.

Definition at line 85 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 107 of file TSS_Resources.h.

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

TAO_Policy_Current_Impl TAO_TSS_Resources::initial_policy_current_
 

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

Definition at line 95 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 78 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 98 of file TSS_Resources.h.

Referenced by TAO_Policy_Current::implementation().

void* TAO_TSS_Resources::rtscheduler_current_impl_
 

Definition at line 80 of file TSS_Resources.h.

void* TAO_TSS_Resources::rtscheduler_previous_current_impl_
 

Definition at line 82 of file TSS_Resources.h.

CORBA::Environment TAO_TSS_Resources::tss_environment_
 

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

Definition at line 89 of file TSS_Resources.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:24:12 2006 for TAO by doxygen 1.3.6