00001 /* $Id: ssInstrumentRecordTail.h,v 1.4 2008/08/28 08:23:11 pfb Exp $ */ 00002 00003 00004 #ifndef _ssInstrumentRecordTail_h 00005 #define _ssInstrumentRecordTail_h 00006 00011 #include <vtkObject.h> 00012 #include <string> 00013 #include "../../../../Common/Utility/Misc/GoNogo.h" 00014 #include <ss.h> 00015 00016 class vtkMutexLock; 00017 00021 class VTK_EXPORT ssInstrumentRecordTail : public vtkObject, public GoNogo 00022 { 00023 //**************************************************************************** 00024 public: 00025 00031 static ssInstrumentRecordTail *New(); 00032 00036 vtkTypeMacro(ssInstrumentRecordTail, vtkObject); 00037 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00049 void SetFileName(const char *name); 00050 00057 virtual void Run(); 00058 00062 void Break(); 00063 00069 virtual bool RecordPending(); 00070 00071 //**************************************************************************** 00072 protected: 00073 00077 ssInstrumentRecordTail(); 00078 00082 virtual ~ssInstrumentRecordTail(); 00083 00087 std::string name; 00088 00092 SP(vtkMutexLock) pendingLock; 00093 00097 int pending; 00098 00102 bool breaker; 00103 00104 //**************************************************************************** 00105 private: 00106 00110 ssInstrumentRecordTail(const ssInstrumentRecordTail&); 00111 ssInstrumentRecordTail& operator=(const ssInstrumentRecordTail&); 00112 }; 00113 00114 /* 00115 * $Log: ssInstrumentRecordTail.h,v $ 00116 * Revision 1.4 2008/08/28 08:23:11 pfb 00117 * Added Smart Pointers. 00118 * 00119 * Revision 1.3 2005/11/02 03:06:52 pfb 00120 * Fixed doxygen tags. 00121 * 00122 * Revision 1.2 2005/08/04 08:06:05 pfb 00123 * Added Break(). 00124 * 00125 * Revision 1.1 2005/08/04 06:20:06 pfb 00126 * Initial rev. 00127 * 00128 * 00129 */ 00130 00134 #endif