/* * TbUTRawData<>Reader.cpp * * Created on: Oct 5, 2014 * Author: ADendek */ #include "TbUTAlibavaDataReader.h" #include <iostream> using namespace TbUT; AlibavaDataReader::AlibavaDataReader(std::string& p_filename , IDataRetreiver & p_alibava, IFileValidator& p_fileValidator): m_filaname(p_filename ), m_alibava(p_alibava), m_fileValidator(p_fileValidator) { } void AlibavaDataReader::checkInput() { if( ! m_fileValidator.validateFile() ){ std::string errorMsg= "file validation error"; throw IDataReader::InputFileError(errorMsg); } m_alibava.open(m_filaname); if(! m_alibava.valid()){ std::string errorMsg= "alibava validation error"; throw IDataReader::InputFileError(errorMsg); } } RawData<>* AlibavaDataReader::getEventData() { readEvent(); RawData<> *l_outputData=new RawData<>(); fillRawData(l_outputData); return l_outputData; } void AlibavaDataReader::readEvent() { std::string l_errorStr=""; if(0 != m_alibava.read_event(l_errorStr)) { throw IDataReader::ReadEventError(l_errorStr); } } void AlibavaDataReader::fillRawData(RawData<>* p_outputData) { m_alibava.process_event(); p_outputData->setTime( m_alibava.time() ); p_outputData->setTemp( m_alibava.temp() ); for(int chan = RawData<>::getMinChannel(); chan < RawData<>::getMaxChannel(); chan++ ) p_outputData->setSignal( m_alibava.data(chan)); }