00001 #include "DcsDataStreamer_v1.h"
00002 #include "../DcsData.h"
00003 #include "Sct/IOManager.h"
00004 #include "Sct/IStream.h"
00005 #include "Sct/OStream.h"
00006 #include "boost/shared_ptr.hpp"
00007
00008 using namespace Sct;
00009
00010 namespace SctData {
00011 namespace IO {
00012
00013 unsigned DcsDataStreamer_v1::s_version=1;
00014
00015
00016 DcsDataStreamer_v1::DcsDataStreamer_v1() throw() {}
00017
00018 bool DcsDataStreamer_v1::inMap = IOManager::addToMap("SctData::DcsData", std::auto_ptr<Streamer>(new DcsDataStreamer_v1()));
00019
00020
00021 shared_ptr<Streamable> DcsDataStreamer_v1::read(IStream& in, const IOManager& manager) const throw(LogicError, IoError) {
00022 boost::shared_ptr<Streamable> m (new DcsData());
00023 read(in, *m, manager);
00024 return m;
00025 }
00026
00027 void DcsDataStreamer_v1::write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00028 const DcsData& data = dynamic_cast<const DcsData&>(ob);
00029
00030 out << data.getVbias() << data.getIbias()
00031 << data.getT0() << data.getT1()
00032 << data.getVcc() << data.getIcc()
00033 << data.getVdd() << data.getIdd();
00034 }
00035
00036 void DcsDataStreamer_v1::read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00037 DcsData& data = dynamic_cast<DcsData&>(ob);
00038
00039 float temp = 0;
00040 in >> temp; data.setVbias(temp);
00041 in >> temp; data.setIbias(temp);
00042 in >> temp; data.setT0(temp);
00043 in >> temp; data.setT1(temp);
00044 in >> temp; data.setVcc(temp);
00045 in >> temp; data.setIcc(temp);
00046 in >> temp; data.setVdd(temp);
00047 in >> temp; data.setIdd(temp);
00048 }
00049
00050 }
00051 }