// RunComm.h: interface for the CRunComm class. // ////////////////////////////////////////////////////////////////////// #pragma once #include #include "run.h" #include "structure.h" #include "DllDefines.h" // class MCCTRDLLCLASS CRunComm : public CRun { public: CRunComm(int nID, const std::string& strName, const std::vector& modules, const std::vector& iSequenceModuleNo); virtual ~CRunComm(); enum { MAINT_OPEN_COM = 0x1, MAINT_CLOSE_COM = 0x2, MAINT_SEND_COM = 0x4, MAINT_CONNECT_PORT = 0x8, MAINT_DISCONNECT_PORT = 0x10, MAINT_SEND_PACKET = 0x20, }; protected: bool IsMaintenaceCloseCommPort() const; bool IsMaintenanceSendComm() const; bool IsMaintenaceOpenCommPort() const; std::string GetMaintMsg() const; bool IsMaintenanceDisconnectPort() const; bool IsMaintenanceConnectPort() const; bool IsMaintenanceSendPacket() const; bool SetCommPortSetting(unsigned int nWhichOne, const stComSetting& _comSetting); stComSetting GetCommPortSetting(unsigned int nWhichOne, bool bMaint = false); bool SetNetworkPortSetting(unsigned int nWhichOne, const stNetAddress& _netAddress); stNetAddress GetNetworkPortSetting(unsigned int nWhichOne, bool bMaint = false); // send com data to modules in maintenance mode void OnMaintenanceSendCom(const stComSetting& _comSetting, const std::string& strSendMsg) override; // send open com to modules in maintenance mode void OnMaintenanceOpenCom(const stComSetting& _comSetting) override; // send close com to modules in maintenance mode void OnMaintenanceCloseCom(const stComSetting& _comSetting) override; // send packet to modules in maintenance mode void OnMaintenanceSendPacket(const stNetAddress& _netAddress, const std::string& strSendMsg) override; // send connect port to modules in maintenance mode void OnMaintenanceConnectPort(const stNetAddress& _netAddress) override; // send connect port to modules in maintenance mode void OnMaintenanceDisconnectPort(const stNetAddress& _netAddress) override; // write acknowledge message to text file void WriteAckToTextFile(const std::string& strAckMsg); virtual void SendPacket(const std::string& strAckMsg = ""); virtual void DisconnectPort(const std::string& strAckMsg = ""); virtual void ConnectPort(const std::string& strAckMsg = ""); virtual void SendComm(const std::string& strAckMsg = ""); virtual void CloseCommPort(const std::string& strAckMsg = ""); virtual void OpenCommPort(const std::string& strAckMsg = ""); void SetMaintCommSettings(const stComSetting& _comSetting); private: // Maintenance use char m_cComCommand{ 0 }; std::string m_strMaintSendMsg; // TCP/IP Maintenance variables stNetAddress m_maintNetAddress; // Serial Comm Settings for maintenance use stComSetting m_maintComSetting; // TCP/IP variables for auto run std::vector m_vecNetAddress; // Serial Comm Settings for auto run use std::vector m_vecComSetting; };