s/Uint/UInt/g
[ACE_TAO.git] / TAO / tao / ORB_Core_TSS_Resources.h
blob01e5a60de9c26502fa45d2536dafc2793647c486
1 // -*- C++ -*-
3 // ===================================================================
4 /**
5 * @file ORB_Core_TSS_Resources.h
7 * @author DOC Center - Washington University at St. Louis
8 * @author DOC Laboratory - University of California at Irvine
9 */
10 // ===================================================================
12 #ifndef TAO_ORB_CORE_TSS_RESOURCES_H
13 #define TAO_ORB_CORE_TSS_RESOURCES_H
15 #include /**/ "ace/pre.h"
17 #include /**/ "tao/TAO_Export.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/orbconf.h"
24 #include "ace/Array_Base.h"
26 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
28 class TAO_ORB_Core;
30 /**
31 * @class TAO_ORB_Core_TSS_Resources
33 * @brief The TSS resoures of an ORB core.
35 * This class is used by the ORB_Core to store the resources
36 * potentially bound to a thread in TSS storage. The members are public
37 * because only the ORB Core is expected to access them.
39 class TAO_Export TAO_ORB_Core_TSS_Resources
41 public:
43 /// Constructor
44 TAO_ORB_Core_TSS_Resources ();
46 /// destructor
47 ~TAO_ORB_Core_TSS_Resources ();
49 /// Cleans TSS resources.
50 void fini ();
52 private:
54 /// The ORB Core TSS resources should not be copied
55 TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources&);
56 void operator= (const TAO_ORB_Core_TSS_Resources&);
58 public:
60 /**
61 * @todo
62 * The rest of the resources are not currently in use, just a plan
63 * for the future...
65 /// Counter for how (nested) calls this thread has made to run the
66 /// event loop.
67 int event_loop_thread_;
69 /// Counter for how many times this thread has become a client
70 /// leader.
71 int client_leader_thread_;
73 /// Lane for this thread.
74 void *lane_;
76 /// Generic container for thread-specific objects.
77 ACE_Array_Base<void *> ts_objects_;
79 // Set to true by the wait_on_lf_no_nested_upcall wait strategy
80 // @CJC@ maybe we should use allocate_tss_slot_id() instead?
81 bool upcalls_temporarily_suspended_on_this_thread_;
83 /// Pointer to the ORB core. Needed to get access to the TSS
84 /// cleanup functions for the TSS objects stored in the TSS object
85 /// array in this class.
86 TAO_ORB_Core *orb_core_;
89 TAO_END_VERSIONED_NAMESPACE_DECL
91 #include /**/ "ace/post.h"
92 #endif /* TAO_ORB_CORE_H */