00001 #ifndef SCTDATA_IO_FULLBYPASSTESTRESULTSTREAMER_H
00002 #define SCTDATA_IO_FULLBYPASSTESTRESULTSTREAMER_H
00003
00004 #include "TestResultStreamer_v1.h"
00005 #include "../FullBypassTestResult.h"
00006 #include "Sct/LogicErrors.h"
00007 #include "Sct/IoExceptions.h"
00008
00009 namespace SctData {
00010 namespace IO {
00011
00015 class FullBypassTestResultStreamer_v1 : public Sct::Streamer {
00016 public:
00017
00018 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00019 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);
00020 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00021 void writeChipResult(OStream& out, const FullBypassTestResult::ChipFBResult&, const IOManager& manager) const throw(LogicError, IoError) ;
00022 void readChipResult(IStream& in, FullBypassTestResult::ChipFBResult&, const IOManager& manager) const throw(LogicError, IoError) ;
00023 virtual unsigned getVersion() const throw() {return s_version;}
00024
00025 private:
00026 FullBypassTestResultStreamer_v1() throw();
00027 static unsigned s_version;
00028 static bool inMap;
00029 };
00030 }
00031 }
00032
00033 #endif // #ifndef SCTDATA_IO_FULLBYPASSTESTRESULTSTREAMER_H