wanpipe/api/libsangoma/sample_cpp/sangoma_cthread.h

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