| | |
| | | #include "stdafx.h" |
| | | #include "CJobDataB.h" |
| | | #include "ToolUnits.h" |
| | | |
| | | |
| | | namespace SERVO { |
| | | CJobDataB::CJobDataB() |
| | | { |
| | | m_nCassetteSequenceNo = 0; |
| | | m_nJobSequenceNo = 0; |
| | | } |
| | | |
| | | CJobDataB::CJobDataB(CJobDataB&& other) noexcept |
| | | { |
| | | copy(&other); |
| | | } |
| | | |
| | | CJobDataB::~CJobDataB() |
| | |
| | | |
| | | } |
| | | |
| | | void CJobDataB::copy(CJobDataB* pScr) |
| | | { |
| | | m_nCassetteSequenceNo = pScr->m_nCassetteSequenceNo; |
| | | m_nJobSequenceNo = pScr->m_nJobSequenceNo; |
| | | m_strGlassId = pScr->m_strGlassId; |
| | | } |
| | | |
| | | int CJobDataB::getCassetteSequenceNo() |
| | | { |
| | | return m_nCassetteSequenceNo; |
| | | } |
| | | |
| | | void CJobDataB::setCassetteSequenceNo(int no) |
| | | { |
| | | m_nCassetteSequenceNo = no; |
| | | } |
| | | |
| | | int CJobDataB::getJobSequenceNo() |
| | | { |
| | | return m_nJobSequenceNo; |
| | | } |
| | | |
| | | void CJobDataB::setJobSequenceNo(int no) |
| | | { |
| | | m_nJobSequenceNo = no; |
| | | } |
| | | |
| | | std::string& CJobDataB::getGlassId() |
| | | { |
| | | return m_strGlassId; |
| | | } |
| | | |
| | | void CJobDataB::setGlassId(const char* pszGlassId) |
| | | { |
| | | m_strGlassId = pszGlassId; |
| | | } |
| | | |
| | | int CJobDataB::serialize(char* pszBuffer, int nBufferSize) |
| | | { |
| | | if (nBufferSize < JOBDATAB_SIZE) return -1; |
| | | |
| | | int index = 0; |
| | | memcpy(&pszBuffer[index], &m_nPortNo, sizeof(short)); |
| | | memcpy(&pszBuffer[index], &m_nCassetteSequenceNo, sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | int strLen = min(20, m_strCarrierId.size()); |
| | | memcpy(&pszBuffer[index], m_strCarrierId.c_str(), strLen); |
| | | index += strLen; |
| | | |
| | | strLen = min(20, m_pruductId.size()); |
| | | memcpy(&pszBuffer[index], m_pruductId.c_str(), strLen); |
| | | index += strLen; |
| | | |
| | | memcpy(&pszBuffer[index], &m_nCarrierState, sizeof(short)); |
| | | memcpy(&pszBuffer[index], &m_nJobSequenceNo, sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | memcpy(&pszBuffer[index], &m_nSlotMapping, sizeof(int)); |
| | | index += sizeof(int); |
| | | int strLen = min(20, m_strGlassId.size()); |
| | | memcpy(&pszBuffer[index], m_strGlassId.c_str(), strLen); |
| | | index += 20; |
| | | |
| | | memcpy(&pszBuffer[index], &m_nSlotSelectedFlag, sizeof(int)); |
| | | index += sizeof(int); |
| | | return JOBDATAB_SIZE; |
| | | } |
| | | |
| | | for (int i = 0; i < min(25, m_glassIds.size()); i++) { |
| | | std::string& strGlassId = m_glassIds.at(i); |
| | | strLen = min(20, strGlassId.size()); |
| | | memcpy(&pszBuffer[index], strGlassId.c_str(), strLen); |
| | | index += strLen; |
| | | } |
| | | int CJobDataB::unserialize(const char* pszBuffer, int nBufferSize) |
| | | { |
| | | if (nBufferSize < 14 * 2) return -1; |
| | | |
| | | return 320 * 2; |
| | | int index = 0; |
| | | memcpy(&m_nCassetteSequenceNo, &pszBuffer[index], sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | memcpy(&m_nJobSequenceNo, &pszBuffer[index], sizeof(short)); |
| | | index += sizeof(short); |
| | | |
| | | CToolUnits::convertString(&pszBuffer[index], 20, m_strGlassId); |
| | | index += 20; |
| | | |
| | | return 14 * 2; |
| | | } |
| | | } |