#include #pragma once class CScriptInstance; class CScriptWorker { private: bool m_bStopping; bool m_bRegistered; static DWORD WINAPI ThreadProc(void* _this); public: CScriptWorker(CScriptInstance* instance, void* dukObjectHeapPtr); virtual ~CScriptWorker(); void StartWorkerProc(); virtual void StopWorkerProc(); protected: CScriptInstance* m_Instance; void* m_DukObjectHeapPtr; CriticalSection m_CS; HANDLE m_hThread; // Implementation should return when StopRequested() is true virtual void WorkerProc() = 0; bool StopRequested(); };