diff options
Diffstat (limited to 'ACE/ace/TSS_T.h')
-rw-r--r-- | ACE/ace/TSS_T.h | 24 |
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> &)) }; /** |