00001 #ifndef SCTDATA_IO_SCANRESULTSTREAMER_H
00002 #define SCTDATA_IO_SCANRESULTSTREAMER_H
00003
00004 #include "Sct/Streamer.h"
00005 #include "Sct/LogicErrors.h"
00006 #include "Sct/IoExceptions.h"
00007
00008 class ISostream;
00009 class ISistream;
00010 class Sct::Streamable;
00011
00012 using namespace std;
00013 using namespace Sct;
00014
00015 namespace SctData {
00016 namespace IO {
00017
00018
00023 class ScanResultStreamer_v1 : public virtual Streamer {
00024 public:
00025 virtual unsigned getVersion() const throw() {return s_version;}
00026 protected:
00027 ScanResultStreamer_v1() throw();
00028
00029
00030 virtual void write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00031 virtual void read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError);
00032 virtual shared_ptr<Streamable> read(IStream&, const IOManager&) const throw(LogicError, IoError);
00033 private:
00034 static unsigned s_version;
00035 static bool inMap;
00036 };
00037 }
00038 }
00039 #endif //#ifndef SCTDATA_IO_SCANRESULTSTREAMER_H