#include <TSS_Resources.h>
Collaboration diagram for TAO_TSS_Resources:
Public Member Functions | |
TAO_TSS_Resources (void) | |
Constructor. | |
~TAO_TSS_Resources (void) | |
Destructor. | |
Static Public Member Functions | |
static TAO_TSS_Resources * | instance (void) |
Return a singleton instance of this class. | |
Public Attributes | |
void * | poa_current_impl_ |
void * | rtscheduler_current_impl_ |
void * | rtscheduler_previous_current_impl_ |
CORBA::Environment * | default_environment_ |
The default environment for the thread. | |
CORBA::Environment | tss_environment_ |
TAO_Policy_Current_Impl | initial_policy_current_ |
TAO_Policy_Current_Impl * | policy_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. |
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.
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.
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.
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().
The initial PolicyCurrent for this thread. Should be a TSS resource.
Definition at line 96 of file TSS_Resources.h.
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.
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().
Definition at line 81 of file TSS_Resources.h.
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().
If the user (or library) provides no environment the ORB_Core still holds one.
Definition at line 90 of file TSS_Resources.h.