#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<Open,");
|
else strOut.Append("Door State<Close,");
|
if (m_nDoorState & 0x02) strOut.Append("Open,");
|
else strOut.Append("Close,");
|
if (m_nDoorState & 0x04) strOut.Append("Open,");
|
else strOut.Append("Close,");
|
if (m_nDoorState & 0x08) strOut.Append("Open,");
|
else strOut.Append("Close,");
|
if (m_nDoorState & 0x10) strOut.Append("Open>");
|
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();
|
}
|
}
|