CArmExamHandlerFactory.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "stdafx.h"
  2. #include "CArmExamHandlerFactory.h"
  3. #include "CBCTExamHandler.h"
  4. #include "DoNothingHandler.h"
  5. #include "GeneralExamHandler.h"
  6. #include "CArmResetHandler.h"
  7. using namespace DIOS::Dev::Detail::MachineryECOM;
  8. CArmExamHandlerFactory *CArmExamHandlerFactory::m_instance = nullptr;
  9. CArmExamHandlerFactory::CArmExamHandlerFactory()
  10. {
  11. }
  12. CArmExamHandlerFactory::~CArmExamHandlerFactory()
  13. {
  14. }
  15. CArmExamHandlerFactory *CArmExamHandlerFactory::Instance()
  16. {
  17. if (m_instance == nullptr)
  18. {
  19. m_instance = new CArmExamHandlerFactory();
  20. }
  21. return m_instance;
  22. }
  23. IExamHandler *CArmExamHandlerFactory::CreateExamHandler(EXAM_HANDLER_TYPE type)
  24. {
  25. IExamHandler *handler = nullptr;
  26. switch (type)
  27. {
  28. case EXAM_HANDLER_NONE:
  29. handler = new DoNothingHandler();
  30. break;
  31. case EXAM_HANDLER_CBCT:
  32. handler = new CBCTExamHandler();
  33. break;
  34. case EXAM_HANDLER_CARM_COMMON:
  35. handler = new GeneralExamHandler();
  36. break;
  37. case EXAM_HANDLER_CARM_RESET:
  38. handler = new CArmResetHandler();
  39. break;
  40. default:
  41. break;
  42. }
  43. return handler;
  44. }