00001 #include "ModuleConfigurationStreamer_v2.h"
00002 #include "../ModuleConfiguration.h"
00003 #include <Sct/AbcdModule.h>
00004
00005 namespace SctData {
00006 namespace IO {
00007
00008 unsigned ModuleConfigurationStreamer_v2::s_version=2;
00009
00010
00011 ModuleConfigurationStreamer_v2::ModuleConfigurationStreamer_v2() throw() {}
00012
00013 bool ModuleConfigurationStreamer_v2::inMap = IOManager::addToMap("SctData::ModuleConfiguration", std::auto_ptr<Streamer>(new ModuleConfigurationStreamer_v2()));
00014
00015
00016 shared_ptr<Streamable> ModuleConfigurationStreamer_v2::read(IStream& in, const IOManager& manager) const throw(LogicError, IoError) {
00017 shared_ptr<Streamable> m (new ModuleConfiguration());
00018 read(in, *m, manager);
00019 return m;
00020 }
00021
00022 void ModuleConfigurationStreamer_v2::write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00023 const ModuleConfiguration& config = dynamic_cast<const ModuleConfiguration&>(ob);
00024 const ABCDModule& data = config.getABCDModule();
00025
00026 for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00027 manager.writeImpl(out, config.getChipConfiguration(i), false);
00028 }
00029 out << data.present << data.active << data.select << data.groupId << data.pTTC << data.rTTC;
00030 out.put(data.rx, 2);
00031 }
00032
00033 void ModuleConfigurationStreamer_v2::read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00034 ModuleConfiguration& config = dynamic_cast<ModuleConfiguration&>(ob);
00035 ABCDModule& data = config.getABCDModule();
00036
00037 for (unsigned int i=0; i<Sct::nChipModule; ++i) {
00038 manager.readImpl(in, config.getChipConfiguration(i), false);
00039 }
00040 in >> data.present >> data.active >> data.select >> data.groupId >> data.pTTC >> data.rTTC;
00041 in.get(data.rx, 2);
00042 }
00043
00044
00045 }
00046 }