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