#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:
void reset (void);
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.;