r604: no message
[ctsim.git] / src / backgroundsupr.h
index dac77cc60106204195a22f3262e328062c2fd12a..2ee7db6662ebd652b49a5cf94f9dd2c94be5af2a 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2001 Kevin Rosenberg
 **
-**  $Id: backgroundsupr.h,v 1.7 2001/03/04 03:14:47 kevin Exp $
+**  $Id: backgroundsupr.h,v 1.8 2001/03/04 22:30:19 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
@@ -59,14 +59,14 @@ private:
   wxDocument* m_pDocument;
   const std::string m_strProcessTitle;
   
+  const unsigned int m_iTotalUnits;
+  int m_iNumThreads;
+  bool m_bDone;
   volatile bool m_bFail;
   std::string m_strFailMessage;
-  int m_iNumThreads;
+  bool m_bCancelled;
   volatile int m_iRunning;
   unsigned int m_iUnitsDone;
-  const unsigned int m_iTotalUnits;
-  bool m_bCancelled;
-  bool m_bDone;
   Timer* m_pTimer;
   bool m_bBackgroundTaskAdded;
   bool m_bWorkersDeleted;
@@ -104,24 +104,25 @@ public:
   bool start();
   virtual void onDone() {};
   
-  virtual void OnWorkerFail(wxCommandEvent& event);
-  virtual void OnWorkerUnitTick(wxCommandEvent& event);
-  virtual void OnWorkerDone(wxCommandEvent& event);
-  virtual void OnCancel(wxCommandEvent& event);
-  virtual void OnAckDocumentRemove(wxCommandEvent& event);
+  virtual void onCancel();
+  virtual void onAckDocumentRemove();
+
+  virtual void onWorkerFail(int iThread, std::string strFailMessage);
+  virtual void onWorkerUnitTick();
+  virtual void onWorkerDone(int iThread);
 
   void deleteWorkers();
+  bool workersDone() const { return m_iRunning == 0; }
   bool workersDeleted() const { return m_bWorkersDeleted; }
   bool isDone() const {return m_bDone;}
   void setDone() { m_bDone = true; }
   bool fail() const {return m_bFail;}
   const std::string& getFailMessage() const { return m_strFailMessage; }
+  bool cancelled() const {return m_bCancelled;}
 
   int getNumWorkers() const { return m_iNumThreads; }
   double getTimerEnd() { return m_pTimer->timerEnd(); }
 
-  static void cancelSupervisor (BackgroundSupervisor* pSupervisor);
-
   DECLARE_EVENT_TABLE()
 };