#pragma once #include "ISelfTestHandler.h" namespace DIOS::Dev::Detail::MachineryECOM { class IMotionModelManager; class SelfTestHandler : public ISelfTestHandler { public: SelfTestHandler(); ~SelfTestHandler(); public: virtual void OnModelLoaded(IMotionModelManager *modelManager) override; virtual void OnCoordinatesLoaded(IPositionManager *coordinates) override; virtual RET_STATUS OnSelectExamMode(const char *pExamKey) override; virtual RET_STATUS OnSetTechParamsInfo(ResDataObject &pParam) override; virtual RET_STATUS OnStopMech() override; virtual RET_STATUS OnStartMove(DOF_MECH mech, int nOrientation) override; virtual RET_STATUS OnStopMove(DOF_MECH mech) override; virtual void OnMotionEvent(const std::string &motionEventName) override; virtual void OnStartSelfTest(ResDataObject &pParam) override; private: void ChangeSelfTestNextStage(int dof); private: IMotionModelManager *m_modelManager; }; }