00001 #ifndef SCTDATA_IO_ModuleConfigurationStreamer_H
00002 #define SCTDATA_IO_ModuleConfigurationStreamer_H
00003
00004 #include <CommonWithDsp/sctStructure.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 : public virtual Streamer {
00020 public:
00021
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
00026 private:
00027 void readChipConfig(IStream& in, ABCDChip& data) const throw(Sct::LogicError, Sct::IoError);
00028 void writeChipConfig(OStream& out, const ABCDChip& data) const throw(Sct::LogicError, Sct::IoError);
00029
00030 ModuleConfigurationStreamer() throw();
00031 static bool inMap;
00032 };
00033 }
00034 }
00035 #endif //#ifndef SCTDATA_IO_ModuleConfigurationStreamer_H