00001 #ifndef TESTDATA_H 00002 #define TESTDATA_H 00003 00004 #include <is/isinfo.h> 00005 00006 // <<BeginUserCode>> 00007 00008 // <<EndUserCode>> 00015 class TestData: public ISInfo { 00016 public: 00017 enum status_E {EXECUTING,COMPLETED,ABORTED}; 00018 00022 std::string testName; 00023 00027 unsigned long runNumber; 00028 00032 unsigned long nScans; 00033 00037 unsigned long startScanNumber; 00038 00042 unsigned short testVariable; 00043 00047 double * testPoints; 00051 size_t testPoints_size; 00052 00055 status_E status; 00056 00060 std::string startTime; 00061 00065 std::string endTime; 00066 00070 std::string * modules; 00074 size_t modules_size; 00075 00079 unsigned long version; 00080 00081 00082 TestData( ) 00083 : ISInfo( "TestData" ) 00084 { 00085 testPoints_size = 0; 00086 status = EXECUTING; 00087 modules_size = 0; 00088 version = 1; 00089 00090 // <<BeginUserCode>> 00091 00092 // <<EndUserCode>> 00093 } 00094 00095 ~TestData(){ 00096 if ( testPoints_size != 0 ) delete[] testPoints; 00097 if ( modules_size != 0 ) delete[] modules; 00098 00099 // <<BeginUserCode>> 00100 00101 // <<EndUserCode>> 00102 } 00103 00104 protected: 00105 TestData( const char * type ) 00106 : ISInfo( type ) 00107 { 00108 testPoints_size = 0; 00109 status = EXECUTING; 00110 modules_size = 0; 00111 version = 1; 00112 00113 // <<BeginUserCode>> 00114 00115 // <<EndUserCode>> 00116 } 00117 00118 void publishGuts( ISostream & out ){ 00119 out << testName << runNumber << nScans << startScanNumber << testVariable; 00120 out.put( testPoints, testPoints_size ); 00121 out << (int)status << startTime << endTime; 00122 out.put( modules, modules_size ); 00123 out << version; 00124 } 00125 00126 void refreshGuts( ISistream & in ){ 00127 in >> testName >> runNumber >> nScans >> startScanNumber >> testVariable; 00128 if ( testPoints_size != 0 ) delete[] testPoints; 00129 in.get( &testPoints, testPoints_size ); 00130 in >> (int&)status >> startTime >> endTime; 00131 if ( modules_size != 0 ) delete[] modules; 00132 in.get( &modules, modules_size ); 00133 in >> version; 00134 } 00135 00136 // <<BeginUserCode>> 00137 00138 // <<EndUserCode>> 00139 }; 00140 00141 // <<BeginUserCode>> 00142 00143 // <<EndUserCode>> 00144 #endif // TESTDATA_H