1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #ifndef _SUBSYSWF_H_
- #define _SUBSYSWF_H_
- #include "commonDataStruct.h"
- #include "LogicDevice.h"
- class WorkStationDevice;
- class DiosSMachine;
- //状态机设备对象接口,接收客户端的命令Action
- class StateMachineDevice : public LogicDevice
- {
- DiosSMachine* m_pWorkStateMachine; //需要动态加载
- WorkStationDevice *m_pCurrWorkStation;
- public:
- //继承的接口实现 设备
- virtual bool SYSTEM_CALL GetDeviceType(GUID& DevType) override;
- virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN* pCmd) override;
- RET_STATUS Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse) override;
- virtual RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource) override;
- public:
- DiosSMachine* GetMachine() { return m_pWorkStateMachine; }
- public:
- StateMachineDevice();
- virtual ~StateMachineDevice();
- // Action: SetWorkStation
- // pParam: {"P0" : "Free"}
- virtual RET_STATUS SetWorkStation(WorkStationDevice* pWS);
-
- // Action: RESET
- virtual RET_STATUS RESET();
- // Action: StartSMMachine
- virtual RET_STATUS StartSMMachine();
- // Action: StopSMMachine
- virtual RET_STATUS StopSMMachine() ;
- // Action: TriggerEventSMMachine
- // pParam: { "P0" : "EvtFramePrep" }
- virtual RET_STATUS TriggerEventSMMachine(const char* pParam) ;
- //virtual RET_STATUS SetSEQResourceAction(const ResDataObject& pParam);
- //virtual RET_STATUS SetSEQResourceEvent(const ResDataObject& pParam);
- // 配置操作的相关接口
- // Action: SetSubSystemInDemo
- // pParam: {P0 : "0"}
- virtual RET_STATUS SetSubSystemInDemo(int n);
- //virtual int WaitforStateNotify(HANDLE handle);
- public:
- string GetSMState();// { return (string)(m_pWorkStateMachine->GetCurrentState()); }
- //bool GetDeviceState();
- bool IsSateMachineLive();
- ResDataObject SetActionPathFromGUID(ResDataObject& rdoState);
- ResDataObject SetEventPathFromGUID(ResDataObject& rdoState);
- //bool ActiveEventFromUI(const char* pStateName);
- };
- #endif /* _SUBSYSWF_H_ */
|