12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #pragma once
- #include "IWorkflowManager.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- enum WORKFLOW_STATUS
- {
- WFS_NONE,
- WFS_SINGLE,
- WFS_TOMO,
- WFS_CALIBRATION,
- WFS_SELFTEST,
- WFS_PARKING,
- };
- class IExamHandler;
- class WorkFlowManager : public IWorkflowManager
- {
- public:
- WorkFlowManager();
- ~WorkFlowManager();
- public:
- static WorkFlowManager *Instance();
- public:
- virtual IExamHandler *GetCurrentWorkFlowHandler() override;
- virtual void EnterSystemReset() override;
- virtual void ExitSystemReset() override;
- virtual void EnterSystemResetSwing() override;
- virtual void ExitSystemResetSwing() override;
- virtual void EnterSystemResetCircular() override;
- virtual void ExitSystemResetCircular() override;
- virtual int ChangeExamMode(const std::string &examKey, const std::string &examType) override;
- virtual int ChangeToResetMode() override;
- virtual int ChangeWorkstation(const std::string& workstaion) override;
- virtual void SwitchScanning(DOF_MECH mech) override;
- BOOL IsCalibrating();
- void EnterCalibration();
- void ExitCalibration();
- BOOL IsSelfTesting();
- void EnterSelfTest();
- void ExitSelfTest();
- BOOL IsParking();
- void EnterParking();
- void ExitParking();
- private:
- IExamHandler *SaveContext();
- IExamHandler *RestoreContext();
- private:
- static WorkFlowManager *m_instance;
- IExamHandler *m_storedExamHandler;
- WORKFLOW_STATUS m_workFlowStatus;
- WORKFLOW_STATUS m_storedWorkFlowStatus;
- };
- }
|