#include "stdafx.h" #include "EQState.h" #include "ToolUnits.h" CEQState::CEQState() { m_nUnitId = 0; m_state = EQSTATE::Idle; m_nDoorState = -1; m_time = CToolUnits::getTimestamp(); } CEQState::CEQState(int unitId, EQSTATE state) { m_nUnitId = unitId; m_state = state; m_nDoorState = -1; m_time = CToolUnits::getTimestamp(); } CEQState::~CEQState() { } std::string& CEQState::getClassName() { static std::string strName = "CAlarm"; return strName; } std::string CEQState::toString() { CString strTemp; std::string strText; strText += "CAlarm["; strText += ("time:" + CToolUnits::timeToString2(m_time) + ";"); strText += ("State:" + std::string((LPTSTR)(LPCTSTR)getText(strTemp)) + ";"); strText += "]"; return strText; } void CEQState::setDoorState(int doorst) { m_nDoorState = doorst; } int CEQState::getUnitId() { return m_nUnitId; } ULONGLONG CEQState::getTime() { return m_time; } EQSTATE CEQState::getState() { return m_state; } CString& CEQState::getText(CString& strOut) { static char* pszState[] = {"Idle", "Run", "Down", "Maintenance", "MCHG", "E_TIME"}; if (m_nDoorState != -1) { strOut.Empty(); if (m_nDoorState & 0x01) strOut.Append("Door State"); else strOut.Append("Close>"); } else { strOut = CString(pszState[(int)m_state - 1]); } return strOut; } void CEQState::Serialize(CArchive& ar) { if (ar.IsStoring()) { Lock(); ar << m_nUnitId; ar << m_time; ar << (int)m_state; ar << m_nDoorState; Unlock(); } else { int temp; Lock(); ar >> m_nUnitId; ar >> m_time; ar >> temp; m_state = (EQSTATE)temp; ar >> m_nDoorState; Unlock(); } }