00001 #ifndef SCTDATA_IO_DEFECTLISTIS_H
00002 #define SCTDATA_IO_DEFECTLISTIS_H
00003
00004 #include "Sct/Exception.h"
00005 #include "Sct/Streamable.h"
00006 #include "Sct/Streamer.h"
00007 #include "../DefectIOHelper.h"
00008
00009 using namespace Sct;
00010
00011 namespace SctData {
00012 namespace IO {
00013
00017 class DefectListStreamer_v1 : public virtual Streamer {
00018 public:
00019
00020 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00021 virtual shared_ptr<Streamable> read(IStream& in, const IOManager& manager) const throw(LogicError, IoError);
00022 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00023 virtual unsigned getVersion() const throw() {return s_version;}
00024
00025 private:
00026 DefectIOHelper helper;
00027 DefectListStreamer_v1() throw();
00028 static unsigned s_version;
00029 static bool inMap;
00030 };
00031
00032 }
00033 }
00034 #endif //#ifndef SCTDATA_IO_DEFECTLISTIS_H