#include "stdafx.h" #include "MsrParamFileMgrClr.h" #include namespace OTSCLRINTERFACE { //CMsrParamFileMrgClr CMsrParamFileMrgClr::CMsrParamFileMrgClr() // constructor { m_LpMsrParamFileMrg = new CMsrParamFileMgrPtr(new CMsrParamFileMrg()); } CMsrParamFileMrgClr::CMsrParamFileMrgClr(CMsrParamFileMrg* a_pMsrParamFileMgr) // copy constructor { ASSERT(a_pMsrParamFileMgr); if (!a_pMsrParamFileMgr) { LogErrorTrace(__FILE__, __LINE__, _T("CMsrParamFileMrgClr: Generate MsrParamFileMgr pointer failed.")); } m_LpMsrParamFileMrg = new CMsrParamFileMgrPtr(a_pMsrParamFileMgr); } CMsrParamFileMgrPtr CMsrParamFileMrgClr::GetMsrParamFileMgrPtr() { return *m_LpMsrParamFileMrg; } CMsrParamFileMrgClr::!CMsrParamFileMrgClr() { if (m_LpMsrParamFileMrg != nullptr) { delete m_LpMsrParamFileMrg; m_LpMsrParamFileMrg = nullptr; } } CMsrParamFileMrgClr::~CMsrParamFileMrgClr() { if (m_LpMsrParamFileMrg != nullptr) { delete m_LpMsrParamFileMrg; m_LpMsrParamFileMrg = nullptr; } } CMsrParamFileMrgClr::CMsrParamFileMrgClr(CMsrParamFileMgrPtr a_pMsrParamFileMgr) { ASSERT(a_pMsrParamFileMgr); if (!a_pMsrParamFileMgr) { LogErrorTrace(__FILE__, __LINE__, _T("CMsrParamFileMrgClr::invalid pointer.")); } m_LpMsrParamFileMrg = new CMsrParamFileMgrPtr(a_pMsrParamFileMgr); } // Load/Save bool CMsrParamFileMrgClr::Load(String^ a_strPathName, bool a_bClear) { bool bRet = false; CMsrParamFileMgrPtr pMsrParamFileMgr = GetMsrParamFileMgrPtr(); ASSERT(a_strPathName); if (!a_strPathName) { LogErrorTrace(__FILE__, __LINE__, _T("CMsrParamFileMrgClr::Load:: invalid pointer.")); return false; } bRet = pMsrParamFileMgr->Load(a_strPathName, a_bClear); return bRet; } bool CMsrParamFileMrgClr::Save(String^ a_strPathName) { bool bRet = false; CMsrParamFileMgrPtr pMsrParamFileMgr = GetMsrParamFileMgrPtr(); ASSERT(a_strPathName); if (!a_strPathName) { LogErrorTrace(__FILE__, __LINE__, _T("CMsrParamFileMrgClr::Save:: invalid pointer.")); } bRet = pMsrParamFileMgr->Save(a_strPathName); return bRet; } // measurement parameters file bool CMsrParamFileMrgClr::SetMsrParamFile(CMsrParamsClr^ a_poMsrParams) { if (m_LpMsrParamFileMrg == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetMsrParamFile::empty object!")); return false; } CMsrParamFileMgrPtr pMsrParamFileMgr = GetMsrParamFileMgrPtr(); ASSERT(a_poMsrParams); if (!a_poMsrParams) { LogErrorTrace(__FILE__, __LINE__, _T("SetMsrParamFile::invalide param pointer.")); return false; } CMsrParamsPtr poMsrParams = a_poMsrParams->GetMsrParamsPtr(); ASSERT(poMsrParams); if (!poMsrParams) { LogErrorTrace(__FILE__, __LINE__, _T("SetMsrParamFile::invalide param pointer.")); return false; } pMsrParamFileMgr->SetMsrParamFile(poMsrParams); return true; } String^ CMsrParamFileMrgClr::GetPathName() { if (m_LpMsrParamFileMrg == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetPathName: invalid pointer")); } CMsrParamFileMgrPtr pMsrParamFileMgr = GetMsrParamFileMgrPtr(); ASSERT(pMsrParamFileMgr); if (!pMsrParamFileMgr) { LogErrorTrace(__FILE__, __LINE__, _T("GetPathName: invalid pointer")); } System::String ^StrPathName = gcnew String((pMsrParamFileMgr->GetPathName()).GetBuffer()); return StrPathName; } CMsrParamsClr^ CMsrParamFileMrgClr::GetMsrParams() { if (m_LpMsrParamFileMrg == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetMsrParams: invalid pointer")); return nullptr; } CMsrParamFileMgrPtr pMsrParamFileMgr = GetMsrParamFileMgrPtr(); ASSERT(pMsrParamFileMgr); if (!pMsrParamFileMgr) { LogErrorTrace(__FILE__, __LINE__, _T("GetMsrParams: invalid pointer")); } CMsrParamsPtr pMsrParams = pMsrParamFileMgr->GetMsrParams(); ASSERT(pMsrParams); if (!pMsrParams) { LogErrorTrace(__FILE__, __LINE__, _T("GetMsrParams: invalid pointer")); } CMsrParamsClr^ MsrParamsClr = gcnew CMsrParamsClr(pMsrParams); return MsrParamsClr; } }