Initial Patch of Auction House bot rev. 135
[auctionmangos.git] / dep / ACE_wrappers / ace / TSS_Adapter.h
blobb8ff85e3210c78ce0881bae439db00be39b323f7
1 // -*- C++ -*-
3 //==========================================================================
4 /**
5 * @file TSS_Adapter.h
7 * $Id: TSS_Adapter.h 80826 2008-03-04 14:51:23Z wotte $
9 * Originally in Synch.h
11 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
13 //==========================================================================
15 #ifndef ACE_TSS_ADAPTER_H
16 #define ACE_TSS_ADAPTER_H
17 #include /**/ "ace/pre.h"
19 #include /**/ "ace/ACE_export.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 # pragma once
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
27 /**
28 * @class ACE_TSS_Adapter
30 * @brief This class encapsulates a TSS object and its associated
31 * C++ destructor function. It is used by the ACE_TSS...
32 * methods (in Synch_T.cpp) in order to allow an extern
33 * "C" cleanup routine to be used. Needed by the "frigging"
34 * MVS C++ compiler.
36 * Objects of this class are stored in thread specific
37 * storage. ts_obj_ points to the "real" object and
38 * func_ is a pointer to the C++ cleanup function for ts_obj_.
40 class ACE_Export ACE_TSS_Adapter
42 public:
43 /// Initialize the adapter.
44 ACE_TSS_Adapter (void *object, ACE_THR_DEST f);
46 /// Perform the cleanup operation.
47 void cleanup (void);
49 //private:
51 /// The real TS object.
52 void * const ts_obj_;
54 /// The real cleanup routine for ts_obj;
55 ACE_THR_DEST func_;
58 ACE_END_VERSIONED_NAMESPACE_DECL
60 #include /**/ "ace/post.h"
61 #endif /* ACE_TSS_ADAPTER_H */