Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTRawDataFactory.h.svn-base
  1. /*
  2. * TbUTRawData<>Factory.h
  3. *
  4. * Created on: Mar 16, 2015
  5. * Author: ADendek
  6. */
  7.  
  8. #pragma once
  9.  
  10. #include "TbUTIDataReader.h"
  11. #include "TbUTRawData.h"
  12. #include "TbUTAlibavaDataRetreiver.h"
  13. #include "TbUTAlbavaFileValidator.h"
  14. #include <memory>
  15.  
  16. namespace TbUT
  17. {
  18.  
  19. namespace InputDataOption
  20. {
  21. static const std::string& Alibava = "alibava";
  22. static const std::string& NoiseGenerator = "Generator";
  23. static const std::string& Mamba = "Mamba";
  24. }
  25.  
  26.  
  27. class RawDataFactory
  28. {
  29. public:
  30. typedef std::shared_ptr<IDataReader> DataReaderPtr;
  31.  
  32. class NoSuchState: public std::runtime_error
  33. {
  34. public:
  35. NoSuchState(const std::string& p_errorMsg ):
  36. std::runtime_error(p_errorMsg)
  37. {
  38. }
  39. };
  40.  
  41. RawDataFactory(std::string& p_filename,
  42. IDataRetreiver & p_alibava,
  43. IFileValidator& p_fileValidator,
  44. bool& p_isAType,
  45. double& p_mean,
  46. double& p_sigma);
  47. DataReaderPtr createDataEngine(const std::string& p_inputDataOption);
  48. private:
  49. std::string& m_filename;
  50. IDataRetreiver & m_alibava;
  51. IFileValidator& m_fileValidator;
  52. bool& m_isAType;
  53. double& m_mean;
  54. double& m_sigma;
  55.  
  56. };
  57.  
  58. } /* namespace TbUT */
  59.