r600: *** empty log message ***
[ctsim.git] / src / backgroundsupr.h
index faae6e0c60b2d8b0ea09190d3cdc6811d2160514..dac77cc60106204195a22f3262e328062c2fd12a 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: backgroundsupr.h,v 1.1 2001/02/25 06:32:12 kevin Exp $
+**  $Id: backgroundsupr.h,v 1.7 2001/03/04 03:14:47 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,15 +53,12 @@ class BackgroundWorkerThread;
 class BackgroundSupervisor : public wxEvtHandler {
 private:
   DECLARE_DYNAMIC_CLASS(BackgroundSupervisor)
-
-  typedef std::vector<BackgroundWorkerThread*> ThreadContainer;
-  ThreadContainer m_vecpThreads;
-  wxCriticalSection m_critsectThreadContainer;
+      
+  SupervisorThread* m_pMyThread;
   wxFrame* m_pParentFrame;
   wxDocument* m_pDocument;
   const std::string m_strProcessTitle;
-  wxProgressDialog* m_pDialogProgress;
-
+  
   volatile bool m_bFail;
   std::string m_strFailMessage;
   int m_iNumThreads;
@@ -72,6 +69,12 @@ private:
   bool m_bDone;
   Timer* m_pTimer;
   bool m_bBackgroundTaskAdded;
+  bool m_bWorkersDeleted;
+
+  typedef std::vector<BackgroundWorkerThread*> ThreadContainer;
+  ThreadContainer m_vecpThreads;
+  wxCriticalSection m_critsectThreads;
+
 
 public:
   enum {
@@ -86,11 +89,11 @@ 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 ()
-    : m_iTotalUnits(0), wxEvtHandler()
+    : wxEvtHandler(), m_iTotalUnits(0)
   {}
 
   virtual ~BackgroundSupervisor();
@@ -99,7 +102,6 @@ public:
   { return NULL; }
 
   bool start();
-  void deleteAnyWorkers();
   virtual void onDone() {};
   
   virtual void OnWorkerFail(wxCommandEvent& event);
@@ -108,7 +110,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;}
@@ -126,15 +129,14 @@ public:
 class BackgroundWorkerThread : public wxThread {
 protected:
   BackgroundSupervisor* m_pSupervisor;
+  const int m_iThread;
   const int m_iStartUnit;
   const int m_iNumUnits;
-  const int m_iThread;
 
 public:
   BackgroundWorkerThread (BackgroundSupervisor* pSupervisor, int iThread, int iStartUnit, int iNumUnits)
-    : m_pSupervisor(pSupervisor), m_iThread(iThread), m_iStartUnit(iStartUnit), m_iNumUnits(iNumUnits),
-    wxThread (wxTHREAD_DETACHED)
+    : wxThread (wxTHREAD_DETACHED), m_pSupervisor(pSupervisor), m_iThread(iThread), m_iStartUnit(iStartUnit), m_iNumUnits(iNumUnits)
   {}
 };
 
-#endif  // _BACKGROUNDSUPR_H_
\ No newline at end of file
+#endif  // _BACKGROUNDSUPR_H_