37 lines
775 B
C++
37 lines
775 B
C++
//////////////////////////////////////////////////////////////////////
|
|
// sangoma_cthread.h: generic C++ Execution Thread.
|
|
//
|
|
// Author : David Rokhvarg <davidr@sangoma.com>
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _SANGOMA_CTHREAD_H
|
|
#define _SANGOMA_CTHREAD_H
|
|
|
|
struct ThreadParam;
|
|
|
|
class sangoma_cthread {
|
|
|
|
public:
|
|
sangoma_cthread();
|
|
virtual ~sangoma_cthread();
|
|
bool CreateThread (int iParam);
|
|
|
|
protected:
|
|
virtual unsigned long threadFunction(struct ThreadParam& thParam) = 0;
|
|
|
|
private:
|
|
#if defined(__WINDOWS__)
|
|
static int runThread (void *p);
|
|
#else
|
|
static void *runThread (void *p);
|
|
#endif
|
|
};
|
|
|
|
struct ThreadParam {
|
|
sangoma_cthread* pThread;
|
|
int iParam;
|
|
};
|
|
|
|
#endif//_SANGOMA_CTHREAD_H
|
|
|