#include "stdafx.h" #include "TriTempItemElementClr.h" namespace OTSINTERFACE { CTriTempItemElementClr::CTriTempItemElementClr() // constructor { m_LpTempItemElement = new CTriTempItemElementPtr(new CTriTempItemElement()); } CTriTempItemElementClr::CTriTempItemElementClr(CTriTempItemElementPtr a_pTriTempItemElement) // copy constructor { ASSERT(a_pTriTempItemElement); if (!a_pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("CTriTempItemClr: invalid pointer.")); return; } m_LpTempItemElement = new CTriTempItemElementPtr(a_pTriTempItemElement); } CTriTempItemElementClr::~CTriTempItemElementClr() { if (m_LpTempItemElement != nullptr) { delete m_LpTempItemElement; m_LpTempItemElement = nullptr; } } CTriTempItemElementClr::!CTriTempItemElementClr() { if (m_LpTempItemElement != nullptr) { delete m_LpTempItemElement; m_LpTempItemElement = nullptr; } } CTriTempItemElementPtr CTriTempItemElementClr::GetTriTempItemElementPtr() { return *m_LpTempItemElement; } //element id int CTriTempItemElementClr::GetElementID() { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetElementID: current CLR point is invalid.")); return -1; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("GetElementID:invalid pointer.")); return -1; } return pTriTempItemElement->GetElementID(); } void CTriTempItemElementClr::SetElementID(int a_ElementID) { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetElementID: current CLR point is invalid.")); return; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("SetElementID:invalid pointer.")); return; } pTriTempItemElement->SetElementID(a_ElementID); } //item type name String^ CTriTempItemElementClr::GetItemTypeName() { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetItemTypeName: current CLR point is invalid.")); return nullptr; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("GetItemTypeName:invalid pointer.")); return nullptr; } CString sItemTypeName = pTriTempItemElement->GetItemTypeName(); String^ sItemTypeNameClr = gcnew String(sItemTypeName); return sItemTypeNameClr; } void CTriTempItemElementClr::SetItemTypeName(String^ a_strItemTypeName) { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetItemTypeName: current CLR point is invalid.")); return; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("SetItemTypeName:invalid pointer.")); return; } ASSERT(a_strItemTypeName); if (!a_strItemTypeName) { LogErrorTrace(__FILE__, __LINE__, _T("SetItemTypeName:invalid pointer.")); return; } pTriTempItemElement->SetItemTypeName(a_strItemTypeName); } //element name String^ CTriTempItemElementClr::GetElementName() { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetName: current CLR point is invalid.")); return nullptr; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("GetName:invalid pointer.")); return nullptr; } CString sTriTempElementName = pTriTempItemElement->GetElementName(); String^ sTriTempElementNameClr = gcnew String(sTriTempElementName); return sTriTempElementNameClr; } void CTriTempItemElementClr::SetElementName(String^ a_strElementName) { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetName: current CLR point is invalid.")); return; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("SetName:invalid pointer.")); return; } ASSERT(a_strElementName); if (!a_strElementName) { LogErrorTrace(__FILE__, __LINE__, _T("SetName:invalid pointer.")); return; } pTriTempItemElement->SetElementName(a_strElementName); } //element number int CTriTempItemElementClr::GetElementNumber() { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetElementNumber: current CLR point is invalid.")); return -1; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("GetElementNumber:invalid pointer.")); return -1; } return pTriTempItemElement->GetElementNumber(); } void CTriTempItemElementClr::SetElementNumber(int a_ElementNumber) { if (m_LpTempItemElement == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetElementNumber: current CLR point is invalid.")); return; } CTriTempItemElementPtr pTriTempItemElement = GetTriTempItemElementPtr(); ASSERT(pTriTempItemElement); if (!pTriTempItemElement) { LogErrorTrace(__FILE__, __LINE__, _T("SetElementNumber:invalid pointer.")); return; } pTriTempItemElement->SetElementNumber(a_ElementNumber); } }