#pragma once #include "ICArmGeneralHandler.h" namespace DIOS::Dev::Detail::MachineryECOM { class GeneralExamHandler : public ICArmGeneralHandler { public: GeneralExamHandler(); ~GeneralExamHandler(); 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 void OnMotionEvent(const std::string &motionEventName) 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 RET_STATUS OnTubeSwing(ResDataObject& ParamIn) override; virtual RET_STATUS OnTubeCircular(ResDataObject& ParamIn) override; virtual RET_STATUS OnGetTubeCircularEncoder(ResDataObject& Paramout) override; virtual RET_STATUS OnGetTubeSwingEncoder(ResDataObject& Paramout) override; virtual RET_STATUS OnActiveTubeSwingZAxis() override; virtual RET_STATUS OnCancleTubeSwingZAxis() override; virtual RET_STATUS OnActiveTubeCircularZAxis() override; virtual RET_STATUS OnCancleTubeCircularZAxis() override; virtual void OnHandSwitchGearFirstPressed() override; virtual void OnHandSwitchGearFirstReleased() override; private: BOOL m_modelLoaded; IMotionModelManager *m_modelManager; IPositionManager *m_positionManager; }; }