#include "stdafx.h" #include "CVcrEventReport.h" #include "ToolUnits.h" namespace SERVO { CVcrEventReport::CVcrEventReport() { } CVcrEventReport::~CVcrEventReport() { } std::string& CVcrEventReport::getGlassId() { return m_strGlassId; } short CVcrEventReport::getCassetteSequenceNo() { return m_nCassetteSequenceNo; } short CVcrEventReport::getJobSequenceNo() { return m_nJobSequenceNo; } short CVcrEventReport::getUnitNo() { return m_nUnitNo; } short CVcrEventReport::getVcrNo() { return m_nVcrNo; } short CVcrEventReport::getVcrResult() { return m_nVcrResult; } int CVcrEventReport::serialize(char* pszBuffer, int nBufferSize) { if (nBufferSize < 640) return -1; int index = 0; int strLen = min(20, m_strGlassId.size()); memcpy(&pszBuffer[index], m_strGlassId.c_str(), strLen); index += 20; memcpy(&pszBuffer[index], &m_nCassetteSequenceNo, sizeof(short)); index += sizeof(short); memcpy(&pszBuffer[index], &m_nJobSequenceNo, sizeof(short)); index += sizeof(short); memcpy(&pszBuffer[index], &m_nUnitNo, sizeof(short)); index += sizeof(short); memcpy(&pszBuffer[index], &m_nVcrNo, sizeof(short)); index += sizeof(short); memcpy(&pszBuffer[index], &m_nVcrResult, sizeof(short)); index += sizeof(short); return 15 * 2; } int CVcrEventReport::unserialize(char* pszBuffer, int nBufferSize) { if (nBufferSize < 640) return -1; int index = 0; CToolUnits::convertString(&pszBuffer[index], 20, m_strGlassId); index += 20; memcpy(&m_nCassetteSequenceNo, &pszBuffer[index], sizeof(short)); index += sizeof(short); memcpy(&m_nJobSequenceNo, &pszBuffer[index], sizeof(short)); index += sizeof(short); memcpy(&m_nUnitNo, &pszBuffer[index], sizeof(short)); index += sizeof(short); memcpy(&m_nVcrNo, &pszBuffer[index], sizeof(short)); index += sizeof(short); memcpy(&m_nVcrResult, &pszBuffer[index], sizeof(short)); index += sizeof(short); return 15 * 2; } std::string& CVcrEventReport::getVcrResultDescription(std::string& strDescription) { static char* pszDescription[4] = { "VCR Reading OK & Match With Job Data Glass ID", "VCR Reading OK & Miss Match With Job Data Glass ID", "VCR Reading Fail & Key In & Match With Job Data Glass ID", "VCR Reading Fail & Key In & Miss Match With Job Data Glass ID" }; if (1 <= m_nVcrResult && m_nVcrResult <= 4) { strDescription = pszDescription[m_nVcrResult - 1]; } else { strDescription = ""; } return strDescription; } }