00001 #ifndef SCTDATA_IO_TRIMRANGETESTRESULTSTREAMER_H
00002 #define SCTDATA_IO_TRIMRANGETESTRESULTSTREAMER_H
00003
00004 #include "TestResultStreamer.h"
00005
00006 namespace SctData {
00007 class TrimRangeTestResult;
00008 class TrimRangeTestResultData;
00009 }
00010
00011 using namespace SctData;
00012
00013 namespace SctData {
00014 namespace IO {
00015
00016
00022 class TrimRangeTestResultStreamer : public TestResultStreamer {
00023 public:
00024
00025 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00026 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);
00027 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00028
00029 private:
00030 void writeData(OStream& out, const TrimRangeTestResult::ChipTrimData& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00031 void readData(IStream& in, TrimRangeTestResult& mytest, TrimRangeTestResult::ChipTrimData& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00032
00033 void writeTrim(OStream& out, const TrimRangeTestResult::ChipTrim& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00034 void readTrim(IStream& in, TrimRangeTestResult& mytest, TrimRangeTestResult::ChipTrim& ob, const IOManager& manager) const throw(Sct::LogicError, Sct::IoError);
00035
00036 TrimRangeTestResultStreamer() throw();
00037 static bool inMap;
00038 };
00039 }
00040 }
00041 #endif // #ifndef SCTDATA_IO_TRIMRANGETESTRESULTSTREAMER_H