ModuleConfigurationStreamer_v1.h

00001 #ifndef SCTDATA_IO_ModuleConfigurationStreamer_v1_H
00002 #define SCTDATA_IO_ModuleConfigurationStreamer_v1_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_v1 : public virtual Streamer {
00020 public:
00021     //Streamer_v1 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     void readChipConfig(IStream& in, ABCDChip& data) const throw(Sct::LogicError, Sct::IoError);
00029     void writeChipConfig(OStream& out, const ABCDChip& data) const throw(Sct::LogicError, Sct::IoError);
00030 
00031     ModuleConfigurationStreamer_v1() throw();       
00032     static unsigned s_version;
00033     static bool inMap;              
00034 };
00035 }
00036 }
00037 #endif //#ifndef SCTDATA_IO_ModuleConfigurationStreamer_v1_H

Generated on Mon Feb 6 14:01:23 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6