00001 #ifndef SCTDATA_IO_RESULTHEADERSTREAMER_H
00002 #define SCTDATA_IO_RESULTHEADERSTREAMER_H
00003
00004 #include "Sct/Streamer.h"
00005 #include "Sct/LogicErrors.h"
00006 #include "Sct/IoExceptions.h"
00007
00008 using namespace Sct;
00009
00015 namespace SctData {
00016 namespace IO {
00017
00022 class ResultHeaderStreamer_v1 : public virtual Streamer {
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 virtual unsigned getVersion() const throw() {return s_version;}
00029 private:
00030 ResultHeaderStreamer_v1() throw();
00031 static unsigned s_version;
00032 static bool inMap;
00033 };
00034 }
00035 }
00036 #endif //#ifndef SCTDATA_IO_RESULTHEADERSTREAMER_H