#include "stdafx.h" #include "MsrResultsClr.h" namespace OTSCLRINTERFACE { CMsrResultItemClr::CMsrResultItemClr() { mResultItm =new CMsrResultItemPtr( new CMsrResultItem()); } CMsrResultItemClr::CMsrResultItemClr(CMsrResultItemPtr pMsrResult) // copy constructor { mResultItm = new CMsrResultItemPtr(pMsrResult); } CMsrResultItemClr::!CMsrResultItemClr() { if (mResultItm != nullptr) { delete mResultItm; mResultItm = NULL; } } CMsrResultItemClr::~CMsrResultItemClr() { if (mResultItm != nullptr) { delete mResultItm; mResultItm = NULL; } } CMsrResultItemPtr CMsrResultItemClr::GetMsrResultItemPtr() { return *mResultItm; } CMsrResultsClr::CMsrResultsClr() { mResults =new CMsrResultsPtr( new CMsrResults()); } CMsrResultsClr::CMsrResultsClr(CMsrResultsPtr pMsrResults) // copy constructor { ASSERT(pMsrResults); if (!pMsrResults) { return; } //mResults = new CMsrResultsPtr(new CMsrResults(pMsrResults.get())); mResults = new CMsrResultsPtr(pMsrResults); } CMsrResultsClr::!CMsrResultsClr() { if (mResults != nullptr) { delete mResults; mResults = NULL; } } CMsrResultsClr::~CMsrResultsClr() { if (mResults != nullptr) { delete mResults; mResults = NULL; } } CMsrResultsPtr CMsrResultsClr::GetMsrResultsPtr() { return *mResults; } CMsrResultItemsListClr ^ CMsrResultsClr::GetResultItems() { CMsrResultItemsListClr^ results = gcnew CMsrResultItemsListClr(); CMsrResultItemsList rts = mResults->get()->GetResultItems(); for each (auto r in rts) { results->Add(gcnew CMsrResultItemClr(r)); } return results; } void CMsrResultsClr::SetResultItems(CMsrResultItemsListClr ^ a_listResultItems) { CMsrResultItemsList rs; for each (auto itm in a_listResultItems) { rs.push_back(itm->GetMsrResultItemPtr()); } mResults->get()->SetResultItems(rs); } }