#pragma once namespace DIOS::Dev::Detail::MachineryECOM { struct PWMOffsetPacket; struct TubeLineADPacket; struct EncoderPacket; class INotifyEventListener { public: INotifyEventListener(){} ~INotifyEventListener(){} public: virtual void OnHandSwitchGearFirstPressed(){} virtual void OnHandSwitchGearFirstReleased(){} virtual void OnHandSwitchGearSecondPressed(){} virtual void OnHandSwitchGearSecondReleased(){} virtual void OnPWMOffset(PWMOffsetPacket *pwmoff){} virtual void OnXrayOn(){} virtual void OnXrayOff(){} virtual void OnTubeHeightAD(TubeLineADPacket*tubeheightAD){} virtual void OnTubeAngleLowLimitPos(){} virtual void OnTubeAngleHighLimitPos(){} virtual void OnTubeHeightLowLimitPos(){} virtual void OnTubeHeightHighLimitPos(){} virtual void OnTubeAngleLeaveLowLimitPos(){} virtual void OnTubeAngleLeaveHighLimitPos(){} virtual void OnTubeHeightLeaveLowLimitPos(){} virtual void OnTubeHeightLeaveHighLimitPos(){} virtual void OnTubeAngleEncoder(EncoderPacket *tubeangleEncoder){} virtual void OnTubeHeightEncoder(EncoderPacket *tubeheightEncoder){} virtual void OnTubeAngleEncoderZPos(){} virtual void OnTubeHeightEncoderZPos(){} virtual void OnTubeHorizontalAD(TubeLineADPacket* tubeHorizontalAD) {} virtual void OnTubeHorizontalLeftLimitPos() {} virtual void OnTubeHorizontalRightLimitPos() {} virtual void OnTubeHorizontalLeaveLeftLimitPos() {} virtual void OnTubeHorizontalLeaveRightLimitPos() {} virtual void OnTubeHorizontalEncoder(EncoderPacket* tubeHorizontalEncoder) {} virtual void OnTubeHorizontalEncoderZPos() {} }; }