DLConfig.cpp 1.79 KB

#include "stdafx.h"
#include "DLConfig.h"

#include <sstream>

#include "mangerCmd.h"
#include "commonCmd.h"
#include "afxinet.h" 
#include <string>
#include <cstdint>
#include "tinyxml.h"


CDLConfig::CDLConfig():
m_u16Port(0), m_u32PWMPort(0), m_iEncryptType(0)
{
}

CDLConfig::~CDLConfig()
{}

bool CDLConfig::ReadConfig()
{
	bool bResult = false;

	CString sXMLPath = /*GetModulePath() +*/ L".\\Config\\PWMConfig.xml";

	TiXmlDocument xmlDoc(wstr_2_str(sXMLPath.GetBuffer()).c_str());
	if (xmlDoc.LoadFile())
	{
		try
		{
			bResult = true;
			TiXmlElement *pRootEle = xmlDoc.RootElement();
			TiXmlElement *pPWMIP = pRootEle->FirstChildElement();
			m_sPWMIP = pPWMIP->GetText();
			TiXmlElement *pPWMPort = pPWMIP->NextSiblingElement();
			std::string sPWMPort = pPWMPort->GetText();
			m_u32PWMPort = atoi(sPWMPort.c_str());
			TiXmlElement *pHost = pPWMPort->NextSiblingElement();
			m_sHost = pHost->GetText();
			TiXmlElement *pPort = pHost->NextSiblingElement();
			std::string sPort = pPort->GetText();
			m_u16Port = atoi(sPort.c_str());
			TiXmlElement *pUsePWM = pPort->NextSiblingElement();
			std::string sUsePWM = pUsePWM->GetText();
			if (sUsePWM.compare("0") == 0)
			{
				m_iEncryptType = 0;
			}
			else
			{
				m_iEncryptType = 1;
			}
			TiXmlElement *pSecurityLevel = pUsePWM->NextSiblingElement();
			std::string sSecurityLevel = pSecurityLevel->GetText();
			std::stringstream ssTemp;
			ssTemp << sSecurityLevel;
			ssTemp >> m_iSecurityLevel;
		}
		catch (...)
		{
			bResult = false;
		}
	}

	return bResult;
}

CString CDLConfig::GetModulePath()
{
	CString sPath;

	TCHAR szPath[MAX_PATH];
	GetModuleFileName(NULL, szPath, MAX_PATH);
	CString sMudolePath = szPath;
	CString sMudoleName = AfxGetAppName();
	sPath = sMudolePath.Left(sMudolePath.GetLength() - sMudoleName.GetLength() - 4);
	return sPath;
}