#include "stdafx.h" #include "TriTempItemElement.h" namespace OTSMODEL { // constructor CTriTempItemElement::CTriTempItemElement() { // initialization Init(); } // copy constructor CTriTempItemElement::CTriTempItemElement(const CTriTempItemElement& a_oSource) { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } // copy constructor CTriTempItemElement::CTriTempItemElement(CTriTempItemElement* a_poSource) { // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } // =operator CTriTempItemElement& CTriTempItemElement::operator=(const CTriTempItemElement& a_oSource) { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } // ==operator BOOL CTriTempItemElement::operator==(const CTriTempItemElement& a_oSource) { // members return (m_strElementName.Compare(a_oSource.m_strElementName) == 0 && m_ElementID == a_oSource.m_ElementID); } // destructor CTriTempItemElement::~CTriTempItemElement() { // cleanup Cleanup(); } // CPartSizeItem member functions // public // serialization void CTriTempItemElement::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode) { // Name xmls::xInt xnElementID; xmls::xString xstrItemTypeName; xmls::xString xstrElementName; xmls::xInt xnElementNumber; xmls::Slo slo; slo.Register("ElementID", &xnElementID); slo.Register("ItemTypeName", &xstrItemTypeName); slo.Register("ElementName", &xstrElementName); slo.Register("ElementNumber", &xnElementNumber); if (isStoring) { xnElementID = m_ElementID; xstrItemTypeName = m_strItemTypeName; xstrElementName = m_strElementName; xnElementNumber = m_ElementNumber; slo.Serialize(true, classDoc, rootNode); } else { slo.Serialize(false, classDoc, rootNode); m_ElementID = xnElementID.value(); m_strItemTypeName = xstrItemTypeName.value().c_str(); m_strElementName = xstrElementName.value().c_str(); m_ElementNumber = xnElementNumber.value(); } } // protected // cleanup void CTriTempItemElement::Cleanup() { // need to do nothing at the moment } // initialization void CTriTempItemElement::Init() { // initialization m_ElementID = -1; m_strItemTypeName = _T(""); m_strElementName = _T(""); m_ElementNumber = -1; } // duplication void CTriTempItemElement::Duplicate(const CTriTempItemElement& a_oSource) { // initialization Init(); // copy data over m_ElementID = a_oSource.m_ElementID; m_strItemTypeName = a_oSource.m_strItemTypeName; m_strElementName = a_oSource.m_strElementName; m_ElementNumber = a_oSource.m_ElementNumber; } }