summaryrefslogblamecommitdiffstats
path: root/source/cThread.h
blob: 5707e4bacf5b8455d8f77161527e35c6bc11eae5 (plain) (tree)
























                                                                                            
 
#pragma once

class cThread
{
public:
	typedef void (ThreadFunc)(void*);
	cThread( ThreadFunc a_ThreadFunction, void* a_Param, const char* a_ThreadName = 0 );
	~cThread();

	void Start( bool a_bWaitOnDelete = true );
	void WaitForThread();
private:
	ThreadFunc* m_ThreadFunction;

#ifdef _WIN32
	static unsigned long MyThread(void* a_Param );
#else
	static void *MyThread( void *lpParam );
#endif

	void* m_Param;
	cEvent* m_Event;
	cEvent* m_StopEvent;

	char* m_ThreadName;
};