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