#include "stdafx.h" #include "CSlot.h" namespace SERVO { CSlot::CSlot() { m_nNo = 0; m_materialsType = MaterialsType::G1G2; m_pContext = nullptr; m_bEnable = FALSE; m_bLock = FALSE; m_pContext = nullptr; m_pTempContext = nullptr; } CSlot::~CSlot() { if (m_pContext != nullptr) { m_pContext->release(); m_pContext = nullptr; } } BOOL CSlot::isEnable() { return m_bEnable; } void CSlot::enable() { m_bEnable = TRUE; } void CSlot::disable() { m_bEnable = FALSE; } BOOL CSlot::isLock() { return m_bLock; } void CSlot::lock() { m_bLock = TRUE; } void CSlot::unlock() { m_bLock = FALSE; } int CSlot::getPosition() { return m_nPosition; } void CSlot::setPosition(int position) { m_nPosition = position; } int CSlot::getNo() { return m_nNo; } void CSlot::setNo(int no) { m_nNo = no; } MaterialsType CSlot::getType() { return m_materialsType; } void CSlot::setType(MaterialsType type) { m_materialsType = type; } std::string& CSlot::getName() { return m_strName; } void CSlot::setName(const char* pszName) { m_strName = pszName; } BOOL CSlot::isEmpty() { return m_pContext == nullptr; } void CSlot::setContext(CContext* pContext) { if (m_pContext != nullptr) { m_pContext->release(); } m_pContext = pContext; if (m_pContext != nullptr) { m_pContext->addRef(); } } CContext* CSlot::getContext() { return m_pContext; } CContext* CSlot::getTempContext() { return m_pTempContext; } void CSlot::serialize(CArchive& ar) { if (ar.IsStoring()) { ar << (__int64)m_pContext; ar << m_bLock; } else { __int64 i64; ar >> i64; m_pTempContext = (CContext*)i64; ar >> m_bLock; } } void CSlot::WriteString(CArchive& ar, std::string& string) { CString strTemp = string.c_str(); ar << strTemp; } void CSlot::ReadString(CArchive& ar, std::string& string) { CString strTemp; ar >> strTemp; string = (LPTSTR)(LPCTSTR)strTemp; } }