ACE_Thread_Adapter Class Reference

Converts a C++ function into a function that can be called from a thread creation routine (e.g., pthread_create() or _beginthreadex()) that expects an extern "C" entry point. This class also makes it possible to transparently provide hooks to register a thread with an ACE_Thread_Manager. More...

#include <Thread_Adapter.h>

Inheritance diagram for ACE_Thread_Adapter:

Inheritance graph
[legend]
Collaboration diagram for ACE_Thread_Adapter:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Thread_Adapter (ACE_THR_FUNC user_func, void *arg, ACE_THR_C_FUNC entry_point=(ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME, ACE_Thread_Manager *thr_mgr=0, ACE_Thread_Descriptor *td=0)
 Constructor.
virtual ACE_THR_FUNC_RETURN invoke (void)
ACE_Thread_Managerthr_mgr (void)
 Accessor for the optional ACE_Thread_Manager.

Protected Member Functions

 ~ACE_Thread_Adapter (void)
 Ensure that this object must be allocated on the heap.

Private Member Functions

virtual ACE_THR_FUNC_RETURN invoke_i (void)

Private Attributes

ACE_Thread_Managerthr_mgr_
 Optional thread manager.


Detailed Description

Converts a C++ function into a function that can be called from a thread creation routine (e.g., pthread_create() or _beginthreadex()) that expects an extern "C" entry point. This class also makes it possible to transparently provide hooks to register a thread with an ACE_Thread_Manager.

This class is used in ACE_OS::thr_create(). In general, the thread that creates an object of this class is different from the thread that calls invoke() on this object. Therefore, the invoke() method is responsible for deleting itself.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Thread_Adapter::ACE_Thread_Adapter ( ACE_THR_FUNC  user_func,
void *  arg,
ACE_THR_C_FUNC  entry_point = (ACE_THR_C_FUNC) ACE_THREAD_ADAPTER_NAME,
ACE_Thread_Manager thr_mgr = 0,
ACE_Thread_Descriptor td = 0 
)

Constructor.

ACE_Thread_Adapter::~ACE_Thread_Adapter ( void   )  [protected]

Ensure that this object must be allocated on the heap.


Member Function Documentation

ACE_THR_FUNC_RETURN ACE_Thread_Adapter::invoke ( void   )  [virtual]

Execute the <user_func_> with the <arg>. This function deletes this, thereby rendering the object useless after the call returns.

Implements ACE_Base_Thread_Adapter.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Thread_Manager * ACE_Thread_Adapter::thr_mgr ( void   ) 

Accessor for the optional ACE_Thread_Manager.

ACE_THR_FUNC_RETURN ACE_Thread_Adapter::invoke_i ( void   )  [private, virtual]

Called by invoke, mainly here to separate the SEH stuff because SEH on Win32 doesn't compile with local vars with destructors.


Member Data Documentation

Optional thread manager.


The documentation for this class was generated from the following files:

Generated on Thu Nov 27 04:53:27 2008 for ACE by  doxygen 1.5.6