00001 #include "RxThresholdBasedOnConfigRegisterTestResultStreamer_v2.h"
00002
00003 using namespace Sct;
00004
00005 namespace SctData {
00006 namespace IO {
00007
00008
00009 unsigned RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::s_version=2;
00010
00011 RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::RxThresholdBasedOnConfigRegisterTestResultStreamer_v2() throw() {}
00012
00013 bool RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::inMap = IOManager::addToMap("SctData::RxThresholdBasedOnConfigRegisterTestResult", auto_ptr<Streamer>(new RxThresholdBasedOnConfigRegisterTestResultStreamer_v2()));
00014
00015 shared_ptr<Streamable> RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::read(IStream& in, const IOManager& manager) const throw(LogicError, IoError){
00016 boost::shared_ptr<Streamable> ad (new RxThresholdBasedOnConfigRegisterTestResult());
00017 read(in, *ad, manager);
00018 return ad;
00019 }
00020
00021 void RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::write(OStream& out, const Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00022
00023 manager.writeImpl(out, ob, "SctData::TestResult");
00024
00025
00026 const RxThresholdBasedOnConfigRegisterTestResult& mytest = dynamic_cast<const RxThresholdBasedOnConfigRegisterTestResult&>(ob);
00027
00028 for (unsigned int iStream=0; iStream<nLinkModule; iStream++) {
00029 writeStreamResult(out, mytest.getStreamResult(iStream), manager);
00030 }
00031 }
00032
00033 void RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::read(IStream& in, Streamable& ob, const IOManager& manager) const throw(LogicError, IoError) {
00034 manager.readImpl(in, ob, "SctData::TestResult");
00035
00036 RxThresholdBasedOnConfigRegisterTestResult& mytest = dynamic_cast<RxThresholdBasedOnConfigRegisterTestResult&>(ob);
00037
00038 for (unsigned int iStream=0; iStream<nLinkModule; iStream++) {
00039 readStreamResult(in, mytest.getStreamResult(iStream), manager);
00040 }
00041 }
00042
00043 void RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::writeStreamResult(OStream& out, const RxThresholdBasedOnConfigRegisterTestResult::StreamResult& c, const IOManager& manager) const throw (LogicError, IoError) {
00044 out << c.minErrorFreeRxThresh()
00045 << c.maxErrorFreeRxThresh()
00046 << c.bestRxThresh()
00047 << c.getRiseTime();
00048 }
00049
00050 void RxThresholdBasedOnConfigRegisterTestResultStreamer_v2::readStreamResult(IStream& in, RxThresholdBasedOnConfigRegisterTestResult::StreamResult& c, const IOManager& manager) const throw(LogicError, IoError) {
00051 typedef RxThresholdBasedOnConfigRegisterTestResult::StreamResult::ThresholdType ThresholdType;
00052 ThresholdType minTmp,maxTmp,bestTmp;
00053 int riseTime;
00054 in >> minTmp >> maxTmp >> bestTmp >> riseTime;
00055 c.setMinErrorFreeRxThresh(minTmp);
00056 c.setMaxErrorFreeRxThresh(maxTmp);
00057 c.setBestRxThresh(bestTmp);
00058 c.setRiseTime(riseTime);
00059 }
00060
00061 }
00062 }