Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTAlibavaDataReader.cpp.svn-base
  1. /*
  2. * TbUTRawData<>Reader.cpp
  3. *
  4. * Created on: Oct 5, 2014
  5. * Author: ADendek
  6. */
  7. #include "TbUTAlibavaDataReader.h"
  8. #include <iostream>
  9. using namespace TbUT;
  10.  
  11.  
  12. AlibavaDataReader::AlibavaDataReader(std::string& p_filename , IDataRetreiver & p_alibava, IFileValidator& p_fileValidator):
  13. m_filaname(p_filename ),
  14. m_alibava(p_alibava),
  15. m_fileValidator(p_fileValidator)
  16. {
  17. }
  18.  
  19. void AlibavaDataReader::checkInput()
  20. {
  21. if( ! m_fileValidator.validateFile() ){
  22. std::string errorMsg= "file validation error";
  23. throw IDataReader::InputFileError(errorMsg);
  24. }
  25.  
  26. m_alibava.open(m_filaname);
  27. if(! m_alibava.valid()){
  28. std::string errorMsg= "alibava validation error";
  29. throw IDataReader::InputFileError(errorMsg);
  30. }
  31. }
  32.  
  33. RawData<>* AlibavaDataReader::getEventData()
  34. {
  35. readEvent();
  36. RawData<> *l_outputData=new RawData<>();
  37. fillRawData(l_outputData);
  38. return l_outputData;
  39. }
  40.  
  41.  
  42. void AlibavaDataReader::readEvent()
  43. {
  44. std::string l_errorStr="";
  45. if(0 != m_alibava.read_event(l_errorStr))
  46. {
  47. throw IDataReader::ReadEventError(l_errorStr);
  48. }
  49. }
  50.  
  51. void AlibavaDataReader::fillRawData(RawData<>* p_outputData)
  52. {
  53. m_alibava.process_event();
  54. p_outputData->setTime( m_alibava.time() );
  55. p_outputData->setTemp( m_alibava.temp() );
  56. for(int chan = RawData<>::getMinChannel(); chan < RawData<>::getMaxChannel(); chan++ )
  57. p_outputData->setSignal( m_alibava.data(chan));
  58.  
  59. }
  60.