mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
38 lines
645 B
C
38 lines
645 B
C
![]() |
#pragma once
|
||
|
|
||
|
#include "../Common.h"
|
||
|
|
||
|
NS_BF_BEGIN
|
||
|
|
||
|
class WorkThread
|
||
|
{
|
||
|
public:
|
||
|
BfpThread* mThread;
|
||
|
|
||
|
public:
|
||
|
WorkThread();
|
||
|
virtual ~WorkThread();
|
||
|
|
||
|
virtual void Start();
|
||
|
virtual void Stop();
|
||
|
virtual void WaitForFinish();
|
||
|
virtual bool WaitForFinish(int waitMS);
|
||
|
|
||
|
virtual void Run() = 0;
|
||
|
};
|
||
|
|
||
|
class WorkThreadFunc : public WorkThread
|
||
|
{
|
||
|
public:
|
||
|
void (*mFunc)(void*);
|
||
|
void* mParam;
|
||
|
|
||
|
public:
|
||
|
// Note: this startProc signature does not match BfpThreadStartProc -- here we abstract out the calling convention to be default
|
||
|
// on all platforms (cdecl)
|
||
|
void Start(void (*func)(void*), void* param);
|
||
|
virtual void Run() override;
|
||
|
};
|
||
|
|
||
|
NS_BF_END
|