X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fbackgroundsupr.h;h=12372d0b4e0e88ae5eed87445d3744ee90182d7d;hp=9058c597f6efb1bf8bcbc5d6171e6f2e98683b89;hb=a97f1819c4f24321ba8d54a16f6534ee94404d26;hpb=c7435da167c4cec94d9f2da0410b5f544bb4c54d diff --git a/src/backgroundsupr.h b/src/backgroundsupr.h index 9058c59..12372d0 100644 --- a/src/backgroundsupr.h +++ b/src/backgroundsupr.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: backgroundsupr.h,v 1.2 2001/02/25 08:00:57 kevin Exp $ +** $Id: backgroundsupr.h,v 1.4 2001/02/25 19:24:01 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -53,7 +53,7 @@ class BackgroundWorkerThread; class BackgroundSupervisor : public wxEvtHandler { private: DECLARE_DYNAMIC_CLASS(BackgroundSupervisor) - + typedef std::vector ThreadContainer; ThreadContainer m_vecpThreads; wxFrame* m_pParentFrame; @@ -71,6 +71,11 @@ private: bool m_bDone; Timer* m_pTimer; bool m_bBackgroundTaskAdded; + bool m_bWorkersDeleted; + wxCriticalSection m_critsectThreads; + +protected: + SupervisorThread* m_MyThread; public: enum { @@ -85,7 +90,7 @@ public: MSG_WORKER_THREAD_FAIL = 7507, // sent by workers when they fail }; - BackgroundSupervisor (wxFrame* pParentFrame, wxDocument* pDocument, const char* const pszProcessTitle, + BackgroundSupervisor (SupervisorThread* pMyThread, wxFrame* pParentFrame, wxDocument* pDocument, const char* const pszProcessTitle, int iTotalUnits); BackgroundSupervisor () @@ -106,7 +111,8 @@ public: virtual void OnCancel(wxCommandEvent& event); virtual void OnAckDocumentRemove(wxCommandEvent& event); - bool anyWorkersRunning() const { return m_iRunning > 0 ? true : false; } + void deleteWorkers(); + bool workersDeleted() const { return m_bWorkersDeleted; } bool isDone() const {return m_bDone;} void setDone() { m_bDone = true; } bool fail() const {return m_bFail;} @@ -135,4 +141,4 @@ public: {} }; -#endif // _BACKGROUNDSUPR_H_ \ No newline at end of file +#endif // _BACKGROUNDSUPR_H_