#include "stdafx.h" #include "CArmExamHandlerFactory.h" #include "CBCTExamHandler.h" #include "DoNothingHandler.h" #include "GeneralExamHandler.h" #include "CArmResetHandler.h" using namespace DIOS::Dev::Detail::MachineryECOM; CArmExamHandlerFactory *CArmExamHandlerFactory::m_instance = nullptr; CArmExamHandlerFactory::CArmExamHandlerFactory() { } CArmExamHandlerFactory::~CArmExamHandlerFactory() { } CArmExamHandlerFactory *CArmExamHandlerFactory::Instance() { if (m_instance == nullptr) { m_instance = new CArmExamHandlerFactory(); } return m_instance; } IExamHandler *CArmExamHandlerFactory::CreateExamHandler(EXAM_HANDLER_TYPE type) { IExamHandler *handler = nullptr; switch (type) { case EXAM_HANDLER_NONE: handler = new DoNothingHandler(); break; case EXAM_HANDLER_CBCT: handler = new CBCTExamHandler(); break; case EXAM_HANDLER_CARM_COMMON: handler = new GeneralExamHandler(); break; case EXAM_HANDLER_CARM_RESET: handler = new CArmResetHandler(); break; default: break; } return handler; }