Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / ORB_Core_TSS_Resources.h
blob922b827db7f661bb2a2c3e4590877e493cb9112b
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:
42 /// Constructor
43 TAO_ORB_Core_TSS_Resources ();
45 /// destructor
46 ~TAO_ORB_Core_TSS_Resources ();
48 /// Cleans TSS resources.
49 void fini ();
51 private:
52 /// The ORB Core TSS resources should not be copied
53 TAO_ORB_Core_TSS_Resources (const TAO_ORB_Core_TSS_Resources&);
54 void operator= (const TAO_ORB_Core_TSS_Resources&);
56 public:
57 /**
58 * @todo
59 * The rest of the resources are not currently in use, just a plan
60 * for the future...
62 /// Counter for how (nested) calls this thread has made to run the
63 /// event loop.
64 int event_loop_thread_;
66 /// Counter for how many times this thread has become a client
67 /// leader.
68 int client_leader_thread_;
70 /// Lane for this thread.
71 void *lane_;
73 /// Generic container for thread-specific objects.
74 ACE_Array_Base<void *> ts_objects_;
76 // Set to true by the wait_on_lf_no_nested_upcall wait strategy
77 // @CJC@ maybe we should use allocate_tss_slot_id() instead?
78 bool upcalls_temporarily_suspended_on_this_thread_;
80 /// Pointer to the ORB core. Needed to get access to the TSS
81 /// cleanup functions for the TSS objects stored in the TSS object
82 /// array in this class.
83 TAO_ORB_Core *orb_core_;
86 TAO_END_VERSIONED_NAMESPACE_DECL
88 #include /**/ "ace/post.h"
89 #endif /* TAO_ORB_CORE_H */