#include <ace/Thread_Manager.h>
class ACE_Thread_Descriptor_Base : public ACE_OS_Thread_Descriptor {
public:friend class ACE_Thread_Manager;friend class ACE_Double_Linked_List<ACE_Thread_Descriptor_Base>;friend class ACE_Double_Linked_List_Iterator_Base<ACE_Thread_Descriptor_Base>; friend class ACE_Double_Linked_List_Iterator<ACE_Thread_Descriptor_Base>;friend class ACE_Double_Linked_List<ACE_Thread_Descriptor>;friend class ACE_Double_Linked_List_Iterator_Base<ACE_Thread_Descriptor>; friend class ACE_Double_Linked_List_Iterator<ACE_Thread_Descriptor>;ACE_Thread_Descriptor_Base (void);~ACE_Thread_Descriptor_Base (void);int operator== (const ACE_Thread_Descriptor_Base &rhs) const;int operator!= (const ACE_Thread_Descriptor_Base &rhs) const;int grp_id (void);ACE_UINT32 state (void);ACE_Task_Base *task (void);protected:ACE_thread_t thr_id_;ACE_hthread_t thr_handle_;int grp_id_;ACE_UINT32 thr_state_;ACE_Task_Base *task_;ACE_Thread_Descriptor_Base *next_;ACE_Thread_Descriptor_Base *prev_;};
int operator== (const ACE_Thread_Descriptor_Base &rhs) const;
int operator!= (const ACE_Thread_Descriptor_Base &rhs) const;
int grp_id (void);
ACE_UINT32 state (void);
ACE_Task_Base *task (void);
ACE_Task_Base or NULL if there's no
ACE_Task_Base associated with this thread.;