| | |
| | | #include "HsmsPassive.h" |
| | | #include "CMaster.h" |
| | | #include "CGlassPool.h" |
| | | #include <cstdint> |
| | | #include <string> |
| | | |
| | | enum class ControlState : uint8_t { |
| | | OfflineEquipment = 0, |
| | | OfflineAttempt = 1, |
| | | Online = 2, |
| | | OfflineHost = 3, |
| | | OnlineLocal = 4, |
| | | OnlineRemote = 5, |
| | | }; |
| | | |
| | | class CModel |
| | | { |
| | |
| | | int init(); |
| | | int term(); |
| | | |
| | | ControlState getControlState() const noexcept { return m_currentControlState; } |
| | | void setControlState(ControlState newState); |
| | | bool raiseSoftAlarm(int alarmId, |
| | | const std::string& desc = "", |
| | | int level = -1, |
| | | int deviceId = 0, |
| | | int unitId = 0, |
| | | const char* deviceName = "Software", |
| | | const char* unitName = "App"); |
| | | void clearSoftAlarm(int alarmId, int deviceId = 0, int unitId = 0); |
| | | |
| | | private: |
| | | void refreshDerivedSVs(); |
| | | void notifyControlJobChanged(); |
| | | |
| | | public: |
| | | int notify(int code); |
| | |
| | | IObservableEmitter* m_pObservableEmitter; |
| | | CString m_strWorkDir; |
| | | CString m_strDataDir; |
| | | }; |
| | | |
| | | private: |
| | | ControlState m_currentControlState{ ControlState::OfflineEquipment }; |
| | | }; |