// DlgCfgSys.cpp : implementation file
//

#include "stdafx.h"
#include "NetSdkDemo.h"
#include "DlgCfgSys.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgCfgSys dialog


CDlgCfgSys::CDlgCfgSys(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgCfgSys::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgCfgSys)
	m_szDevName = _T("");
	//}}AFX_DATA_INIT
	m_bGetParam = FALSE;
}


void CDlgCfgSys::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgCfgSys)
	DDX_Text(pDX, IDC_EDT_DEVNAME, m_szDevName);
	DDV_MaxChars(pDX, m_szDevName, 64);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgCfgSys, CDialog)
	//{{AFX_MSG_MAP(CDlgCfgSys)
	ON_BN_CLICKED(IDC_BTN_SAVE, OnBtnSave)
	ON_BN_CLICKED(IDC_BTN_DEFAULT, OnBtnDefault)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgCfgSys message handlers
BOOL CDlgCfgSys::GetEnvParam()
{
	int iRet;
	//if(m_bGetParam)
	//	return TRUE;
	char szDevName[MR_SLEN_DEVNAME * 2];
	iRet = librmconfc_env_get(g_envDev.szIP, g_envDev.wPort, g_envDev.szUserName, g_envDev.szPassword, NULL,
				MRCONFC_ENVCMD_SYSATTR, sizeof(MRCONFC_SYSATTR_CFG), &m_stSysAttr);
	if(iRet)
	{
		AfxMessageBox("获得参数失败!");
		return FALSE;
	}
	CCodeTransfer::utf8tomultibyte(m_stSysAttr.szDevName, szDevName, sizeof(szDevName));
	m_szDevName = szDevName;
	((CComboBox*)GetDlgItem(IDC_CMB_LAUNAGE))->SetCurSel(m_stSysAttr.nLanguage == MR_LANGUAGE_CHINESE_SIMPLIFIED ? 0 : 1);
	UpdateData(FALSE);
	m_bGetParam = TRUE;
	return TRUE;
}

void CDlgCfgSys::OnBtnSave() 
{
	int iRet;
	if(!m_bGetParam)
		return;
	if(!UpdateData())
		return;
	CCodeTransfer::multibytetoutf8(m_szDevName, m_stSysAttr.szDevName, sizeof(m_stSysAttr.szDevName));
	m_stSysAttr.nLanguage = ((CComboBox*)GetDlgItem(IDC_CMB_LAUNAGE))->GetCurSel() == 0 ? MR_LANGUAGE_CHINESE_SIMPLIFIED : MR_LANGUAGE_ENGLISH;
	iRet = librmconfc_env_set(g_envDev.szIP, g_envDev.wPort, g_envDev.szUserName, g_envDev.szPassword, NULL,
		MRCONFC_ENVCMD_SYSATTR, sizeof(MRCONFC_SYSATTR_CFG), &m_stSysAttr);
	if(iRet)
	{
		AfxMessageBox("保持参数失败!");
		return;
	}
}

void CDlgCfgSys::OnBtnDefault() 
{
	int iRet;
	if(AfxMessageBox("确定要恢复出厂默认吗?", MB_YESNO|MB_ICONQUESTION) != IDYES)
		return;
	iRet = librmconfc_syscontrol(g_envDev.szIP, g_envDev.wPort, g_envDev.szUserName, g_envDev.szPassword, NULL,
		MRCONFC_CTRLCMD_DEFAULT, 0, NULL);
	if(iRet)
	{
		AfxMessageBox("恢复出厂默认失败!");
	}
}
