12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- const std::string DONOTHING_EXAMHANDLER = "DoNothing_ExamHandler";
- class IExamHandler;
- class IPositionManager;
- class IMotionModelManager;
- class IExamHandlerFactory;
- class ExamHandlerManager
- {
- public:
- ExamHandlerManager();
- ~ExamHandlerManager();
- public:
- static ExamHandlerManager *Instance();
- public:
- void Initialize(
- IExamHandlerFactory *factory,
- IPositionManager *positionManager,
- IMotionModelManager *modelManager,
- const std::map<std::string, int> &handlerList);
- void RegisterHandler(const std::string &name, IExamHandler *handler);
- IExamHandler *GetHandler(const std::string &name);
- IExamHandler * ChangeCurrentHandler(const std::string &name);
- IExamHandler * GetCurrentHandler();
- private:
- static ExamHandlerManager *m_instance;
- IExamHandler *m_currentHandler;
- std::map<std::string, IExamHandler *> m_handlers;
- };
- }
|