// CheckSwitch.h: interface for the CCheckSwitch class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_CHECKSWITCH_H__C85A84B3_B27C_11D7_8989_000629A6E157__INCLUDED_) #define AFX_CHECKSWITCH_H__C85A84B3_B27C_11D7_8989_000629A6E157__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "cmnhdr.h" #include "RunTask.h" #include "Input.h" #include "Output.h" #include "commondef.h" #ifdef BUILD_MCCTRDLL #define MCCTRDLLCLASS __declspec(dllexport) #else #define MCCTRDLLCLASS __declspec(dllimport) #endif struct stMSG_SEND { bool bOnSend; bool bOffSend; }; class MCCTRDLLCLASS CCheckSwitch : public CRunTask { public: bool SetOuputState(int nOutput, bool bState); void DoorLock(bool bLock=TRUE); bool IsEngineeringBypass(); bool IsCurtainBypass(); bool IsDoorBypass(); bool IsHardwareBypass(); void InitParameters(); void BypassEngineering(bool bBypass=TRUE); void BypassCurtain(bool bBypass=TRUE); void BypassDoor(bool bBypass=TRUE); void SetSystemOutput(int nOutput, COutput *copOutputPt); CCheckSwitch(); virtual ~CCheckSwitch(); UINT RunThread(void); void SetSwitch(int nSwitch, CInput *cipInputpt); // Set door switch, curtain and engineering switch warn to not send before void ResetSwitchWarning(); private: void CheckSwitch(int nSwitchNo, CInput *cipSwitch, stMSG_SEND &stMsgSend/*BOOL &bSwitchCurrentState*/, BOOL &bSendBefore); void GetMainApp(); void CheckSwitch(int nSwitchNo, CInput *cipSwitch, stMSG_SEND &stMsgSend);//BOOL &bSwitchCurrentState); // BOOL Debounce(CInput *ipInputPt, BOOL bState, DWORD dwTimeout); CInput *m_cipSwitch[SWITCH_SYSTEM]; /* CInput *m_cipSwitchStart; CInput *m_cipSwitchStop; CInput *m_cipSwitchReset; CInput *m_cipSwitchEStop; CInput *m_cipSwitchDoor; CInput *m_cipSwitchVacuum; CInput *m_cipSwitchAir; CInput *m_cipSwitchCurtain; CInput *m_cipSwitchEngineering; */ /* BOOL m_bSwitchStartCurrentState; BOOL m_bSwitchStopCurrentState; BOOL m_bSwitchResetCurrentState; BOOL m_bSwitchEStopCurrentState; BOOL m_bSwitchDoorCurrentState; BOOL m_bSwitchVacuumCurrentState; BOOL m_bSwitchAirCurrentState; BOOL m_bSwitchCurtainCurrentState; BOOL m_bSwitchEngineeringCurrentState; BOOL m_bSwitchStartOffSend; BOOL m_bSwitchStopOffSend; BOOL m_bSwitchResetOffSend; BOOL m_bSwitchEStopOffSend; BOOL m_bSwitchDoorOffSend; BOOL m_bSwitchVacuumOffSend; BOOL m_bSwitchAirOffSend; BOOL m_bSwitchCurtainOffSend; BOOL m_bSwitchEngineeringOffSend; */ stMSG_SEND m_stMsgSend[SWITCH_SYSTEM]; COutput *m_copSystemDoor; COutput *m_copCurtainSensorReset; HWND hwndMainApp; bool m_bBypassDoor; bool m_bBypassCurtain; bool m_bBypassEngineering; bool m_bHardwareBypass; // Implementation protected: // Generated message map functions //{{AFX_MSG(CCheckSwitch) // NOTE: the ClassWizard will add member functions here //}}AFX_MSG DECLARE_MESSAGE_MAP() }; #endif // !defined(AFX_CHECKSWITCH_H__C85A84B3_B27C_11D7_8989_000629A6E157__INCLUDED_)