summaryrefslogtreecommitdiff
path: root/ACE/ace/TSS_T.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/TSS_T.h')
-rw-r--r--ACE/ace/TSS_T.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/ACE/ace/TSS_T.h b/ACE/ace/TSS_T.h
index d0ed0a7b472..6b710bb69e7 100644
--- a/ACE/ace/TSS_T.h
+++ b/ACE/ace/TSS_T.h
@@ -36,9 +36,14 @@
# endif /* ACE_HAS_THREADS && (ACE_HAS_THREAD_SPECIFIC_STORAGE || ACE_HAS_TSS_EMULATION) */
#include "ace/Thread_Mutex.h"
+#include "ace/Copy_Disabled.h"
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+#if defined (ACE_HAS_THR_C_DEST)
+class ACE_TSS_Adapter;
+#endif
+
/**
* @class ACE_TSS
*
@@ -72,7 +77,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
*
*/
template <class TYPE>
-class ACE_TSS
+class ACE_TSS : private ACE_Copy_Disabled
{
public:
/**
@@ -193,10 +198,21 @@ protected:
/// "Destructor" that deletes internal TYPE * when thread exits.
static void cleanup (void *ptr);
+
+ /// Obtains a plain value stored in the thread-specific storage.
+# if defined (ACE_HAS_THR_C_DEST)
+ ACE_TSS_Adapter *ts_value (void) const;
+# else
+ TYPE *ts_value (void) const;
+# endif /* ACE_HAS_THR_C_DEST */
+
+ /// Stores a new plain value in the thread-specific storage.
+# if defined (ACE_HAS_THR_C_DEST)
+ int ts_value (ACE_TSS_Adapter *new_tss_adapter) const;
+# else
+ int ts_value (TYPE *new_ts_obj) const;
+# endif /* ACE_HAS_THR_C_DEST */
#endif /* defined (ACE_HAS_THREADS) && (defined (ACE_HAS_THREAD_SPECIFIC_STORAGE) || defined (ACE_HAS_TSS_EMULATION)) */
- // = Disallow copying...
- ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_TSS<TYPE> &))
- ACE_UNIMPLEMENTED_FUNC (ACE_TSS (const ACE_TSS<TYPE> &))
};
/**