Listing 2: WinThread.h Win32-specific AThread declaration
#ifndef _WINTHREAD_
#define _WINTHREAD_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "AThread.h"
class AWinThread : public AThread {
public:
AWinThread();
virtual ~AWinThread();
void SetDeadState() { mState = DEAD; }
virtual void Kill(bool force = FALSE);
static DWORD __stdcall EntryPoint(void* par);
protected:
HANDLE mThread;
CRITICAL_SECTION mHandleLock;
virtual void LockHandle()
{ ::EnterCriticalSection(&mHandleLock); }
virtual void UnlockHandle()
{ ::LeaveCriticalSection(&mHandleLock); }
virtual void CheckStatus();
};
#endif
// End of File