3 //==========================================================================
7 * @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
9 //==========================================================================
11 #ifndef ACE_TSS_ADAPTER_H
12 #define ACE_TSS_ADAPTER_H
13 #include /**/ "ace/pre.h"
15 #include /**/ "ace/ACE_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
24 * @class ACE_TSS_Adapter
26 * @brief This class encapsulates a TSS object and its associated
27 * C++ destructor function. It is used by the ACE_TSS...
28 * methods (in Synch_T.cpp) in order to allow an extern
29 * "C" cleanup routine to be used.
31 * Objects of this class are stored in thread specific
32 * storage. ts_obj_ points to the "real" object and
33 * func_ is a pointer to the C++ cleanup function for ts_obj_.
35 class ACE_Export ACE_TSS_Adapter
38 /// Initialize the adapter.
39 ACE_TSS_Adapter (void *object
, ACE_THR_DEST f
);
41 /// Perform the cleanup operation.
44 ACE_ALLOC_HOOK_DECLARE
;
47 /// The real TS object.
50 /// The real cleanup routine for ts_obj;
54 ACE_END_VERSIONED_NAMESPACE_DECL
56 #include /**/ "ace/post.h"
57 #endif /* ACE_TSS_ADAPTER_H */